Wie schwer es fallen kann, Fahrplaene zu oeffnen

Wer die letzten Tage halbwegs aufmerksam im Netz unterwegs war, hat vermutlich diese Schlagzeile gesehen: OpenPlanB hat mal eben saemtliche deutschen Fahrplandaten gezogen und als Torrent verteilt. Deswegen mal ein kurzer Statusbericht zum Thema aus Ulm.

Klar, in Sueddeutschland dauert alles ein wenig laenger. Seit einigen Jahren versuchen hier einige StreiterInnen, an die Echtzeitdaten der Busse und Strassenbahnen zu kommen, um damit tolle Dinge™ bauen zu koennen. Anfangs hatte Fox einen Parser Pseudo-Anfragen an die Fahrplanauskunft stellen lassen, spaeter gab es dann sogar ein Frontend dafuer, und irgendwann wurde auch klar, dass der Nahverkehrsverbund DING die EFA von mentzdv laufen hatte, zu der es auch eine schoene Schnittstellendokumentation aus Linz gibt.

open Data im ÖPV from c-base on Vimeo.

Darueberhinaus hatten wir aber so etwa das im obigen (leider sehr zerhackstueckelten) Video von Michael Kreil umrissene Problem: Wir kamen nicht an die Referenz-Plandaten heran. Der Verkehrsverbund erzaehlte uns, dass wir keinesfalls einfach so Zugriff darauf bekommen koennten, und generell hielt man uns wohl fuer ahnungslose Irre.

Als Tueroeffner fuer die Kommunikation zumindest mit den Ulmer Stadtwerken bot sich unsere in einem Wochenende zusammengehackte Pseudo-Livemap samt der an einigen Stellen der Uni haengenden Live-Busanzeige an, ueber die wir tatsaechlich innerhalb kuerzester Zeit Kontakt zum Verantwortlichen fuer die Datenhaltung bekamen.

(Anekdoteneinschub: Besonders beeindruckt waren die Verantwortlichen den Erzaehlungen nach davon, dass Fox fuer seine Auskunftsseiten die XML-Schnittstelle benutzt hatte, von deren Existenz offenbar niemand oder kaum jemand beim Verbund ueberhaupt wusste)

Wir dachten nun jedenfalls, dass mit dem direkten Draht zu den Stadtwerken in kuerzester Zeit ein GTFS-Satz fuer die Ulmer Linien gebaut werden koennte, womit Ulm als womoeglich erste deutsche Stadt beispielsweise in Google Transit auftauchen koennte.

So einfach war das aber nicht.

Und das ist auch die groesste Huerde ueberhaupt, wenn man an solcherlei Daten herankommen moechte. Die gesamten Plandaten liegen auf irgendwelchen Betriebsleitrechnern in irgendeiner Planungs- und Betriebsleitsoftware. Da gibt es einige wenige Haeuser, die so etwas herstellen, und es handelt sich soweit wir das sehen koennen um proprietaere Pest. Schnittstellen gibt es, die folgen der VDV-454, und ich weiss auch nach intensiver Lektuere der besagten Schrift noch nicht so recht, wie man daraus irgendetwas stricken sollte, das auch wirklich sinnvoll ist. Michael Kreil bzw OpenPlanB haben wohl in grossem Umfang Hafas-Dumps und reihenweise Fahrplanauskunftdaten gezogen, um sich daraus eine deutschlandweite Datenbank zu stricken. So etwas dachten wir uns anfangs auch, erkannten aber relativ schnell, dass wir selbst fuer den relativ kleinen DING-Verbund zigtausende Abfragen stellen muessten, um hinterher auch ein reales Abbild der Soll-Fahrplaene ueber das Jahr hinweg zu bekommen.

Um ein Gefuehl dafuer zu bekommen, was mit den Daten moeglich waere und somit Tueroeffner zu spielen, taugt dieses Prinzip aber, und die Visualisierungen sind schon wunderbar anzusehen. Uns stand aber der Sinn nach einer Moeglichkeit fuer die Stadtwerke, damit diese zukuenftig selber ein valides GTFS-Set unter Beruecksichtigung aller Sonderfahrplaene ins Netz stellen koennten.

