This commit is contained in:
@@ -20,15 +20,18 @@ Beim ersten Start legt die App die Tabellen (`users`, `trips`, `stops`) automati
|
||||
|
||||
## Haltestellen-Lookup
|
||||
|
||||
Die Felder „Von" und „Nach" haben eine Autovervollständigung aus allen
|
||||
österreichischen Haltestellen. Die Daten stammen aus OpenStreetMap
|
||||
(© OpenStreetMap-Mitwirkende, ODbL) und liegen als Snapshot im Repo
|
||||
(`data/stops_at.csv.gz`, ~37 000 Haltestellen).
|
||||
Die Felder „Von" und „Nach" haben eine Autovervollständigung aus den
|
||||
Haltestellen in Österreich, Deutschland und der Schweiz (DACH) – aktuell
|
||||
**306 954 Haltestellen** (DE 243 278, AT 37 454, CH 26 222). Die Daten stammen
|
||||
aus OpenStreetMap (© OpenStreetMap-Mitwirkende, ODbL) und liegen als Snapshot
|
||||
im Repo (`data/stops_dach.csv.gz`, ~7,5 MB gepackt).
|
||||
|
||||
Zusätzlich ist pro Haltestelle die Menge der Linien hinterlegt (aus den
|
||||
OSM-`route`-Relationen, ~87 % der Halte). Das Feld „Linie" schlägt daraus die
|
||||
Linien vor, die an den gewählten Halten verkehren, und füllt sich selbst aus,
|
||||
wenn nur eine Linie in Frage kommt. Freitext bleibt immer möglich.
|
||||
OSM-`route`-Relationen). Das Feld „Linie" schlägt daraus die Linien vor, die
|
||||
an den gewählten Halten verkehren, und füllt sich selbst aus, wenn nur eine
|
||||
Linie in Frage kommt. Freitext bleibt immer möglich. Da mehrere Länder
|
||||
gleichnamige Haltestellen haben können (mehrere „Hauptbahnhof"), zeigt die
|
||||
Vorschlagsliste zusätzlich das Land.
|
||||
|
||||
Nach dem Anlegen der Tabellen den Snapshot in die DB laden:
|
||||
|
||||
@@ -40,14 +43,28 @@ Der Import ist idempotent (Upsert) und braucht kein Internet. Im Produktivbetrie
|
||||
übernimmt das die Unit `pbt-import-stops.service` (wird bei jedem Deploy
|
||||
angestoßen, s. u.).
|
||||
|
||||
Snapshot neu von OpenStreetMap holen (Halte + Linien, ~5 min, braucht Netzugang
|
||||
und ~1 GB RAM):
|
||||
### Snapshot aktualisieren
|
||||
|
||||
Bei dieser Größenordnung (AT+DE+CH) geht sich das nicht mehr über die
|
||||
öffentliche Overpass-API aus – schon eine reine Zählabfrage für Deutschland
|
||||
oder auch nur die Schweiz läuft dort in den Timeout. Stattdessen lädt
|
||||
`fetch_stops.py` die offiziellen Geofabrik-Extrakte pro Land herunter
|
||||
(`data/.osm-cache/`, nicht committed, ~6 GB) und wertet sie lokal mit
|
||||
`pyosmium` aus – keine Last auf einer geteilten API.
|
||||
|
||||
```bash
|
||||
python scripts/fetch_stops.py # überschreibt data/stops_at.csv.gz
|
||||
pip install osmium # einmalig, nur für dieses Script
|
||||
python scripts/fetch_stops.py # überschreibt data/stops_dach.csv.gz
|
||||
flask import-stops
|
||||
```
|
||||
|
||||
Braucht Netzugang zum Download, ein paar GB RAM und in der Praxis eher
|
||||
1–1,5 Stunden als die 5 Minuten von früher (der Großteil davon ist
|
||||
Deutschland – Österreich allein dauert ca. 11 Minuten). Bereits
|
||||
heruntergeladene Extrakte werden für spätere Läufe wiederverwendet, solange
|
||||
sie in `data/.osm-cache/` liegen (~6 GB, `rm -rf data/.osm-cache/` gibt den
|
||||
Platz wieder frei).
|
||||
|
||||
## Kartenvorschau (optional, standardmäßig aus)
|
||||
|
||||
Trip-Formular und „Meine Fahrten" können eine kleine Leaflet/OSM-Karte mit den
|
||||
|
||||
Reference in New Issue
Block a user