get_layer_name

pydriosm.utils.get_layer_name(stem)[source]

Extract the core OSM layer name from a file stem or layer string.

Uses a regular expression to strip Geofabrik-specific prefixes (gis_osm_) and suffixes (_a_free_1, _free) to return a clean category name.

Parameters:

stem (str) – File stem of a shapefile or a raw layer name from a GeoPackage.

Returns:

The cleaned layer name (e.g., ‘waterways’), or None if no match is found.

Return type:

str | None

Examples:

>>> from pydriosm.utils import get_layer_name
>>> get_layer_name("") is None
True
>>> get_layer_name("gis_osm_railways_free_1.shp")
'railways'
>>> get_layer_name("gis_osm_transport_a_free_1")
'transport'
>>> get_layer_name("gis_osm_protected_areas_a_free")
'protected_areas'
>>> get_layer_name("gis_osm_water_a_free")
'water'