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.

primary_barriersGeoDataFrame, GeoSeries

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

limitGeoDataFrame, GeoSeries, shapely geometry (default None)

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.


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

enclosure_idstr (default ‘eID’)

name of the enclosure_id (to be created).

clipbool (default False)

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


GeoDataFrame containing enclosure geometries and enclosure_id


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