Add retain_all option to get_streets()

Add retain_all option so that separate graphs can be kept instead of only keeping the largest.
This commit is contained in:
Colm McDonald
2021-08-28 23:41:42 +01:00
parent aa1376a2a3
commit 5e3a69d1f3

View File

@@ -80,7 +80,7 @@ def get_geometries(perimeter = None, point = None, radius = None, tags = {}, per
return geometries return geometries
# Get streets # Get streets
def get_streets(perimeter = None, point = None, radius = None, layer = 'streets', width = 6, custom_filter = None, buffer = 0,circle = True, dilate = 0): def get_streets(perimeter = None, point = None, radius = None, layer = 'streets', width = 6, custom_filter = None, buffer = 0, retain_all = False, circle = True, dilate = 0):
if layer == 'streets': if layer == 'streets':
layer = 'highway' layer = 'highway'
@@ -94,7 +94,7 @@ def get_streets(perimeter = None, point = None, radius = None, layer = 'streets'
# Boundary defined by polygon (perimeter) # Boundary defined by polygon (perimeter)
elif (point is not None) and (radius is not None): elif (point is not None) and (radius is not None):
# Fetch streets data, save CRS & project # Fetch streets data, save CRS & project
streets = ox.graph_from_point(point, dist = radius+dilate+buffer, custom_filter = custom_filter) streets = ox.graph_from_point(point, dist = radius+dilate+buffer, retain_all = retain_all, custom_filter = custom_filter)
crs = ox.graph_to_gdfs(streets, nodes = False).crs crs = ox.graph_to_gdfs(streets, nodes = False).crs
streets = ox.project_graph(streets) streets = ox.project_graph(streets)
# Compute perimeter from point & CRS # Compute perimeter from point & CRS