Skip to content

Case Catalog

GeoCase ships 174 curated geospatial test cases. Every case is addressable by ID from a plain pytest test.

Use GeoCase in your tests

Install the complete set of vector, raster, and NetCDF dependencies:

pip install "geocase[all]"

View GeoCase on PyPI.

Compare all cases side by side in one filterable, sortable table.

Reading the diagrams

Vector case pages render the case's actual geometry, projected to fit a fixed viewport. Raster pages carry a schematic of structure instead: the band stack, pixel grid, and NoData marker, drawn from metadata.

What a diagram does and does not tell you

Vector previews are real coordinates, but scale is not comparable. Each is fitted to the viewport independently, so a continent-sized polygon and a metre-sized one can look identical. A handful of cases are deliberately malformed and cannot be loaded at all; those fall back to a generic shape for their geometry type and say so in the caption.

Raster previews are real pixels, but contrast-stretched. Brightness is relative to each case's own range, so it carries no absolute value; NoData is painted magenta, a colour no valid pixel can take. A raster that declares no pixel shape gets a band-structure schematic instead, which shows that there are pixels and not their values. NetCDF cases have no diagram at all. Load the case to see the actual data.

Browse by risk type

Start here if you know the failure mode you want to test against.

The vocabulary is canonical and closed: terms are family/specific, and a selector matches either the full term or the bare family prefix, so risk_types_any=["crs"] selects the whole CRS family. In Python, geocase.risk_types() returns this table as a mapping.

attribute/

Select the whole family with geocase.list_cases(risk_types_any=["attribute"]).

Risk type Cases Where
attribute/corruption 1 shapefile_encoding_legacy
attribute/encoding_error 2 mixed_encoding_attributes, shapefile_encoding_legacy
attribute/field_name_truncation 1 shapefile_field_truncation
attribute/loss 4 format_limited_kml_case, mixed_encoding_attributes, parquet_mixed_schema_attributes, shapefile_field_truncation
attribute/mojibake 2 mixed_encoding_attributes, shapefile_encoding_legacy
attribute/schema_mismatch 3 format_limited_kml_case, parquet_mixed_schema_attributes, shapefile_field_truncation
attribute/timezone_normalization 1 mixed_timezone_after_batch_gpkg
attribute/type_coercion 1 format_limited_kml_case

band/

Select the whole family with geocase.list_cases(risk_types_any=["band"]).

Risk type Cases Where
band/alias_ambiguity 3 overlap_group_centre, overlap_group_north, overlap_group_south
band/dimension_mismatch 3 cf_time_ordering_netcdf, polygon_z_gpkg, polygon_z_wkb
band/incorrect_order 4 geotiff_multiband_small, multispectral_s2_like_small, optical_rgb_small, sar_dualpol_small
band/loss 7 cog_multispectral_small, geotiff_multiband_small, multispectral_mixed_resolution_small, multispectral_s2_like_small, optical_rgb_small, sar_dualpol_small, and 1 more
band/stacking_order_ignored 3 overlap_group_centre, overlap_group_north, overlap_group_south

crs/

Select the whole family with geocase.list_cases(risk_types_any=["crs"]).

Risk type Cases Where
crs/axis_order 7 cf_time_ordering_netcdf, linestring_gml_baseline, multilinestring_gml_baseline, multipoint_gml_baseline, multipolygon_gml_baseline, point_gml_baseline, and 1 more
crs/lat_lon_swap 1 out_of_bounds_coordinates
crs/local_distortion 1 dateline_chain_cluster
crs/mishandled 2 optical_equator_small, optical_polar_small
crs/mismatch 1 crs_mismatch_overlay_pair
crs/projected_coordinate_assumption 1 web_mercator_baseline
crs/projection_failure 1 out_of_bounds_coordinates
crs/reprojection_error 7 crs_family_pair_geographic, crs_family_pair_projected, crs_mismatch_overlay_pair, dateline_crossing_polygon, geotiff_utm_boundary, rasterize_match_wgs84_polygon, and 1 more
crs/units 2 crs_family_pair_geographic, crs_family_pair_projected
crs/zone_selection 9 dateline_points_pair, equator_polygon, geotiff_utm_boundary, svalbard_special_zone_polygon, utm_zone_1n_small, utm_zone_33_polygon, and 3 more

