➟ direkt zur Demo
Auf http://data.deutschebahn.com stellt die Deutsche Bahn einige ihrer internen Datensätze als Open Data zur Verfügung. So zum Beispiel eine xml-Datei, die die Daten zu den Wagenreihungsplänen enthält, die an vielen Fernverkehrsbahnhöfen hängen, wie z.B. dieser hier:
Mit XSL (EXtensible Stylesheet Language) lässt sich aus einer XML-Datei mittels eines Tamplates eine HTML-Seite generieren. Das habe ich in diesem Beispiel genutzt, um aus der XML-Datenbankstruktur eine Visualisierung des Wagenreihungsplans ganz im Stil der Deutschen Bahn zu generieren, der nach dem derzeitigen Stand so aussieht:
Dieses Repository enthält einen Beispieldatensatz BGS_2016-06-04_16-28-18.xml, der mit dem XSL-Stylesheet wagenreihung.xsl im Browser in eine HTML-Datei umgewandelt wird, wie sie hier zu sehen ist.
Mittlerweile haben wir eine Version geschrieben, mit der man sich alle verfügbaren Wagenreihungspläne für alle deutschen Bahnhöfe anzeigen lassen kann. Hier wird die Anwendung des XSL-Stylesheets über Javascript realisiert. Hier gehts zur Demo. Es gibt auch noch eine Version mit durchsuchbarer Tabelle (mittels datatable).
Leider ist es im Moment (Januar 2019) nicht mehr möglich, neue Datensätze von data.deutschebahn.com herunterzuladen. Schon 2018 wurden keine neuen Datensätze hochgeladen und nun scheint der Download auch der vorhandenen Datensätze gesperrt zu sein. Daher sind die hier gezeigten Wagenreihungspläne leider veraltet.
Beim originalen Wagenstandanzeiger sieht noch einiges anders aus. Die Züge sind so ausgerichtet, wie sie am Bahnsteig halten. Die Bahnsteigsabschnitte sind als blaue Buchstabentafeln über der Grafik markiert, wie in diesem Bild zu sehen:
Die Ausrichtung der Piktogramme wie in der Grafik der DB fiel mir jedoch schwer, da die Daten verschiedene Abschnittszordnungen zu den Waggons enthalten. Manche enthalten ein Muster wie z.B. A, AB, B, BC, C. An anderen Bahnsteigen ist dies aber so notiert: A, A, B, B, C, C. Es kommt auch vor, dass im Abschnitt A vier Waggons stehen, oder aber im Abschnitt G am anderen Ende des Bahnsteigs. Hier steht der Zug wahrscheinlich länger vorne oder hinten weg, als die Markierten Abschnitte hergeben.
Eine Methode zur Ausrichtung der Zug-Piktogramme muss also noch gefunden werden.
Piktogramme für weitere Steuerwagen und Lok-Typen müssen eingefügt werden. Typen wie z.B. "q" oder "Ü" sind in der Dokumentation nicht erklärt.
...brauchen noch eine spezielle Darstellung.
...brauchen noch eine Extrabehandlung.
Die XML-Datei enthält Informationen zur Länge eines Waggons, was die Sitzplätze betrifft. Waggons, an deren Ende eine Steuerkabine hängt werden auf den DB-Plänen nur halb als Waggon, halb als Steuerkabine dargestellt, sodass das Gesamtbild genau so lang ist wie jeder andere Waggon:
Dies müsste noch implementiert werden.
...z.B. zu Fahrtziel und Zwischenstopps des Zuges können noch in die Grafik eingefügt werden.
...bzw. abweichenden Fahrtzielen bestimmter Waggons könnten noch dargestellt werden.
...wie z.B. Rollstuhlgerecht, Kinderabteil etc. könnten noch dargestellt werden.
In vielen Datensätzen gibt es ein "Gleis 99" oder ähnlich, dass es in Wahrheit gar nicht gibt. Dort sind Muster für bestimmte Zugtypen gespeichert oder stehen irgend welche Überbleibsel. Diese müsste man aus der Darstellung heraus filtern.
Die Piktogramme von Loks und Steuerwagen und andere Piktogramme sollten am besten SVG-Grafiken sein.
Mittlerweile bieted die Bahn in ihrer App DB Navigator eine Visualisierung der Wagenreihung an. Die Anzeige ist dann auch mit dem gebuchten Ticket verbunden und leitet einen direkt an die richtige Stelle. Anscheinend wird sie auch aktualisiert, wenn die Wagenreihung spontan geändert wird. Das ist natürlich sehr praktisch!
Allerdings werden bisher nur ICE Züge in der App angezeigt. Von daher lohnt es sich immer noch, eine eigene Visualisierung aufzubauen!