Test of our public transport routing

Für die geographisch exakte Abbildung der Linienverläufe im öffentlichen Verkehr verwenden wir einen Routing-Algorithmus, der mit ausgefeilten Heuristiken für die öffentlichen Verkehrsmittel die wahrscheinlichste Verbindung zwischen der bekannten Lage von Stationen sucht. Wir haben immer wieder positives Feedback erhalten und Bestätigungen, dass die gefundenen Routen in den meisten Fällen der Realität entsprechen. Die kürzlich von der ZVV veröffentlichten Fahrplandaten enthalten neben den Verbindungen auch die Linienverläufe. Diese sind im GTFS-Format als shapes-Datei enthalten und werden vom ZVV mit beträchtlichem Aufwand manuell digitalisiert. Der neue Datensatz bietet eine interessante Vergleichsmöglichkeit zu Daten der SBB, die keine Linienverläufe enthalten, und auf die wir unser Routing angewendet haben.

Die folgende Karte zeigt oben den Datensatz der SBB und unten den des ZVV. Die Linien in der Karte oben sind automatisch berechnet, die unteren manuell erfasst. Klicken SIe auf einen Punkt in der Karte, um den Linienverlauf zu sehen. Zoomen und Verschieben zwischen den beiden Karten sind synchronisiert.

Der Vergleich der beiden Datensätze zeigt neben den Linienverläufen einige Unterschiede im Detail. So werden die Daten vom ZVV mit einer sekundengenauen Auflösung bereitgestellt. Wenn die SBB die Daten in ihr System übernimmt und wieder publiziert wird dagegen auf Minuten gerundet. In TRAVIC führen diese Unterschiede zu unterschiedlichen aktuellen Positionen der Fahrzeuge. Auch die Farben in beiden Datensätzen weichen voneinander ab. TRAVIC verwendet für die Farbdarstellung die Werte, die im GTFS enthalten sind, und da verwendet der ZVV seine eigenen Farben, während sie bei der SBB mit anderen Verbünden harmonisiert werden. Die Menge der sichtbaren Fahrzeuge weicht natürlich auch in beiden Datensätzen voneinander ab. In der unteren Karte sind nur die Fahrzeuge des ZVV enthalten, während oben auch die Fahrzeuge aller anderen Verkehrsunternehmen enthalten sind.

Der Kartenvergleich stützt das Verfahren der automatisierten Linienfindung. Wir möchten aber auch nicht verschweigen, dass es in manchen Fällen zu gröberen Fehlern kommen kann. In der Regel entstehen diese Fehler, wenn das Netzwerk, auf dem die Routenfindung aufsetzt, fehlerhaft ist. Da wir meist OpenStreetMap-Daten als Grundlage verwenden, können solche Fehler durch die Community selbst behoben werden, indem die Daten in OpenStreetMap korrigiert werden. Manche anderen Fehler entstehen aber auch, da unsere Heuristiken noch nicht alle Gegebenheiten berücksichtigen. Der Kartenausschnitt oben zeigt eine Kombination beider Fehlerquellen. Dass der ICE im Hauptbahnhof Berlin vom oberen Stockwerk ins Erdgeschoss fährt liegt zuerst einmal an einem falsch gesetzten Netzwerkknoten in OpenStreetMap. Andererseits sollten wir unsere Heuristik so erweitern, dass ICEs keine Treppen steigen und keine 90°-Wendungen vollziehen dürfen. Wir arbeiten laufend an Verbesserungen.

10/5/2015
More on this topic
2 min reading time › | Solution

Routing

With our routing service you can find the routes and lines for public transport vehicles, for cars and trucks as well as for pedestrians.

read more
8 min reading time › | Blog

Interpolation of height profiles

Calculating realistic elevation profiles along routes is not as easy simple as it seems at first glance. We explain how our routing service solves the problem.

read more
8 min reading time › | Blog

Digital maps of travelcard validty

The map of the areas of validity of Generalabo, Half-Fare Card and other Swiss public transport season tickets is now available as a true digital version. The map, which was previously maintained manually and produced as a PDF or printed folding map, has been replaced by an automatically generated, dynamic web map.

read more
9 min reading time › | Blog

Snapping stops to vehicle trajectories

How to snap points to a line string in a given order and what it has to do with quality assurance when importing public transport schedules.

read more
7 min reading time › | Blog

Using Redis Subscriptions efficiently in Python

Inspired by the websockets broadcast feature we built a subscription multiplexer for redis subscriptions to subscribe to Redis channels and patterns once for all relevant clients.

read more
3 min reading time › | Blog

React 18 support for create-react-web-component

We want to update five year old dependencies the trafimage-maps project. But it appears one project dependency is deprecated. What should we do? Fix the project or use something else? We decided to fix the project and give back to the community.

read more

Contact

geOps AG
Solothurnerstrasse 235
CH-4600 Olten

fon: +41 61 588 05 05
mail: info@geops.ch
geOps GmbH
Bismarckallee 10
D-79098 Freiburg im Breisgau

fon: +49 761 458 925 0
mail: info@geops.de
Imprint | Privacy | Terms of service