marvin
|
0086d8a308
|
Copenhagen Phase 2: prepare.py merges + clips + colours -> master.gpkg
- prepare.py: merge per-mode OSM lines, resolve colours
(GTFS route_color -> OSM colour tag -> keyed palette, robust to pd.NA),
categorise buses (A/C/S/regular via regex), clip lines+stops to area,
write master.gpkg layers (lines/stops/stations)
- download_osm.py: add stations query (public_transport=station /
railway=station nodes+areas, out center) -> stations.gpkg with proper
human-readable names + subway/light_rail mode tags for labelling
- verified: 135 lines (8 metro/16 s-tog/28 regional/83 bus), 90 named
stations, zero NaN colours
|
2026-09-13 01:19:34 +02:00 |
|
marvin
|
ac02320f1d
|
Copenhagen Phase 1: scaffolding + area + OSM download
- pyproject.toml with all deps (geopandas, contextily, partridge, etc.)
- config/: area.json (3 OSM boundary relations), modes.yaml (subway/s_tog/
light_rail/regional/bus, S-tog scoped to route=light_rail network=Takst),
styling.yaml (zorder/widths/colours/palette/mask/labels)
- build_area.py: fetch 3 relations via OSM API, stitch rings, dissolve to
area.gpkg/area.geojson (City Pass approximation)
- download_osm.py: per-mode Overpass (mirror+backoff, out geom + recurse for
stops), writes {mode}.gpkg (lines+stops) + query text
- download_gtfs.py / gtfs_to_geopackage.py: stubs (blocked on Rejseplanen)
- data/ gitignored (regenerable); output/ tracked
|
2026-09-13 01:15:25 +02:00 |
|