momepy.enclosures

momepy.enclosures(primary_barriers, limit=None, additional_barriers=None, enclosure_id='eID', clip=False)[source]

Generate enclosures based on passed barriers. Enclosures are areas enclosed from all sides by at least one type of a barrier. Barriers are typically roads, railways, natural features like rivers and other water bodies or coastline. Enclosures are a result of polygonization of the primary_barrier and limit and its subdivision based on additional_barriers.

Parameters:
primary_barriers : GeoDataFrame, GeoSeries

A GeoDataFrame or GeoSeries containing primary barriers. (Multi)LineString geometry is expected.

limit : GeoDataFrame, GeoSeries, shapely geometry (default None)

A GeoDataFrame, GeoSeries or shapely geometry containing external limit of enclosures, i.e. the area which gets partitioned. If None is passed, the internal area of primary_barriers will be used.

additional_barriers : list[GeoDataFrame | GeoSeries]

A list of GeoDataFrames or GeoSeries containing additional barriers.

enclosure_id : str (default 'eID')

The name of the enclosure_id (to be created).

clip : bool (default False)

If True, returns enclosures with representative point within the limit (if given). Requires limit composed of Polygon or MultiPolygon geometries.

Returns:

enclosures – A GeoDataFrame containing enclosure geometries and enclosure_id.

Return type:

GeoDataFrame

Examples

>>> enclosures = mm.enclosures(streets, admin_boundary, [railway, rivers])