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
This commit is contained in:
2026-09-13 01:15:25 +02:00
parent dc51eaf177
commit 43c04a94f1
13 changed files with 1835 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
[project]
name = "jetlag-maps"
version = "0.1.0"
description = "Scriptable transit maps (Copenhagen) built from OSM + GTFS."
requires-python = ">=3.12"
dependencies = [
"geopandas>=1.1",
"shapely>=2.0",
"matplotlib>=3.9",
"contextily>=1.6",
"pyogrio>=0.10",
"partridge>=1.1",
"requests>=2.31",
"pyyaml>=6.0",
"adjusttext>=1.2",
"rtree>=1.0",
"scipy>=1.13",
]
[tool.uv]
package = false