- momepy.roundabout_simplification(edges, polys=None, area_col='area', circom_threshold=0.7, area_threshold=0.85, include_adjacent=True, diameter_factor=1.5, center_type='centroid', angle_threshold=0)#
Selects the roundabouts from
polysto create a center point to merge all incoming edges. If None is passed, the function will perform shapely polygonization.
edgesattributes are preserved and roundabouts are deleted. Note that some attributes, like length, may no longer reflect the reality of newly constructed geometry.
include_adjacentis True, adjacent polygons to the actual roundabout are also selected for simplification if two conditions are met:
the area of adjacent polygons is less than the actual roundabout
adjacent polygons do not extend beyond a factor of the diameter of the actual
roundabout. This uses hausdorff_distance algorithm.
GeoDataFrame containing LineString geometry of urban network
GeoDataFrame containing Polygon geometry derived from polygonyzing
Column name containing area values if
polysGeoDataFrame contains such information. Otherwise, it will
- circom_thresholdfloat (default 0.7)
Circular compactness threshold to select roundabouts from
polysGeoDataFrame. Polygons with a higher or equal threshold value will be considered for simplification.
- area_thresholdfloat (default 0.85)
Percentile threshold value from the area of
polysto leave as input geometry. Polygons with a higher or equal threshold will be considered as urban blocks not considered for simplification.
- include_adjacentboolean (default True)
Adjacent polygons to be considered also as part of the simplification.
- diameter_factorfloat (default 1.5)
The factor to be applied to the diameter of each roundabout that determines how far an adjacent polygon can stretch until it is no longer considered part of the overall roundabout group. Only applyies when include_adjacent = True.
- center_typestring (default ‘centroid’)
Method to use for converging the incoming LineStrings. Current list of options available : ‘centroid’, ‘mean’. - ‘centroid’: selects the centroid of the actual roundabout (ignoring adjacent geometries) - ‘mean’: calculates the mean coordinates from the points of polygons (including
- angle_thresholdint, float (default 0)
The angle threshold for the COINS algorithm. Only used when multiple incoming LineStrings arrive at the same Point to the roundabout or to the adjacent polygons if set as True. eg. when two ‘edges’ touch the roundabout at the same point, COINS algorithm will evaluate which of those incoming lines should be extended according to their deflection angle. Segments will only be considered a part of the same street if the deflection angle is above the threshold.
GeoDataFrame with an updated geometry and an additional column labeling modified edges.