extractor Module¶
Road extraction functionality.
- class geo_sampling.extractor.RoadExtractor(country: str, region: str, admin_level: int = 1, data_dir: str = 'data')[source]¶
Bases:
objectMain class for extracting road segments from OpenStreetMap data.
This class handles the complete workflow: 1. Download administrative boundaries from GADM 2. Generate BBBike extract URLs 3. Download OSM data 4. Extract and segment roads
- get_available_road_types() List[str][source]¶
Get list of available road types in the extracted data.
- Returns:
Sorted list of unique road types
- get_roads(road_types: str | List[str] | None = None, segment_length: int = 500, force_refresh: bool = False) List[RoadSegment][source]¶
Extract road segments for the configured region.
- Parameters:
road_types – Road types to include (None = all types)
segment_length – Target segment length in meters
force_refresh – Force re-download of data
- Returns:
List of RoadSegment objects
- plot(road_types: str | List[str] | None = None, segment_length: int = 500, title: str | None = None, figsize: tuple = (12, 10)) None[source]¶
Plot the extracted road segments.
- Parameters:
road_types – Road types to include
segment_length – Target segment length in meters
title – Plot title (auto-generated if None)
figsize – Figure size
- geo_sampling.extractor.extract_roads(country: str, region: str, admin_level: int = 1, road_types: str | List[str] | None = None, segment_length: int = 500, data_dir: str = 'data') List[RoadSegment][source]¶
Convenience function to extract roads in one call.
- Parameters:
country – Country name
region – Region name
admin_level – Administrative level
road_types – Road types to include
segment_length – Target segment length in meters
data_dir – Data directory
- Returns:
List of RoadSegment objects