data/

Select the whole family with geocase.list_cases(risk_types_any=["data"]).

Risk type Cases Where
data/ambiguous_engine_dependent 1 ambiguous_engine_dependent_polygon
data/coordinate_edge_case 2 north_pole_point, south_pole_point
data/linear_artifacts_after_repair 1 spike_invalid_polygon
data/nan_propagation 1 geotiff_nodata_small
data/projection_assumptions 1 optical_polar_small
data/quality 1 null_island_point
data/silent_bad_data 1 null_island_point

dtype/

Select the whole family with geocase.list_cases(risk_types_any=["dtype"]).

Risk type Cases Where
dtype/coercion 4 geotiff_float64_small, geotiff_int16_small, geotiff_int32_small, geotiff_int8_small
dtype/drift 11 cog_singleband_small, dem_small, mixed_timezone_after_batch_gpkg, multispectral_s2_like_small, ndvi_scaled_int16_small, ndvi_small, and 5 more
dtype/nullable_coercion 1 parquet_mixed_schema_attributes
dtype/overflow 1 geotiff_int8_small
dtype/range_assumption 1 geotiff_int16_small
dtype/range_truncation 1 geotiff_int32_small
dtype/value_range_violation 1 ndvi_small

extent/

Select the whole family with geocase.list_cases(risk_types_any=["extent"]).

Risk type Cases Where
extent/antimeridian 4 antimeridian_crossing_line, optical_dateline_small, optical_dateline_west_small, wrapped_longitude_point
extent/bbox_misinterpretation 2 classic_antimeridian_polygon, dateline_crossing_polygon
extent/bounds_normalization 2 optical_dateline_small, optical_dateline_west_small
extent/coordinate_range_error 1 out_of_bounds_coordinates
extent/coordinate_sign_assumption 1 equator_crossing_line
extent/coordinate_wrapping 5 classic_antimeridian_polygon, dateline_chain_cluster, dateline_crossing_polygon, dateline_points_pair, optical_dateline_west_small
extent/equatorial 2 equator_crossing_line, equator_polygon
extent/polar 5 north_pole_point, north_pole_polygon, south_pole_point, south_pole_polygon, svalbard_special_zone_polygon

failure_mode/

Select the whole family with geocase.list_cases(risk_types_any=["failure_mode"]).

Risk type Cases Where
failure_mode/consumer 8 bottom_up_dem_small, dem_nan_nodata_small, geotiff_int8_small, landcover_ambiguous_zero_small, pixel_is_area_dem_small, pixel_is_point_dem_small, and 2 more
failure_mode/reference_implementation 10 numeric_boundary_15_significant_digits, numeric_boundary_17_significant_digits, numeric_boundary_1e13, numeric_boundary_1e14, numeric_boundary_1e15, numeric_boundary_trailing_nines, and 4 more

footprint/

Select the whole family with geocase.list_cases(risk_types_any=["footprint"]).

Risk type Cases Where
footprint/generation_error 5 all_valid_rectangular, hole_center_nodata, nonsquare_diagonal_sparse, rotated_two_islands, thin_corridor_shape
footprint/geocoding_failure 1 null_island_point

format/

Select the whole family with geocase.list_cases(risk_types_any=["format"]).

