loader.OSMLoader
osm.loader.OSMLoader(osm_tags, aligner)Loader for OpenStreetMap (OSM) features based on specific tags.
This loader uses the osmnx library to fetch geographical features from OpenStreetMap within a buffered bounding box of the thematic data. It automatically handles Coordinate Reference System (CRS) transformations between the project CRS and the WGS84 system required by OSM.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| osm_tags | dict | A dictionary of OSM tags used to filter features (e.g., {‘highway’: True} of {‘building’: ‘industrial’}). | required |
| aligner | Aligner | The aligner object providing the spatial context, target CRS, and logger. | required |
Attributes
| Name | Type | Description |
|---|---|---|
| aligner | Aligner | Reference to the parent aligner object. |
| osm_tags | dict | The tags used for filtering OSM data. |
| data_dict_source | dict | Metadata dictionary tracking the data source (“OSM”) and version date. |
| versiondate_info | dict | Dictionary specifying the version date field name and format. |
Methods
| Name | Description |
|---|---|
| load_data | Download and process OSM features. |
load_data
osm.loader.OSMLoader.load_data()Download and process OSM features.
The process involves: 1. Buffering the thematic union to define the search area. 2. Transforming the search area to WGS84 (EPSG:4326). 3. Fetching features via osmnx based on the provided tags. 4. Re-projecting the downloaded features back to the Aligner’s CRS.
Returns
| Name | Type | Description |
|---|---|---|
| Any | The result of the parent DictLoader’s load_data method, containing the downloaded geometries and metadata. |
Raises
| Name | Type | Description |
|---|---|---|
| ValueError | If thematic data has not been loaded into the aligner prior to calling this method. |
Notes
The search area is expanded using OSM_MAX_REFERENCE_BUFFER to ensure that reference features partially outside the thematic area are fully captured for alignment.