Skip to content

Commit 6184c1e

Browse files
author
Nathaniel Henry
committed
Drop unmatched block rows from the geopandas join
1 parent 7870f2d commit 6184c1e

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/closecity/spatial.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,10 @@ def _blocks_gdf(rows, block_geometry, geoid_col, crs, fetch, gpd):
108108
if crs is not None and geo.crs is not None and str(geo.crs) != str(crs):
109109
geo = geo.to_crs(crs)
110110
merged = df.merge(geo[["geoid", "geometry"]], on = "geoid", how = "left")
111-
return gpd.GeoDataFrame(merged, geometry = "geometry", crs = crs)
111+
out = gpd.GeoDataFrame(merged, geometry = "geometry", crs = crs)
112+
# Drop rows whose GEOID had no TIGER match (e.g. water blocks); they have no
113+
# geometry and would break plotting and spatial joins.
114+
return out[out.geometry.notna()].reset_index(drop = True)
112115

113116

114117
def to_geopandas(

0 commit comments

Comments
 (0)