Risk type Cases Where
format/arrow_ipc_behavior 2 linestring_geoarrow_baseline, point_arrow_baseline
format/binary_geometry_parsing 1 polygon_wkb_baseline
format/columnar_storage_behavior 5 multilinestring_parquet_baseline, multipoint_feather_baseline, parquet_mixed_schema_attributes, point_feather_baseline, polygon_parquet_baseline
format/driver_behavior 3 linestring_flatgeobuf_baseline, point_flatgeobuf_baseline, polygon_flatgeobuf_baseline
format/limitation 7 empty_geometry_gpkg, format_limited_kml_case, format_limited_precision_polygon, precision_loss_geojson_roundtrip, shapefile_encoding_legacy, shapefile_field_truncation, and 1 more
format/not_tiled 2 cog_multispectral_small, cog_singleband_small
format/overviews_missing 3 cog_multispectral_small, cog_singleband_small, geotiff_external_overviews_small
format/partial_read_blind_spot 3 invalid_geometry_at_scale_gpkg, mixed_timezone_after_batch_gpkg, null_after_batch_boundary_gpkg
format/sidecar_dropped 1 geotiff_external_overviews_small
format/spatial_index_failure 1 out_of_bounds_coordinates
format/spec_nonconformance 1 mixed_timezone_after_batch_gpkg
format/sqlite_driver_behavior 1 polygon_sqlite_baseline
format/text_geometry_parsing 2 linestring_csv_wkt_baseline, polygon_wkt_baseline
format/xml_driver_behavior 4 point_gml_baseline, point_kml_baseline, polygon_gml_baseline, polygon_kml_baseline

geometry/

Select the whole family with geocase.list_cases(risk_types_any=["geometry"]).

Risk type Cases Where
geometry/degenerate_but_parseable 1 degenerate_but_parseable_line
geometry/empty 2 empty_geometry_gpkg, empty_polygon
geometry/false_positive_intersection 1 disjoint_polygons
geometry/mixed_output 2 geometrycollection_mixed_valid, spike_invalid_polygon
geometry/null_empty_conflation 2 empty_geometry_gpkg, null_after_batch_boundary_gpkg
geometry/overaggressive_dissolve 1 disjoint_polygons
geometry/parse_exception 1 unclosed_ring_polygon
geometry/repair_variability 2 ambiguous_engine_dependent_polygon, spike_invalid_polygon
geometry/ring_closure 1 unclosed_ring_polygon
geometry/ring_orientation 2 polygon_with_hole, shapefile_ring_orientation
geometry/silent_invalid 4 invalid_geometry_at_scale_gpkg, out_of_bounds_coordinates, self_intersecting_polygon, unclosed_ring_polygon
geometry/simplification_loss 1 thin_corridor_shape
geometry/topology_error 3 ambiguous_engine_dependent_polygon, self_intersecting_polygon, unclosed_ring_polygon
geometry/transitive_cluster_split 1 dateline_chain_cluster
geometry/zero_length 1 degenerate_but_parseable_line

measurement/

Select the whole family with geocase.list_cases(risk_types_any=["measurement"]).

Risk type Cases Where
measurement/area_distortion 2 north_pole_polygon, south_pole_polygon
measurement/distance_error 3 antimeridian_crossing_line, dateline_points_pair, nearby_points_cluster
measurement/incorrect_area 2 polygon_with_hole, self_intersecting_polygon
measurement/incorrect_statistics 1 geotiff_nodata_small
measurement/invalid 1 degenerate_but_parseable_line

nodata/

Select the whole family with geocase.list_cases(risk_types_any=["nodata"]).

Risk type Cases Where
nodata/ambiguous_zero 1 landcover_ambiguous_zero_small
nodata/default_value_sink 1 null_island_point
nodata/ignored 23 bottom_up_dem_small, cog_multispectral_small, dem_nan_nodata_small, dem_small, geotiff_float64_small, geotiff_int16_small, and 17 more
nodata/mask_misread 1 water_mask_small
nodata/nan_mishandled 2 dem_nan_nodata_small, dem_small

precision/

Select the whole family with geocase.list_cases(risk_types_any=["precision"]).

Risk type Cases Where
precision/coordinate_drift 1 precision_loss_geojson_roundtrip
precision/denormal_magnitude 3 numeric_boundary_1e13, numeric_boundary_1e14, numeric_boundary_1e15
precision/formatter_boundary 7 numeric_boundary_15_significant_digits, numeric_boundary_17_significant_digits, numeric_boundary_1e13, numeric_boundary_1e14, numeric_boundary_1e15, numeric_boundary_trailing_nines, and 1 more
precision/loss 7 format_limited_precision_polygon, geotiff_float64_small, numeric_boundary_1e14, numeric_boundary_trailing_nines, numeric_boundary_trailing_zeros, polygon_z_gpkg, and 1 more
precision/roundtrip_degradation 2 numeric_boundary_17_significant_digits, precision_loss_geojson_roundtrip
precision/significant_digits 3 numeric_boundary_15_significant_digits, numeric_boundary_17_significant_digits, numeric_boundary_1e15

scaling/

Select the whole family with geocase.list_cases(risk_types_any=["scaling"]).

Risk type Cases Where
scaling/category_misread 2 landcover_ambiguous_zero_small, landcover_small
scaling/colormap_dropped 1 landcover_small
scaling/ignored 2 ndvi_packed_netcdf, ndvi_scaled_int16_small
scaling/incorrect_rendering 1 antimeridian_crossing_line
scaling/pixel_lattice_misclassification 1 geotiff_nodata_small_shifted

transform/

Select the whole family with geocase.list_cases(risk_types_any=["transform"]).

Risk type Cases Where
transform/alignment_too_strict 1 geotiff_nodata_small_shifted
transform/bottom_up 3 bottom_up_dem_small, bottom_up_only_square, rotated_bottom_up_small
transform/nonsquare_pixels 2 nonsquare_diagonal_sparse, rotated_nonsquare_small
transform/pixel_anchor 2 pixel_is_area_dem_small, pixel_is_point_dem_small
transform/pixel_shift 1 geotiff_utm_boundary
transform/rasterization_alignment 2 rasterize_match_utm33_polygon, rasterize_match_wgs84_polygon
transform/resampling_assumptions 1 multispectral_mixed_resolution_small
transform/resolution_mismatch 1 multispectral_mixed_resolution_small
transform/rotated 6 rotated_bottom_up_small, rotated_nonsquare_small, rotated_only_square, rotated_steep_small, rotated_two_islands, rotated_two_islands_warped
transform/shifted_origin 1 geotiff_nodata_small_shifted

Browse by format

Format Cases
Arrow 1
CSV_WKT 6
Feather 2
FlatGeobuf 6
GML 6
GPKG 13
GeoArrow 1
GeoJSON 51
GeoTIFF 47
KML 7
NetCDF 3
Parquet 3
SQLite 6
Shapefile 9
WKB 7
WKT 6

All cases by category

netcdf (3)

Case Format Geometry Risk types
CF Time Units and Non-Conventional Dimension Order NetCDF -- band/dimension_mismatch, crs/axis_order
Lat/Lon Small NetCDF NetCDF -- nodata/ignored
Packed int16 NDVI (NetCDF) NetCDF -- nodata/ignored, scaling/ignored

raster (47)