Der Weg, den wir momentan dabei beschreiten, ist ein relativ absurder: Es gibt offenbar irgendeine Schnittstelle, an deren Ende CSV-Tabellen fuer eine Person herauskommen, die diese dann in die gedruckten Fahrplaene giessen darf. Da diese Plaene einem bestimmten Muster folgen, kann man sie mit einem sehr kruden Parser nach GTFS umschreiben und dabei gleich per EFA-Schnittstelle die Fahrwege abfragen und mit einbinden. Leider fehlen hier am Ende immer noch viele Daten, die mit an Sicherheit grenzender Wahrscheinlichkeit irgendwo im DING- bzw. SWU-System abgebildet sind: Gefahrene Distanz an einer Haltestelle, Tarifstrukturen und vieles mehr. Ausserdem muessen auch alle Kalenderbesonderheiten nochmals von Hand nachgetragen werden.

Wenigstens sind wir aber so weit, seit dem Fruehjahr ein grundliegendes GTFS-Set exportieren zu koennen, und nachdem ich mich vor einigen Tagen noch einmal daran gesetzt habe, auch die Fahrwege darin abgebildet zu haben, so dass Ulm nun wohl die zweite deutsche Stadt mit einer Mapnificent-Karte ist und wir hoffentlich demnaechst einmal mit den Stadtwerken besprechen werden, ob und wie wir zum Fahrplanwechsel 2012 tatsaechlich auch ein „offizielles“ Ulmer GTFS-Set veroeffentlichen koennen.

Vielleicht hilft das manchen enthusiastischen OePNV-Fans zu verstehen, warum nicht immer alles so schnell geht, selbst wenn alle beteiligten Stellen eigentlich so etwas wollen. MentzDV bietet anscheinend sogar mittlerweile einen GTFS-Export an — man darf sich aber ausrechnen, dass das hierfuer zuzukaufende Modul nicht kostenlos sein wird.

PS: Wir sind hier in Ulm in der etwas einmaligen und manchmal etwas peinlichen Situation, den umgekehrten Zustand wie in Berlin zu haben. Plakativ geschrieben rennen wir offene Tueren ein und werden mit Daten ueberhaeuft, haben aber zu wenige MitstreiterInnen, um mit all diesen Daten auch etwas anfangen zu koennen. Wir haben hier keine c-base und keine re:publica, aber es gibt Mate und ne Donau und ab und zu ein OpenCityCamp. Falls ihr also schon immer mal die Welt veraendern wolltet: Das geht auch hier. Und man muss sich bei den Buffetts nicht immer mit @mspro um die Schnittchen pruegeln. Kombt alle forbei, es gibt einen noch zu visualisierenden Haushalt, eine zu verbessernde mobile Nahverkehrs-Liveabfrage, Entsorgungsdaten und noch viele andere Kleinigkeiten.¹

(¹ Auf Anregung von @plomlompom soll ich schreiben, dass Berlin eine „HipsterHölle [ist], wo man nix mehr produzieren muss, um Anerkennung zu kriegen. Hier unten dagegen beweisen sich die wahren Hacker!“)

