Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ geometry-aus-states-convert-local:
--create-pmtiles
geometry-aus-states-provenance-local-db:
csdr provenance geometry \
--id=0b9b8e1a-d20a-41c2-843d-1f2b47d6a512 \
--id=australia-geometries \
--run-id=aus-states-test-run-id \
--geometry-url=./cache/geometries/aus-states/0-0-1/runs/aus-states-test-run-id/STE_2021_AUST_GDA2020.parquet \
--pmtiles-url=./cache/geometries/aus-states/0-0-1/runs/aus-states-test-run-id/STE_2021_AUST_GDA2020.pmtiles \
Expand Down
10 changes: 7 additions & 3 deletions csdr/geometries.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,16 @@
def convert_gdf_row_to_geometry_output(
gdf_row: Series, crs: pyproj_crs.CRS
) -> dict | None:
if not gdf_row.geometry:
geom = gdf_row.geometry
if geom is None or not hasattr(geom, "__geo_interface__"):
# This occurs for example in the ABS Australian States dataset where there are some null geometries
logger.warning(f"Geometry is None for geometry output. {gdf_row['csdr-id']}")
# NaN values (float) also end up here when geometry column has missing data.
logger.warning(
f"Geometry is None or invalid for geometry output. {gdf_row['csdr-id']}"
)
return None # Skip if geometry is None or empty

poly = Geometry(gdf_row.geometry, crs=crs)
poly = Geometry(geom, crs=crs)
properties = gdf_row.drop(labels=["geometry"]).to_dict()

# Clean data, replace NaN with None so that it works in JSON
Expand Down
Loading