Bahn API Chaos?
Ein Einblick in die Daten von https://bahn.expert
@marudor@chaos.social
Warum weißt du den Kram eigentlich?
- Fahre viel Bahn
- Entwicklung bahn.expert
- mindestens seit 31 Aug 2015
- monatlich
~8500 ~140000~240000 User
Was für Daten aggregierst du?
(damals)
- Haltestellendaten
- Abfahrts und Ankunfts Echtzeitdaten
- Wagenreihung
- Auslastungsprognose
- Routen
Was für Daten aggregierst du?
- Haltestellendaten (2x)
- Abfahrt und Ankunft je Haltestelle (2x)
- Echtzeitdaten von Fahrten (2x)
- Wagenreihung (
4x3x) - Planwagenreihung
- Planzugläufe
- Auslastungsprognose
- Routen
Die Bahn hat doch ein neues Open API Portal?
Ja, aber...
Upstream API Request count (Pro Woche)
Haltestellen | 457.069 |
Abfahrt/Ankunft | 6.589.835 |
Fahrten | 6.990.051 |
Wagenreihung | 1.192.796 |
Routing | 254.081 |
Haltestellendaten
- Haltestellendaten (CSV)
- Stationsdaten (CSV)
- StaDa - Stationsdaten
- OpenDB
- Hafas (ajax-getstop/mgate)
- Timetable (noncd/OpenDB)
- Favendo
Haltestellendaten (damals)
Haltestellendaten (CSV)Stationsdaten (CSV)StaDa - StationsdatenOpenDB- Hafas (ajax-getstop/mgate)
- Timetable (noncd/OpenDB)
Favendo
- RIS::Stations
- HAFAS (DB Navigator)
- Timetables (IRIS-TTS)
Haltestellendaten
- Kennt ÖPNV & Schiene
- Kennt alles wo Deutschland involviert ist
- Sortiert Ergebnisse passend
RIS::Stations
Bahnhofsgruppierung
München
RIS::Stations
Umstiegsgruppierung
Dortmund Uni
RIS::Stations
HAFAS (mgate)
Nur Fallback falls RIS::Stations down
Timetables
Nur nötig um RIS::Stations auf Ergebnisse zu filtern die diese Quelle kennt
Abfahrtsdaten
Timetables (IRIS-TTS)
- bekannte gute Daten
- komisches XML
- fast nur Heavy Metal
- Manchmal down :(
- Gibt einen Fallback
- Leider auch manchmal down
- iris.noncd.db.de/iris-tts/timetable/station/Karlsruhe
- iris.noncd-test.db.de/iris-tts/timetable/station/Karlsruhe
HAFAS (Regionale Abfahrten, ÖPNV)
- Gleiche Daten wie DB Navigator.
- Etwas ungenau
- "Unwichtiges" wird nicht angezeigt
- Kann Verkehrsmittel filtern
Gibts auch als OpenDB Variante (Fahrplan)
RIS::Boards
- Datenqualität wie RIS-Info
- kein XML!
- Kann alle Verkehrsarten
- Kennt Ist-Zeiten
RIS::Boards
Timetables vs RIS::Boards
Timetables vs RIS::Boards
Journeydaten
RIS::Journeys
- Datenqualität wie RIS-Info
- Kennt Ist-Zeiten
- Leider nur ~20h in die Zukunft
RIS::Journeys
HAFAS
RIS::Journeys
RIS::Journeys
HAFAS
RIS::Journeys
RIS::Journeys
RIS::Journeys
Wagenreihung
Wagenreihung (DB Navigator)
www.apps-bahn.de/wr/wagenreihung/1.0/22/202305102145
-
Zugnummer
- Planabfahrtszeit an der gewünschten Haltestelle
Wagenreihung (Nummer 2)
ist-wr.noncd.db.de/wagenreihung/1.0/22/202305102145
-
<Zugnummer>
- Planabfahrtszeit an der gewünschten Haltestelle
Wagenreihung
Gibt es Unterschiede?
- Im Response - nein
- In der Verfügbarkeit von Zügen - ja
- Zusammen immer noch nicht alles abgedeckt
Wagenreihung (DB Navigator, neu)
www.apps-bahn.de/wgr/wr/81/20230510/ICE/22/8000105/202305102145
- Administration (Betreiber)
- Datum der initialen Abfahrt
- Kategorie
- Zugnummer
- Evanummer der Haltestelle
- Planabfahrtszeit an der gewünschten Haltestelle
www.apps-bahn.de/wgr/wr/80/20230510/ICE/22/8000105/202305102145
Wagenreihung Nummer drei
www.apps-bahn.de/wgr/wr/80/20230512/IC/2205/8007768/202305121351
www.apps-bahn.de/wgr/wr/NZ/20230512/RE/52205/8007768/202305121351
www.apps-bahn.de/wgr/wr/NZ/20230512/RE/52205/8007768/202305121351
Wagenreihung Unterschiede?
Vorher
Nachher
Wagenreihung
All das nur für das was es vorher schon gab?
Wagenreihung
Das waren aber nur 3?
live.oebb.at/backend/info?trainNr=5976&station=8100013&date=2023-05-12
Quirks der Wagenreihung
ICEs von / nach Frankreich
Vorher
Nachher
Baureihen spezifika
BR 4110/4010 (IC2 KISS)
Vorher
Nachher
Baureihen spezifika
BR 401 (modernisiert / kurz)
Vorher
Nachher
Planwagenreihung
Planwagenreihung
- Nur Fernverkehr
- Baureihenerkennung ungenau
- Umläufe
- Sondersitz Nummern
- Linieninfos
Planwagenreihung
Planwagenreihung
BR 408 12.07.2023 (Auszug)
Es wird besser
Fazit
langsam
und nicht open
Fragen?
Bahn API Chaos? - GPN21
By marudor
Bahn API Chaos? - GPN21
- 82