Verkehrsdaten sind von Haus aus fehlerhaft. So beheben wir das.
Jeder Verkehrsbetrieb kann einen GTFS-Feed veröffentlichen, ohne dass ihn jemand vorab prüft. Die gelieferten Daten sind uneinheitlich, unvollständig und manchmal schlicht falsch: doppelte Haltestellen, fehlerhafte Kalender, ungültige Koordinaten oder Ankunftszeiten nach den Abfahrtszeiten. Ein darauf aufbauender Routenplaner schickt Menschen zur falschen Straßenecke. Ein KI-Agent, der einen veralteten Fahrplan wiedergibt, lässt Menschen, die ihm vertraut haben, an der Haltestelle stehen. Wir verarbeiten 7.000+ Feeds von Verkehrsbetrieben weltweit in einem Verfahren, das diese Lücke schließt: Wir beziehen und vereinheitlichen jeden Feed, führen überlappende Betreiberquellen zu einem konsistenten Datensatz zusammen und wenden anschließend 150+ Prüfungen zur Korrektur, Anreicherung und Validierung an, die anhand realer Produktionsdaten verfeinert wurden.
Fortlaufende Pflege statt einmaliger Korrektur
Diese Verarbeitung wird kontinuierlich weiterentwickelt. Neue Regeln, verbesserte Algorithmen und Korrekturen der Datenqualität erscheinen jede Woche. Suche, Fahrpläne und API-Antworten nutzen die neueste validierte Verarbeitungsversion. Die Veröffentlichung erfolgt über eine Blue-Green-Serverrotation: Anfragen werden auf eine frisch bereitgestellte Umgebung umgeleitet, anstatt die laufende Umgebung neu zu starten. Die Routenplanung nutzt eine eigene Infrastruktur mit unabhängigem Veröffentlichungszyklus. Einmalige und regelmäßige Datenlieferungen benötigen eine manuelle Freigabe. Nutzen Sie das Formular für Datenanfragen, um Datenexporte und Lieferbedingungen mit uns abzustimmen.
An realen Verkehrsdaten verfeinerte Regeln
Manche Strukturprüfungen dauern nur Millisekunden. Die feedübergreifende Zusammenführung doppelter Haltestellen, die Erkennung identischer Fahrten und das Zusammenführen von Kalendern erforderten über ein Jahr Tests und Verbesserungen anhand realer Produktionsdaten.
Jede Regel wird im wöchentlichen Verarbeitungszyklus anhand von 7.000+ realen Feeds validiert.
Verarbeitung statischer GTFS-Daten
Was wir bei der Verarbeitung korrigieren
GTFS ist ein offenes Format zur eigenständigen Veröffentlichung: Jeder Betreiber kann einen Feed bereitstellen, ohne dass eine zentrale Stelle ihn vorab validiert. Wir erfassen 10.000+ Verkehrsbetriebe in 90+ Ländern - von U-Bahn-Netzen mit eigenen Datenteams bis zu einzelnen Busunternehmen, deren Fahrplanexport aus seit zehn Jahren unveränderter Software stammt. 150+ automatisierte Prüfungen laufen für jeden Feed, um die daraus entstehenden Probleme zu erkennen. Sie löschen nicht nur fehlerhafte Daten: Sie vereinheitlichen die Schreibweise von Namen, reparieren fehlerhafte Verknüpfungen und geben jeder Haltestelle, Linie und Fahrt eine stabile Identität und Sortierung über wöchentliche Updates hinweg. Deshalb ist auch die darauf aufbauende API schnell: Ergebnisse werden bereits benannt, ohne Duplikate und korrekt sortiert geliefert. Ihre Anwendung muss sie nicht bei jeder Anfrage bereinigen. Hier zeigen wir eine Auswahl, gegliedert nach Datenbereichen:
Namen & Kennungen
Namensfelder aus den Quellen enthalten leere Werte, uneinheitliche Groß- und Kleinschreibung oder Angaben, die sich in zwei Feldern wiederholen.
Gut lesbare, einheitliche Namen
Keine HALTESTELLEN IN GROSSBUCHSTABEN oder fehlerhaft wiederholten Zeichen: Wir bereinigen alle Namensfelder und vereinheitlichen ihre Schreibweise, damit Ihre Oberfläche keine Quellfehler ausgleichen muss.
Liniennamen, die in Listen funktionieren
Kurze und lange Namen werden automatisch aufeinander abgestimmt. So bleiben keine leeren Felder, doppelten Angaben oder überlangen Namen, die Ihre Linienauswahl beeinträchtigen.
Keine wiederholten Angaben in Haltestellendaten
Wiederholt eine Beschreibung lediglich den Haltestellennamen, leeren wir sie, statt denselben Text unter zwei verschiedenen Feldern zu liefern.
Keine namenlosen Einträge
Haltestellen, Betreiber oder Fahrten ohne Namen erhalten einen klar erkennbaren Platzhalter statt eines leeren Felds, das Ihre Anzeigelogik beeinträchtigt.
Fahrgäste sehen immer das Fahrtziel
Fehlt die Zielanzeige einer Fahrt, ergänzen wir sie anhand der letzten Haltestelle, damit Ihre Anwendung ein Ziel anzeigen kann.
Verlässliche Sprachangaben
Stimmt die im Feed angegebene Sprache nicht mit der des Betreibers überein, korrigieren wir sie. Ihre Lokalisierung kann sich auf dieses Feld verlassen.
Kalender & Fahrpläne
Verkehrszeiträume ohne tatsächlichen Betrieb, Ankunftszeiten nach der Abfahrt oder physikalisch unmögliche Geschwindigkeiten: Wer dem Rohfeed vertraut, hält Exportfehler für echte Fahrplanangaben.
Kalender, die den tatsächlichen Betrieb abbilden
Nicht genutzte Verkehrszeiträume, widersprüchliche Kalendereinträge und doppelte Kalender werden erkannt und entfernt, bevor sie Fahrgästen eine Verbindung an einem falschen Verkehrstag anzeigen.
Keine widersprüchlichen Zeitfolgen im Fahrplan
Wenn die Ankunft an der aktuellen Haltestelle vor der Abfahrt an der vorherigen Haltestelle liegt, korrigieren wir diesen wiederkehrenden Exportfehler und kennzeichnen die seltenen Feeds, in denen solche Fehler zu häufig auftreten, um sie ungeprüft zu korrigieren.
Abfahrts- und Ankunftszeiten für jede Fahrt
Leere Zeitfelder werden geprüft und ergänzt, damit nachgelagerte Systeme die tatsächliche Abfahrtszeit nicht erraten müssen.
Keine nicht planbaren Fahrten
Fehlt bei einer Fahrt die erste oder letzte Zeitangabe, lässt sie sich nicht planen. Wir entfernen sie, bevor sie unbemerkt eine Reiseverbindung beeinträchtigt.
Nachtverkehr korrekt abbilden
Abfahrten nach Mitternacht werden in ein gültiges GTFS-Zeitformat überführt, ohne den tatsächlichen Fahrplan zu verändern. Ein Detail, an dem einfache Parser häufig scheitern.
Eindeutige Kennzeichnung genauer Zeiten
Das Feld timepoint wird automatisch danach gesetzt, ob tatsächliche Ankunfts- und Abfahrtsdaten vorliegen. Es bleibt nicht leer und muss nicht von jedem Nutzer anders interpretiert werden.
Keine physikalisch unmöglichen Fahrten
Überlappende Taktintervalle werden bereinigt und Fahrten mit unmöglichen Geschwindigkeiten entfernt. Fahrgästen soll kein Bus mit 2.000 km/h angezeigt werden.
Haltestellen & Koordinaten
Zwei Betreiber veröffentlichen dieselbe Haltestelle getrennt, eine Fahrt verweist auf eine im Feed nicht definierte stop_id, und Angaben zur Barrierefreiheit fehlen oder sind falsch.
Der richtige Typ für jede Haltestelle
Für reine Einstiegshaltestellen wird der Standorttyp automatisch gesetzt. Fahrten, die auf einen unpassenden Haltestellentyp verweisen, werden erkannt, bevor sie Ihre Karte beeinträchtigen.
Bahnhöfe mit echten Zugängen
Ein- und Ausgänge sowie Verknüpfungen zum übergeordneten Bahnhof werden aus einer gepflegten Knotenpunktdatenbank ergänzt. Falsch platzierte übergeordnete Bahnhöfe werden an ihren tatsächlichen Standort verschoben.
Keine fehlerhafte Fahrt durch eine fehlende Haltestelle
Verweist eine Fahrt auf eine in stops.txt nicht definierte Haltestelle, rekonstruieren wir diese. Wo verfügbar, stammen Name und Koordinaten aus den offiziellen britischen NAPTAN-Daten. So bleibt die Fahrt nutzbar.
Verlässliche Angaben zur Barrierefreiheit
Ein Bahnhof gilt als zugänglich, sobald ein Bahnsteig zugänglich ist, und nur dann als unzugänglich, wenn dies für alle Bahnsteige ausdrücklich angegeben ist. Fehlende Angaben bleiben unbekannt und werden nicht fälschlich als "nein" ausgegeben.
Präzise und kompakt
Koordinaten werden auf sechs Nachkommastellen gerundet, mit einer Genauigkeit von unter einem Meter. Das reduziert die Dateigröße bei weiterhin präzisen Positionsangaben.
Ein Ort, ein Haltestelleneintrag
Etwa 20 Meter voneinander entfernte Haltestellen mit gleicher Fahrtrichtung werden als derselbe physische Ort erkannt und zusammengeführt, statt doppelt auf der Karte zu erscheinen.
Passende Verkehrsmittel für jede Haltestelle
Das Verkehrsmittel einer Haltestelle wird aus den dort tatsächlich verkehrenden Linien abgeleitet. Karte und Filter zeigen ohne zusätzliche Abfragen das richtige Symbol.
Daten nach Stadt ohne eigene Geodatenverarbeitung
Jede Haltestelle wird ihrer Stadt zugeordnet, damit stadtspezifische Exporte und API-Filter direkt funktionieren.
Keine Fahrten ohne Strecke
Eine Fahrt mit nur einer Haltestelle bildet keinen echten Verkehrsdienst ab. Sie wird zusammen mit den häufig zugehörigen doppelten Haltestelleneinträgen entfernt.
Linien & Tarife
Fahrzeugtyp, Farbe oder Tarifangaben einer Linie sind häufig falsch codiert, leer oder aus einem anderen Feld des Feeds kopiert.
Korrekte Fahrzeugtypen für Ihre Nutzer
Falsche Fahrzeugtypen, Liniennamen und Betreiberzuordnungen werden erkannt und anhand einer von unserem Datenteam gepflegten Tabelle korrigiert.
Keine unbekannten Linientypen
Fehlende oder ungültige Linientypen werden auf Bus gesetzt, damit Ihre Anwendung keinen unbekannten Wert erhält. Jede solche Korrektur löst einen internen Hinweis zur manuellen Prüfung ungewöhnlicher Fälle aus.
Stets lesbare Linienfarben
Ungültige Farbcodes werden korrigiert. Fehlende Textfarben werden passend zum Hintergrund gesetzt, damit Linienkennzeichnungen lesbar bleiben.
Keine doppelten Links in Liniendaten
Eine Linien-URL, die lediglich die Website des Betreibers wiederholt, wird geleert.
Auch kleine Details werden berücksichtigt
Bei Fährfahrten wird das Feld zur Fahrradmitnahme korrekt gesetzt. Dadurch entfällt eine Validierungswarnung, die viele Feeds standardmäßig enthalten.
Tarifdaten gemäß GTFS-Spezifikation
Felder der Tarifregeln werden vor der Auslieferung anhand der GTFS-Spezifikation geprüft und korrigiert.
Stabile Kennungen, Sortierung & Geschwindigkeit
Ein Anbieter nummeriert Fahrt-IDs zwischen Updates neu, zwei Quellen veröffentlichen dieselbe Linie mit unterschiedlichen Kennungen, und im Rohfeed fehlt eine sinnvolle Reihenfolge der Tagesfahrten.
Dieselbe Linie über mehrere Quellen hinweg erkennen
Linien erhalten einen Fingerabdruck anhand ihrer tatsächlichen Geografie. So wird dieselbe Linie aus zwei Quellen als eine Linie erkannt und nicht doppelt aufgeführt.
Stabile Fahrtkennung trotz neuer Quell-IDs
Fahrten werden anhand ihrer Haltestellenfolge und Zeiten erkannt. Dieselbe planmäßige Fahrt behält ihre Identität über wöchentliche Updates hinweg, auch wenn der Anbieter seine Fahrt-IDs neu nummeriert.
Keine doppelten Fahrten
Fahrten mit gleichem Linien- und Fahrplanfingerabdruck werden als identisch erkannt und zu einem maßgeblichen Datensatz zusammengeführt.
Ergebnisse in der richtigen Reihenfolge
Jede Fahrt erhält bei der Verarbeitung eine stabile tägliche Sortierposition. Ihre und unsere Anwendung müssen Fahrten daher nicht bei jeder Anfrage erneut sortieren.
Lückenlose Haltestellenreihenfolge
Ungewöhnliche Haltestellennummerierungen werden lückenlos ab null neu vergeben. Das vereinfacht die Verarbeitung der Haltestellen einer Fahrt.
Stabile Haltestellenkennung über Updates hinweg
Haltestellen werden anhand von Name, Koordinaten und Verkehrsmittel erkannt. So lässt sich derselbe physische Halt über Quellen und wöchentliche Updates hinweg zuordnen.
Schnell darstellbare, passende Linienverläufe
Überflüssige Geometriepunkte werden entfernt und Entfernungen neu berechnet, um die Datenmenge zu reduzieren. Ein Verlauf, der stark von der tatsächlichen Fahrt abweicht, wird von ihr getrennt, statt die Karte irreführend darzustellen.
Betreiber, Zeitzonen & Abfragen
Eine falsche oder fehlende Betreiberzeitzone lässt Routenplaner Ankünfte eine Stunde zu früh oder zu spät anzeigen, für jeden Fahrgast und jeden Tag, bis jemand den Fehler bemerkt.
Nutzbare Kontaktdaten der Betreiber
Fehlerhafte E-Mail-Adressen und URLs werden geleert. Fehlt die erforderliche Betreiber-URL, wird ein Platzhalter eingesetzt, damit nachgelagerte Systeme weiterarbeiten können.
Klare Sprachangaben für Betreiber
Eine fehlende Betreibersprache wird aus der Standardsprache des Landes ergänzt, damit Ihre Lokalisierung eine verwertbare Grundlage hat.
Korrekte Abfahrtszeiten
Ungültige oder geografisch unpassende Zeitzonen bei Betreibern und Haltestellen werden korrigiert. Sie gehören zu den häufigsten Ursachen für um eine Stunde verschobene Ankünfte im Routenplaner.
Umstiegsregeln mit gültigen Zielen
Umstiegsregeln, die auf nicht vorhandene Haltestellen oder Linien verweisen, werden entfernt, bevor sie die Verbindungssuche beeinträchtigen.
Sofort wissen, welche Linien eine Haltestelle bedienen
Jede Haltestelle erhält einen vorberechneten Index ihrer Linien. Die API kann diese direkt nachschlagen, statt die Verknüpfung bei jeder Anfrage neu zu berechnen.
Verarbeitung von Echtzeitdaten
Die Synchronisierung von GTFS-RT gehört zu den schwierigsten Aufgaben bei der Verarbeitung von Verkehrsdaten. Jeder Anbieter nutzt eigene interne Kennungen, Formate und Namenskonventionen, die in Echtzeit mit dem statischen Fahrplan abgeglichen werden müssen. Zusätzlich zur statischen Verarbeitung setzen wir spezielle Regeln für die Echtzeitzuordnung ein:
- Geografische Plausibilitätsprüfung der Fahrzeugpositionen: Koordinaten außerhalb des Verkehrsgebiets werden automatisch verworfen. Ein reales Beispiel ist ein Londoner Feed, der Busse in den USA meldete.
- Beim Zusammenführen mehrerer Betreiberfeeds kann dieselbe Linien-ID mehrfach vorkommen. In diesem Fall bleibt die Zuordnungspriorität zwischen den Duplikaten ausdrücklich erhalten. Gleicher Betreiber und gleiche Linie, 2 Quellen → Zuordnungspriorität erhalten
- Die Fahrtzuordnung folgt nicht einfach der zeitlichen Nähe: Liegt eine Echtzeitankunft zwischen zwei planmäßigen Fahrten, erfolgt die Zuordnung anhand eines asymmetrischen Zeitfensters statt nach der Mitte zwischen beiden Fahrten. Zeit zwischen 2 planmäßigen Fahrten → Zuordnung über ein 75/25-Fenster
- Ein abgestuftes Verfahren versucht zunächst die genaueste Zuordnung und lockert die Kriterien erst, wenn diese scheitert, statt einer einzigen Alles-oder-nichts-Regel zu folgen. Genaue Haltestelle und Zeit fehlen → zunächst Linie und Fahrt, dann Linie und Zeit prüfen
- Lässt sich eine Meldung nicht zuverlässig zuordnen, etwa bei fehlender Richtung und ohne passenden Ersatzabgleich, bleibt sie ausdrücklich ohne Zuordnung. Geraten wird nicht. Richtung fehlt, kein Ersatzabgleich möglich → keine Zuordnung
- Ankunftsprognosen für Haltestellen mit verspäteten oder fehlenden Echtzeitdaten
Länderspezifische Verarbeitung
Zusätzlich zur allgemeinen Verarbeitung entwickeln wir Regeln für einzelne Länder. Sie berücksichtigen lokale Datenformate, Codierungsstandards und Besonderheiten der Betreiber. Diese Regeln ergänzen die Basisverarbeitung und richten sich nach den tatsächlichen Datenproblemen des jeweiligen Anbieters.
Die Datengrundlage von BusMaps
Dieselben verarbeiteten Daten unterstützen die Verbindungssuche, Abfahrtstafeln und API-Antworten von BusMaps. Nutzen Sie sie über unsere API oder fragen Sie korrigierte Datensätze für Ihre eigene Infrastruktur an.
Korrigierte Verkehrsdaten für Ihr Projekt
Fragen Sie korrigierte GTFS-Daten, GeoJSON oder individuelle Exporte an, oder binden Sie unsere API ein. Nennen Sie die benötigte Abdeckung, Formate und Aktualisierungsintervalle, damit wir Lieferung oder Integration abstimmen können.