GTFS-Erweiterungen für Google Transit

Einführung

Das Google Transit-Team arbeitet kontinuierlich daran, die General Transit Feed Specification (GTFS) zu verbessern, um den Anforderungen unserer Partner gerecht zu werden. Es wurden mehrere Erweiterungen für die GTFS-Spezifikation vorgeschlagen, die in der Zwischenzeit von Partnern im Feed verwendet werden können, den sie in Google Maps an Google Transit senden. Nachstehend finden Sie eine umfangreiche Liste dieser Funktionen.

Wenn Sie eigene Vorschläge zur Erweiterung der GTFS-Spezifikation haben, sehen Sie sich die Informationen auf der Seite Änderungsprozess an.

Maximale Anzahl von Umstiegen bei einem bestimmten Fahrpreis

Damit Fahrpreisattribute in einem Feed mit mehreren Betreibern unterstützt werden können, werden die folgenden Erweiterungen berücksichtigt:

Feldname Präsenz Details
transfers Erforderlich Verwenden Sie dieses Feld, um die maximale Anzahl von Umstiegen festzulegen, die bei dem Fahrpreis zulässig sind. Nicht enthalten sind Umstiege innerhalb eines Blocks (sogenannte Blockfahrten). Google Transit unterstützt Werte von 0 bis 5. Wenn Sie keine Beschränkungen für die Anzahl der Umstiege für einen bestimmten Preis festlegen möchten, lassen Sie das Feld transfers leer.

Preise bei Verwendung von IC-Karten (Japan)

Eine IC-Karte (Integrated Circuit) ist eine wiederaufladbare Prepaid-Smartcard, die nur in Japan für Fahrten mit Zügen, U- und Einschienenbahnen sowie Bussen verwendet wird. Bei den meisten IC-Karten, etwa Pasmo und SUICA (Super Urban Intelligent Card), erhalten die Fahrgäste häufig Rabatte. Die folgende reine Google-Erweiterung unterstützt die Fahrpreismodellierung für IC-Karten.

fare_attributes.txt

Feldname Erforderlich Details
ic_price Optional Wenn dem Nutzer einer IC-Karte ein Rabatt angeboten wird, entspricht der Wert den Kosten für den ermäßigten Preis. Wird diesem Nutzer kein Rabatt angeboten, verwenden Sie den Wert -1. Wenn eine IC-Karte von einem Betreiber nicht unterstützt wird, legen Sie den Wert auf -1 fest.

Zusätzliche Routentypen

In GTFS wird derzeit eine Reihe von Routentypen definiert, mit denen Sie den Servicetyp einer bestimmten Route beschreiben können (z. B. Bus, Bahn oder Fähre). Um noch mehr Typen zu unterstützen, wurde eine Erweiterung für das Feld route_type in routes.txt vorgeschlagen. Weitere Informationen hierzu finden Sie unter Erweiterte GTFS-Routentypen.

Arten von Stationsfahrzeugen

Es wurde eine Erweiterung vorgeschlagen, mit der sich angeben lässt, welche Arten von Fahrzeugen eine bestimmte Haltestelle bedienen.

stops.txt

Feldname Erforderlich Details
vehicle_type Optional

Verwenden Sie dieses Feld, um das an dieser Haltestelle eingesetzte Fahrzeug zu beschreiben. Hier wird ein gültiger Wert für das Feld route_type in routes.txt akzeptiert (einschließlich unserer vorgeschlagenen Werte für erweiterte GTFS-Routentypen).

Fahrtabweichungen

Es hilft, Fahrten anzugeben, die außerhalb des regulären Fahrplans oder auf einer abweichenden Route stattfinden, etwa aufgrund von besonderen Veranstaltungen oder geplanten Störungen wie Gleisarbeiten. Wir schlagen hierfür eine Erweiterung für trips.txt vor.

trips.txt

Feldname Erforderlich Details
exceptional Optional

Legen Sie dieses Feld auf 1 fest, um eine Betriebsausnahme anzugeben. Das können beispielsweise Fahrten sein, die aufgrund von besonderen Veranstaltungen hinzugefügt wurden, oder solche, die wegen geplanter Störungen (Gleisarbeiten) nicht der üblichen Route folgen. Wenn der reguläre Fahrplan gilt, legen Sie dieses Feld auf 0 fest.

Umstiege zwischen zwei Routen oder zwei Fahrten