Case Format Geometry Risk types
All Valid Rectangular Raster GeoTIFF -- footprint/generation_error
Bottom-Up DEM (Positive Y Resolution) GeoTIFF -- failure_mode/consumer, nodata/ignored, transform/bottom_up
Bottom-Up Square (Positive E and Nothing Else) GeoTIFF -- transform/bottom_up
COG Multispectral Small GeoTIFF -- band/loss, format/not_tiled, format/overviews_missing, nodata/ignored
COG Single-Band Small GeoTIFF -- dtype/drift, format/not_tiled, format/overviews_missing
CRS Family Pair -- Geographic (WGS 84) GeoTIFF -- crs/reprojection_error, crs/units
CRS Family Pair -- Projected (UTM 33N) GeoTIFF -- crs/reprojection_error, crs/units
DEM NaN NoData Small GeoTIFF -- failure_mode/consumer, nodata/ignored, nodata/nan_mishandled
DEM Small GeoTIFF -- dtype/drift, nodata/ignored, nodata/nan_mishandled
GeoTIFF External Overviews Small GeoTIFF -- format/overviews_missing, format/sidecar_dropped
GeoTIFF Float64 Small GeoTIFF -- dtype/coercion, nodata/ignored, precision/loss
GeoTIFF Int16 Small GeoTIFF -- dtype/coercion, dtype/range_assumption, nodata/ignored
GeoTIFF Int32 Small GeoTIFF -- dtype/coercion, dtype/range_truncation, nodata/ignored
GeoTIFF Int8 Small GeoTIFF -- dtype/coercion, dtype/overflow, failure_mode/consumer, nodata/ignored
GeoTIFF Multi-Band Small GeoTIFF -- band/incorrect_order, band/loss, nodata/ignored
GeoTIFF NoData Small GeoTIFF -- data/nan_propagation, measurement/incorrect_statistics, nodata/ignored
GeoTIFF NoData Small Shifted GeoTIFF -- scaling/pixel_lattice_misclassification, transform/alignment_too_strict, transform/shifted_origin
GeoTIFF UTM Boundary GeoTIFF -- crs/reprojection_error, crs/zone_selection, transform/pixel_shift
Hole Center NoData Raster GeoTIFF -- footprint/generation_error, nodata/ignored
Land Cover With Ambiguous Zero GeoTIFF -- failure_mode/consumer, nodata/ambiguous_zero, nodata/ignored, scaling/category_misread
Land Cover Small GeoTIFF -- scaling/category_misread, scaling/colormap_dropped
Multispectral Mixed Resolution Small GeoTIFF -- band/loss, transform/resampling_assumptions, transform/resolution_mismatch
Multispectral Sentinel-2-like Small GeoTIFF -- band/incorrect_order, band/loss, dtype/drift, nodata/ignored
NDVI Scaled Int16 Small GeoTIFF -- dtype/drift, nodata/ignored, scaling/ignored
NDVI Small GeoTIFF -- dtype/drift, dtype/value_range_violation
Nodata Only (One Sentinel, North-Up, Unrotated) GeoTIFF -- nodata/ignored
Nonsquare Diagonal Sparse Raster GeoTIFF -- footprint/generation_error, transform/nonsquare_pixels
Optical Dateline Small GeoTIFF -- extent/antimeridian, extent/bounds_normalization, failure_mode/reference_implementation
Optical Dateline West Small GeoTIFF -- extent/antimeridian, extent/bounds_normalization, extent/coordinate_wrapping, failure_mode/reference_implementation
Optical Equator Small GeoTIFF -- crs/mishandled
Optical Polar Small GeoTIFF -- crs/mishandled, data/projection_assumptions
Optical RGB Small GeoTIFF -- band/incorrect_order, band/loss, dtype/drift
Overlap Group -- Centre GeoTIFF -- band/alias_ambiguity, band/stacking_order_ignored, nodata/ignored
Overlap Group -- North GeoTIFF -- band/alias_ambiguity, band/stacking_order_ignored, nodata/ignored
Overlap Group -- South GeoTIFF -- band/alias_ambiguity, band/stacking_order_ignored, nodata/ignored
Pixel-Is-Area DEM GeoTIFF -- failure_mode/consumer, nodata/ignored, transform/pixel_anchor
Pixel-Is-Point DEM GeoTIFF -- failure_mode/consumer, nodata/ignored, transform/pixel_anchor
Rotated Bottom-Up DEM (Skew and Positive Y Resolution) GeoTIFF -- transform/bottom_up, transform/rotated
Rotated Raster with Non-Square Pixels GeoTIFF -- transform/nonsquare_pixels, transform/rotated
Rotated Square (Rotation and Nothing Else) GeoTIFF -- transform/rotated
Steeply Rotated DEM (40-Degree Skew) GeoTIFF -- transform/rotated
Rotated Two Islands Raster GeoTIFF -- failure_mode/consumer, footprint/generation_error, transform/rotated
Rotated Two Islands With Warped Reference GeoTIFF -- transform/rotated
SAR Dual-Pol Small GeoTIFF -- band/incorrect_order, band/loss, dtype/drift
SAR VV Small GeoTIFF -- band/loss, dtype/drift
Thin Corridor Shape Raster GeoTIFF -- footprint/generation_error, geometry/simplification_loss
Water Mask Small GeoTIFF -- dtype/drift, failure_mode/consumer, nodata/ignored, nodata/mask_misread

