Skip to content

Commit 24d4159

Browse files
authored
Change highway filtering to be include rather than exclude by type (#37)
Co-authored-by: Jay Qi <[email protected]>
1 parent 037d04a commit 24d4159

File tree

2 files changed

+153
-169
lines changed

2 files changed

+153
-169
lines changed

notebooks/0.0-jyq-create-points-demo.ipynb

+144-150
Large diffs are not rendered by default.

src/create_points.py

+9-19
Original file line numberDiff line numberDiff line change
@@ -16,46 +16,36 @@
1616
import typer
1717

1818
DEFAULT_MINI_DIST = 20.0 # meters
19-
HIGHWAY_VALUES = {
20-
None,
21-
" ",
22-
"bridleway",
23-
"footway",
24-
"motorway",
25-
"motorway_link",
26-
"pedestrian",
19+
HIGHWAY_VALUES_TO_KEEP = {
2720
"primary",
2821
"primary_link",
2922
"secondary",
3023
"secondary_link",
31-
"service",
32-
"steps",
3324
"tertiary",
3425
"tertiary_link",
35-
"trunk",
36-
"trunk_link",
26+
"residential",
3727
}
3828

3929
app = typer.Typer()
4030

4131

42-
def remove_highways(gdf: gpd.GeoDataFrame):
43-
"""Returns a copy of a GeoDataFrame of OpenStreetMap road features with highways
44-
removed.
32+
def filter_by_highway_type(gdf: gpd.GeoDataFrame):
33+
"""Returns a copy of a GeoDataFrame of OpenStreetMap road features filtered by
34+
highway type.
4535
4636
Args:
4737
gdf (geopandas.GeoDataFrame): OpenStreetMap features.
4838
4939
Returns:
50-
geopandas.GeoDataFrame: Copy of input GeoDataFrame with highway features
51-
removed.
40+
geopandas.GeoDataFrame: Copy of input GeoDataFrame of features filtered by
41+
highway type.
5242
"""
5343
if "highway" not in gdf.columns:
5444
raise ValueError(
5545
"'highway' column not found in input GeoDataFrame. "
5646
"Input data must be of OpenStreetMap roads."
5747
)
58-
out_gdf = gdf[~gdf["highway"].isin(HIGHWAY_VALUES)].copy()
48+
out_gdf = gdf[gdf["highway"].isin(HIGHWAY_VALUES_TO_KEEP)].copy()
5949
return out_gdf
6050

6151

@@ -144,7 +134,7 @@ def main(
144134
] = False,
145135
):
146136
gdf = gpd.read_file(in_file)
147-
gdf = remove_highways(gdf)
137+
gdf = filter_by_highway_type(gdf)
148138
if drop_null:
149139
gdf = gdf[~gdf.geometry.isna()]
150140
else:

0 commit comments

Comments
 (0)