Derzeit kann ein Betreiber gemäß GTFS-Spezifikation mithilfe der Datei transfers.txt eine Umstiegssemantik definieren, sodass Funktionen wie bevorzugte, abgestimmte und eingeschränkte Umstiege möglich sind. Momentan funktioniert dies nur für Haltestellen. Google hat von einer Reihe von Betreibern aber die Rückmeldung erhalten, dass sie gern die Möglichkeit hätten, ausführlichere Umstiegsinformationen auf Routen- oder sogar Fahrtenebene anzugeben. Wir haben in Zusammenarbeit mit diesen Betreibern einen Vorschlag für die Modellierung von Umstiegen zwischen zwei Routen und zwischen zwei Fahrten ausgearbeitet und freuen uns auf Feedback aus der GTFS-Community.

Ziel

Es soll möglich sein, für zwei ausgewählte Haltestellen Umstiege zwischen bestimmten Routen oder sogar zwischen bestimmten Fahrten festzulegen, ohne für alle Fahrten an diesen beiden Haltestellen denselben Umstieg festlegen zu müssen.

Beispiel:

  • Wenn zwei Fahrzeuge am selben Bahnsteig ankommen und aufeinander warten, möchten wir zwischen diesen beiden Fahrten einen abgestimmten Umstieg festlegen. Wir möchten aber nicht, dass alle Umstiege an dieser Bahnstation abgestimmt sind.

  • Wenn ein bestimmter Zug häufig bis zu 30 Minuten verspätet ist, sollen Umstiege von diesem Zug auf einen anderen nicht zulässig sein, wenn zwischen fahrplanmäßiger Ankunft und Abfahrt weniger als 35 Minuten liegen.

Details

Fügen Sie vier optionale Felder in die Datei transfers.txt ein:

  • from_route_id
  • to_route_id
  • from_trip_id
  • to_trip_id

Die Felder from_route_id und to_route_id können eine route_id enthalten (wie von routes.txt angegeben), sodass der jeweilige Umstieg auf weniger Routen zutrifft. Wenn from_route_id angegeben ist, gilt der Umstieg nur für die ankommende Fahrt mit der angegebenen Routen-ID an der angegebenen from_stop_id. Wenn to_route_id angegeben ist, wird der Umstieg nur auf die abgehende Fahrt mit der angegebenen Routen-ID an der angegebenen to_stop_id angewendet.

Die Felder from_trip_id und to_trip_id können eine trip_id enthalten (wie von trips.txt angegeben). Wenn from_trip_id angegeben ist, wird from_route_id ignoriert. Ist hingegen to_trip_id angegeben, wird to_route_id ignoriert. Wenn from_trip_id angegeben ist, gilt der Umstieg nur für die ankommende Fahrt mit der angegebenen Fahrten-ID an der angegebenen from_stop_id. Wenn to_trip_id angegeben ist, wird der Umstieg nur auf die abgehende Fahrt mit der angegebenen Fahrten-ID an der angegebenen to_stop_id angewendet.

Spezifität eines Umstiegs

Einige Umstiege sind spezifischer als andere. Wir möchten eine einfache Rankingfunktion festlegen, um zu bestimmen, wann ein Umstieg anzuwenden ist. Daher definieren wir die sogenannte Spezifität eines Umstiegs.

Die Spezifität der Umstiegsquelle ist 0, wenn nur from_stop_id angegeben ist, 1, wenn from_route_id angegeben ist, und 2, wenn from_trip_id angegeben ist. Dasselbe gilt für das Ziel: 0, wenn nur to_stop_id angegeben ist, 1, wenn to_route_id angegeben ist, und 2, wenn to_trip_id angegeben ist. Die Summe dieser beiden Werte gibt die Spezifität des Umstiegs zwischen 0 und 4 (einschließlich) an. Für ein bestimmtes geordnetes Paar von ankommenden und abgehenden Fahrten wird der Umstieg mit der größten Spezifität ausgewählt, die für diese beiden Fahrten gilt. Es sollte also für KEIN Fahrtenpaar zwei Umstiege mit derselben maximal anwendbaren Spezifität geben.

Beispiel einer zweideutigen Regel:

from_stop_id,to_stop_id,from_route_id,to_route_id,transfer_type
stopFrom,stopTo,routeFrom,,0
stopFrom,stopTo,,routeTo,1

Beide Umstiege haben eine Spezifität von 1. Für Umstiege zwischen einer Fahrt mit der Routen-ID routeFrom, die an der Haltestelle stopFrom ankommt, und einer Fahrt mit der Routen-ID routeTo, die an der Haltestelle stopTo ankommt, können beide dieser Regeln gelten.