vector (124)

Case Format Geometry Risk types
Ambiguous Engine-dependent Polygon GeoJSON Polygon data/ambiguous_engine_dependent, geometry/repair_variability, geometry/topology_error
Antimeridian Crossing LineString GeoJSON LineString extent/antimeridian, measurement/distance_error, scaling/incorrect_rendering
Classic Antimeridian Polygon GeoJSON Polygon extent/bbox_misinterpretation, extent/coordinate_wrapping
CRS Mismatch Overlay Pair GeoJSON Polygon crs/mismatch, crs/reprojection_error
Dateline Chain Cluster GeoJSON Point crs/local_distortion, extent/coordinate_wrapping, geometry/transitive_cluster_split
Dateline crossing polygon GeoJSON Polygon crs/reprojection_error, extent/bbox_misinterpretation, extent/coordinate_wrapping
Dateline Points Pair GeoJSON Point crs/zone_selection, extent/coordinate_wrapping, measurement/distance_error
Degenerate but Parseable Line GeoJSON LineString geometry/degenerate_but_parseable, geometry/zero_length, measurement/invalid
Dense Ring Polygon (4096 vertices) GeoJSON Polygon --
Dense Ring Polygon (4096 vertices, GeoPackage) GPKG Polygon --
Disjoint Polygons GeoJSON Polygon geometry/false_positive_intersection, geometry/overaggressive_dissolve
Empty Geometry in GeoPackage GPKG Point format/limitation, geometry/empty, geometry/null_empty_conflation
Empty Polygon GeoJSON Polygon geometry/empty
Equator Crossing Line GeoJSON LineString extent/coordinate_sign_assumption, extent/equatorial
Equator-Crossing Polygon GeoJSON Polygon crs/zone_selection, extent/equatorial
Format-Limited KML Case KML Polygon attribute/loss, attribute/schema_mismatch, attribute/type_coercion, format/limitation
Format-limited Precision Polygon GeoJSON Polygon format/limitation, precision/loss
Fractal Coastline Polygon GeoJSON Polygon --
GeometryCollection Mixed Valid GeoJSON GeometryCollection geometry/mixed_output
Invalid Geometry at Feature 9,999 (GeoPackage) GPKG Polygon format/partial_read_blind_spot, geometry/silent_invalid
LineString CSV_WKT Baseline CSV_WKT LineString format/text_geometry_parsing
LineString FlatGeobuf Baseline FlatGeobuf LineString format/driver_behavior
LineString GeoArrow Baseline GeoArrow LineString format/arrow_ipc_behavior
LineString GeoPackage Baseline GPKG LineString --
LineString GML Baseline GML LineString crs/axis_order
LineString KML Baseline KML LineString --
LineString Shapefile Baseline Shapefile LineString --
LineString SQLite Baseline SQLite LineString --
LineString WKB Baseline WKB LineString --
LineString WKT Baseline WKT LineString --
Mixed Encoding Attributes GPKG Point attribute/encoding_error, attribute/loss, attribute/mojibake
UTC Offset Changes at Row 10,000 (GeoPackage) GPKG Point attribute/timezone_normalization, dtype/drift, format/partial_read_blind_spot, format/spec_nonconformance
MultiLineString CSV WKT Baseline CSV_WKT MultiLineString --
MultiLineString FlatGeobuf Baseline FlatGeobuf MultiLineString --
MultiLineString GeoPackage Baseline GPKG MultiLineString --
MultiLineString GML Baseline GML MultiLineString crs/axis_order
MultiLineString KML Baseline KML MultiLineString --
MultiLineString Parquet Baseline Parquet MultiLineString format/columnar_storage_behavior
MultiLineString Shapefile Baseline Shapefile MultiLineString --
MultiLineString SQLite Baseline SQLite MultiLineString --
MultiLineString WKB Baseline WKB MultiLineString --
MultiLineString WKT Baseline WKT MultiLineString --
MultiPoint CSV WKT Baseline CSV_WKT MultiPoint --
MultiPoint Feather Baseline Feather MultiPoint format/columnar_storage_behavior
MultiPoint FlatGeobuf Baseline FlatGeobuf MultiPoint --
MultiPoint GeoPackage Baseline GPKG MultiPoint --
MultiPoint GML Baseline GML MultiPoint crs/axis_order
MultiPoint KML Baseline KML MultiPoint --
MultiPoint Shapefile Baseline Shapefile MultiPoint --
MultiPoint SQLite Baseline SQLite MultiPoint --
MultiPoint WKB Baseline WKB MultiPoint --
MultiPoint WKT Baseline WKT MultiPoint --
MultiPolygon CSV WKT Baseline CSV_WKT MultiPolygon --
MultiPolygon FlatGeobuf Baseline FlatGeobuf MultiPolygon --
MultiPolygon GeoPackage Baseline GPKG MultiPolygon --
MultiPolygon GML Baseline GML MultiPolygon crs/axis_order
MultiPolygon KML Baseline KML MultiPolygon --
MultiPolygon Shapefile Baseline Shapefile MultiPolygon --
MultiPolygon SQLite Baseline SQLite MultiPolygon --
MultiPolygon WKB Baseline WKB MultiPolygon --
MultiPolygon WKT Baseline WKT MultiPolygon --
Nearby Points Cluster GeoJSON Point measurement/distance_error
North Pole Point GeoJSON Point data/coordinate_edge_case, extent/polar
North Pole Polygon GeoJSON Polygon extent/polar, measurement/area_distortion
First NULL After 10,000 Non-NULL Values (GeoPackage) GPKG Point dtype/drift, format/partial_read_blind_spot, geometry/null_empty_conflation
Null Island Point GeoJSON Point data/quality, data/silent_bad_data, footprint/geocoding_failure, nodata/default_value_sink
Numeric Boundary: 15 Significant Digits GeoJSON Point failure_mode/reference_implementation, precision/formatter_boundary, precision/significant_digits
Numeric Boundary: 17 Significant Digits GeoJSON Point failure_mode/reference_implementation, precision/formatter_boundary, precision/roundtrip_degradation, precision/significant_digits
Numeric Boundary: 1e-13 GeoJSON Point failure_mode/reference_implementation, precision/denormal_magnitude, precision/formatter_boundary
Numeric Boundary: 1e-14 GeoJSON Point failure_mode/reference_implementation, precision/denormal_magnitude, precision/formatter_boundary, precision/loss
Numeric Boundary: 1e-15 GeoJSON Point failure_mode/reference_implementation, precision/denormal_magnitude, precision/formatter_boundary, precision/significant_digits
Numeric Boundary: Trailing Nines GeoJSON Point failure_mode/reference_implementation, precision/formatter_boundary, precision/loss
Numeric Boundary: Trailing Zeros GeoJSON Point failure_mode/reference_implementation, precision/formatter_boundary, precision/loss
Out-of-Bounds / Invalid Coordinates GeoJSON Point crs/lat_lon_swap, crs/projection_failure, extent/coordinate_range_error, format/spatial_index_failure, geometry/silent_invalid
Parquet Mixed Schema Attributes Parquet Point attribute/loss, attribute/schema_mismatch, dtype/nullable_coercion, format/columnar_storage_behavior
Point Arrow Baseline Arrow Point format/arrow_ipc_behavior
Point CSV WKT Baseline CSV_WKT Point --
Point Feather Baseline Feather Point format/columnar_storage_behavior
Point FlatGeobuf Baseline FlatGeobuf Point format/driver_behavior
Point GeoPackage Baseline GPKG Point --
Point GML Baseline GML Point crs/axis_order, format/xml_driver_behavior
Point KML Baseline KML Point format/xml_driver_behavior
Point Shapefile Baseline Shapefile Point --
Point SQLite Baseline SQLite Point --
Point WKB Baseline WKB Point --
Point WKT Baseline WKT Point --
Polygon CSV WKT Baseline CSV_WKT Polygon --
Polygon FlatGeobuf Baseline FlatGeobuf Polygon format/driver_behavior
Polygon GeoPackage Baseline GPKG Polygon --
Polygon GML Baseline GML Polygon crs/axis_order, format/xml_driver_behavior
Polygon KML Baseline KML Polygon format/xml_driver_behavior
Polygon Parquet Baseline Parquet Polygon format/columnar_storage_behavior
Polygon Shapefile Baseline Shapefile Polygon --
Polygon SQLite Baseline SQLite Polygon format/sqlite_driver_behavior
Polygon with Hole GeoJSON Polygon geometry/ring_orientation, measurement/incorrect_area
Polygon WKB Baseline WKB Polygon format/binary_geometry_parsing
Polygon WKT Baseline WKT Polygon format/text_geometry_parsing
Polygon Z (GeoPackage) GPKG Polygon band/dimension_mismatch, precision/loss
Polygon Z (WKB) WKB Polygon band/dimension_mismatch
GeoJSON Precision Loss Roundtrip GeoJSON Point failure_mode/reference_implementation, format/limitation, precision/coordinate_drift, precision/loss, precision/roundtrip_degradation
Rasterize Match UTM33 Polygon GeoJSON Polygon transform/rasterization_alignment
Rasterize Match WGS84 Polygon GeoJSON Polygon crs/reprojection_error, transform/rasterization_alignment
Self-Intersecting Polygon GeoJSON Polygon geometry/silent_invalid, geometry/topology_error, measurement/incorrect_area
Shapefile Legacy DBF Encoding Shapefile Point attribute/corruption, attribute/encoding_error, attribute/mojibake, format/limitation
Shapefile Field Name Truncation Shapefile Point attribute/field_name_truncation, attribute/loss, attribute/schema_mismatch, format/limitation
Shapefile Ring Orientation Reversal Shapefile Polygon format/limitation, geometry/ring_orientation
Simple Valid LineString GeoJSON LineString --
Simple Valid MultiLineString GeoJSON MultiLineString --
Simple Valid MultiPoint GeoJSON MultiPoint --
Simple Valid MultiPolygon GeoJSON MultiPolygon --
Simple Valid Point GeoJSON Point --
Simple Valid Polygon GeoJSON Polygon --
South Pole Point GeoJSON Point data/coordinate_edge_case, extent/polar
South Pole Polygon GeoJSON Polygon extent/polar, measurement/area_distortion
Spike Invalid Polygon GeoJSON Polygon data/linear_artifacts_after_repair, geometry/mixed_output, geometry/repair_variability
Svalbard Special Zone Polygon GeoJSON Polygon crs/zone_selection, extent/polar
Unclosed Ring Polygon GeoJSON Polygon geometry/parse_exception, geometry/ring_closure, geometry/silent_invalid, geometry/topology_error
UTM Zone 1N Polygon GeoJSON Polygon crs/zone_selection
UTM Zone 33 Polygon GeoJSON Polygon crs/zone_selection
UTM Zone 33N / 32N Adjacent Pair GeoJSON Polygon crs/zone_selection
UTM Zone 56S Polygon (Sydney) GeoJSON Polygon crs/zone_selection
UTM Zone Boundary Straddle GeoJSON Polygon crs/zone_selection
Web Mercator Baseline Point GeoJSON Point crs/projected_coordinate_assumption, crs/reprojection_error
Wrapped Longitude Point GeoJSON Point extent/antimeridian