Add bus whitelist, route exclusions, crow-fly shape filter, and KML export

- modes.yaml: bus_whitelist (A-buses + selected refs) and exclude list
  (Snälltåget 083 night train — sparse crow-fly stubs)
- prepare.py: drop degenerate crow-fly shapes below 0.05 pts/km; apply
  bus whitelist and route exclusions from modes.yaml
- export_google_mymaps.py: new script — master.gpkg -> KML for Google
  My Maps import (stops, routes, boundary, coastline layers)
- coastline.kml: reference coastline layer for the KML export
- .gitignore: also ignore generated output/*.kml
This commit is contained in:
2026-09-18 00:24:37 +02:00
parent b7d51ca29f
commit b27421aaa1
5 changed files with 611 additions and 4 deletions
+17
View File
@@ -13,6 +13,23 @@
# ORDER MATTERS: the styles listed here are also the priority order when a
# pole is served by several modes (e.g. S-tog and regional trains share
# platforms at hub stations — the higher style wins).
# Hard exclusions: specific routes to drop entirely, keyed by (agency,
# short name) — the pairing rule used everywhere else in this feed.
# 083 (Snälltåget night train, Malmö-Stockholm): its in-area shapes are
# sparse crow-fly stubs that draw as straight cuts across the map; the
# long-distance train is not relevant for the city game, so skip it.
# Bus whitelist: only these buses are included — there are far more city
# bus routes than the game scale needs. Match on bus category (per
# styling.yaml bus_filters) or on specific refs. Remove this section to
# include all buses; with empty lists no buses are included.
bus_whitelist:
categories: [A] # all "A" city buses (1A, 2A, 4A, 6A, 9A, ...)
refs: ["21", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "68", "77"]
exclude:
- agency: Snälltåget AB
ref: "083"
modes:
metro:
agencies: [Metroselskabet]