6 Gedanken zu „Wie schwer es fallen kann, Fahrplaene zu oeffnen

  1. usf

    „Da diese Plaene einem bestimmten Muster folgen, kann man sie mit einem sehr kruden Parser nach GTFS umschreiben und dabei gleich per EFA-Schnittstelle die Fahrwege abfragen und mit einbinden. „

    gibt es zur Einbindung der EFA Schnittstelle in den GTFS feed auch eine Dokumentation? Wäre nämlich daran interessiert, dasselbe mit Open Data der Wiener Linien (http://data.gv.at/suche/?search-term=wiener+linien+&searchIn=catalog) zu machen, um daraus einen GTFS Datensatz zu erzeugen. Weitere Auskünfte per mail wären da sehr hilfreich! Danke!

    Antworten
    1. stk Beitragsautor

      Ueber das, was auf Github schon steht, hinaus gibt es bislang leider lediglich das, was in meine (noch nicht fertige/veroeffentlichte) Diplomarbeit kommt.

      Ich habe mir die Wiener Doku mal angesehen, das scheint mir keine MentzDV-EFA sein – jedenfalls nicht das, was in Linz und in BaWue laeuft, da kaeme naemlich XML raus, kein JSON. Weisst du da mehr?

      Antworten
      1. usf

        laut der PDF-Dokumentation des Wiener-Linien Routingservice ist die Schnittstelle von der Firma MentzDV, ich dachte die Schnittstellen sind alle die selben?
        Selbst auf der Data GV Seite zu den Linzer Linien (http://data.gv.at/datensatz/?id=909db36e-adec-485a-858d-c4f74a386305) gibt es nur Zugriff auf XML Informationen… Braucht man für das Auslesen JSON Daten? Btw, gibt es wenigstens von Linz einen fertigen GTFS Datensatz? von österreichischen Verkehrsverbünden gibt es in dieser Art gar nichts… (http://kurier.at/lebensart/technik/oebb-kein-fahrplan-fuer-app-entwickler/41.545.631)

        Antworten
      2. stk Beitragsautor

        Oh, dann hab ich die Wiener Dokumentation zu oberflaechlich gelesen, da hab ich nur die JSON-Beispiele gesehen.

        Ich war davon ausgegangen, dass die EFA nur XML kann, so machen das zumindest die unseres Verbunds und die aus Linz. Fox hat mich aber korrigiert, EFA kann wohl XML und JSON, je nach Installation.

        Welches Format aus der EFA rausfaellt, ist ja im Endeffekt eher wurscht bzw bedarf nur passenden Umparsens. Jetzt ist halt die Sache, dass man sich irgendwie™ die Menge aller Fahrten pro Route abgrasen muesste. Das haben wir nicht weiter verfolgt, weil wir ja die CSV-Dateien aus DIVA bekommen hatten (das ist die Software, aus der die EFA gefuettert wird).

        Was GTFS in .at angeht, bin ich leider ueberfragt. Ich baue gerade an einem Workflow, wie man direkt aus den DIVA-Urdaten GTFS transformieren kann, das ist aber noch ziemlich im Alpha-Stadium.

        Hast du denn einen Kontakt z.B. zu den Wiener Linien? Man kann ja immer erstmal „von aussen“ was scrapen und einen Erst-Datensatz haben, auf dessen Basis man coole Dinge baut, die als Tueroeffner dienen – mittelfristig waere halt wichtig, dass der Verkehrsbetrieb oder -verbund da auch selber mitspielen mag 😉

        Antworten
        1. usf

          Ok heißt das dann dass ihr mit Hilfe dieser CSV Dateien die ihr direkt aus DIVA bekommen hattet, schon das oben erwähnte GTFS-Set exportieren konntet? dann müsste es für Linz ja auch schon ein Feed geben? Oder wurde das für Ulm manuell zusammengestöpselt?
          Find ich beeindruckend, dass du das in Angriff nimmst, obwohl früher oder später die Verbünde sicherlich auf Druck der Öffentlichkeit diese Daten mal public stellen werden! wäre aber interessant zu hören ob es geklappt hat! 😉
          Nein, Kontakt habe ich leider keinen, hab sie zwar mal vor längerer Zeit angeschrieben aber bis heute noch keine Antwort bekommen…

          Antworten
        2. stk Beitragsautor

          Ja, siehe Github-Link, mit diesem Java-Dings habe ich die CSV-Dateien dann umgeparst. Da war anfangs noch viel manuelle Nacharbeit drin, bei der zweiten Feedveroeffentlichung war das aber nur mehr etwa ein halber Personenarbeitstag, den Feed fertig zu machen.

          Hak da doch gerne mal weiter bei den Wiener Linien nach, ggf. auch mit MitstreiterInnen der anderen Initiativen dort. Ich weiss nicht, ob es dort einen OKFN-Ableger gibt, aber vielleicht weiss da jemand vom Metalab mehr… immer Praesenz zeigen und kontinuierlich nachbohren 😉

          Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert