GTFS in Datenmodell des öffentlichen Verkehrs (Public Transit)

Zusammenfassung

Konvertiert ein oder mehrere GTFS-Datasets (General Transit Feed Specification) zum öffentlichen Verkehr in verschiedene Feature-Classes und Tabellen, die die Haltestellen, Linien und Fahrpläne des öffentlichen Verkehrs in dem Format repräsentieren, das im Network Analyst-Datenmodell des öffentlichen Verkehrs definiert ist.

Von diesem Werkzeug werden die folgenden Feature-Classes und Tabellen des Datenmodells des öffentlichen Verkehrs erzeugt:

  • Stops
  • LineVariantElements
  • Calendars
  • CalendarExceptions
  • Lines
  • LineVariants
  • Runs
  • ScheduleElements
  • Schedules

Die Ausgabe dieses Werkzeugs kann als Eingabe für das Werkzeug Datenmodell des öffentlichen Verkehrs mit Straßen verbinden verwendet werden, um alle erforderlichen Eingaben für ein für öffentlichen Verkehr aktiviertes Netzwerk-Dataset vorzubereiten. Der vollständige Workflow für die Erstellung eines solchen Netzwerk-Datasets wird unter Erstellen und Verwenden eines Netzwerk-Datasets mit Daten zu öffentlichem Verkehr beschrieben.

Die Ausgabe dieses Werkzeugs kann auch als Eingabe für das Werkzeug Häufigkeit des öffentlichen Verkehrs berechnen verwendet werden.

Verwendung

  • Die Daten aus allen GTFS-Eingabe-Datasets werden in einer Gruppe von Ausgabe-Tabellen und Ausgabe-Feature-Classes zusammengeführt. Ein typischer Anwendungsfall für die Verwendung mehrerer GTFS-Eingabe-Datasets ist die Modellierung eines Ballungsgebiets, in dem mehrere Betreiber von öffentlichen Verkehrsmitteln im selben geographischen Bereich operieren.

  • Das Werkzeug validiert die einzelnen GTFS-Eingabe-Datasets im Hinblick auf häufige Datenprobleme. Wenn ein Problem gefunden wird, gibt das Werkzeug eine Warnung aus, und das betreffende Dataset wird nicht verarbeitet. Die Ausgabe des Werkzeugs enthält nur Daten aus den erfolgreich verarbeiteten GTFS-Eingabe-Datasets. Wenn einige GTFS-Datasets erfolgreich verarbeitet werden, andere aufgrund von Datenproblemen jedoch nicht, können Sie die Datenprobleme beheben und die korrigierten GTFS-Datasets an die vorhandene Ausgabe des Werkzeugs anhängen. Führen Sie dazu das Werkzeug erneut aus, nachdem Sie den Parameter An vorhandene Tabellen anhängen aktiviert haben (append = "APPEND" in Python).

  • Jedes GTFS-Eingabe-Dataset muss die Dateien stops.txt, routes.txt, trips.txt und stop_times.txt sowie die Datei calendar.txt oder calendar_dates.txt oder beide enthalten. Die Datei frequencies.txt wird verwendet, wenn sie vorhanden ist.

  • GTFS lässt leere Werte für die Felder arrival_time und departure_time in der Datei stop_times.txt zu. Damit der Evaluator "Öffentlicher Verkehr" im Netzwerk-Dataset verwendet werden kann, müssen im Network Analyst-Datenmodell für öffentlichen Verkehr jedoch genaue Uhrzeiten angegeben sein. Aktivieren Sie den Parameter Leere Stoppzeiten interpolieren (interpolate = "INTERPOLATE" in Python), um die Ankunfts- und Abfahrtszeiten für ein GTFS-Eingabe-Dataset mit einer stop_times.txt-Datei zu schätzen, die keine expliziten Werte für alle Felder des Typs arrival_time und departure_time enthält.

  • Das Werkzeug erstellt die Stops-Feature-Class mit den Breiten- und Längengradwerten der Felder stop_lat und stop_lon in der GTFS-Datei stops.txt.

  • Die Felder stop_lat und stop_lon in der GTFS-Datei stops.txt bestimmen Längen- und Breitengrad der Stopps. Für diese Felder sind per Spezifikation NULL-Werte zulässig, wenn das Feld location_type eines Stopps den Wert 3 oder 4 aufweist. Zur Repräsentation von Stopps werden jedoch von diesem Werkzeug geographische Features erstellt. Stopps ohne Breiten- oder Längengrad können daher nicht kartografisch dargestellt werden. Folglich werden Stopps, die für location_type den Wert 3 oder 4 und damit für stop_lat oder stop_lon NULL-Werte aufweisen, übersprungen und nicht in die Werkzeugausgabe einbezogen.

  • Das Werkzeug erstellt die LineVariantElements-Features durch die Erstellung einer geraden Linie zwischen allen Haltestellenpaaren, die direkt mit einer Fahrtstrecke verbunden sind.

    Hinweis:

    Die LineVariantElements-Features stellen nicht die tatsächlich von Bussen, Zügen oder anderen öffentlichen Verkehrsmitteln verwendeten Strecken dar, sondern dienen stattdessen als Darstellung der logischen Verbindungen in einem öffentlichen Verkehrssystem. LineVariantElements-Features sind nicht zur Verwendung in einer Visualisierung gedacht. Der Evaluator "Öffentlicher Verkehr" im Netzwerk-Dataset ermittelt anhand der Fahrpläne des öffentlichen Verkehrs die erforderliche Fahrzeit zum Durchqueren eines LineVariantElements-Features, deshalb sind Form und Länge irrelevant. Sie können die Formen der LineVariantElements-Features optional bearbeiten, doch sollten Sie die Features nicht teilen oder zusammenführen.

  • Wenn mehr als zwei GTFS-Routen dieselben beiden Haltestellen verbinden, wird ein LineVariantElements-Feature mit dem GTFS-Wert route_id erstellt und die Verbindung darüber bereitgestellt. Beispiel: Bus 10 und Bus 47 bedienen dieselben beiden Haltestellen, wobei keine weiteren Haltestellen dazwischen angesteuert werden. In diesem Fall werden von dem Werkzeug zwei LineVariantElements-Features erstellt, eines für Bus 10 und eines für Bus 47. Diese beiden Linien-Features sind geographisch lagegleich.

  • Da für das Datenmodell des öffentlichen Verkehrs Feature-Classes und Tabellen mit spezifischen Namen erforderlich sind, kann nicht mehr als ein Satz Feature-Classes und Tabellen eines Datenmodells des öffentlichen Verkehrs in dieselbe Geodatabase aufgenommen werden. Nehmen Sie das Ziel-Feature-Dataset nicht in eine Geodatabase auf, die bereits ein Feature-Dataset mit Feature-Classes in einem Datenmodell des öffentlichen Verkehrs enthält.

  • Wenn sich das Ziel-Feature-Dataset in einer Enterprise-Geodatabase befindet, darf es nicht versioniert sein. Vor der Ausführung des Werkzeugs müssen Sie die Daten im Feature-Dataset abgleichen und zurückschreiben und die Registrierung als versioniert entfernen.

Parameter

BeschriftungErläuterungDatentyp
GTFS-Eingabe-Ordner

Ein oder mehrere Ordner mit gültigen GTFS-Daten. Jeder Ordner muss die GTFS-Dateien stops.txt, routes.txt, trips.txt und stop_times.txt sowie die Datei calendar.txt oder calendar_dates.txt oder beide enthalten.

Folder
Ziel-Feature-Dataset

Das Feature-Dataset, in dem das für öffentlichen Verkehr aktivierte Netzwerk-Dataset erstellt wird. Die von diesem Werkzeug erstellten Feature-Classes Stops und LineVariantElements werden in diesem Feature-Dataset abgelegt, die von diesem Werkzeug erstellten Ausgabetabellen in der Parent-Geodatabase des Feature-Datasets.

Das Feature-Dataset kann sich in einer File-Geodatabase oder Enterprise-Geodatabase befinden und über einen Raumbezug verfügen. Wenn sich das Ziel-Feature-Dataset in einer Enterprise-Geodatabase befindet, darf es nicht versioniert sein. Nehmen Sie das Ziel-Feature-Dataset nicht in eine Geodatabase auf, die bereits ein Feature-Dataset mit Feature-Classes in einem Datenmodell des öffentlichen Verkehrs enthält.

Feature Dataset
Leere Stoppzeiten interpolieren
(optional)

Gibt an, ob leere Werte aus den Feldern arrival_time und departure_time in der GTFS-Datei stop_times.txt beim Erstellen der Tabellen für das Datenmodell des öffentlichen Verkehrs interpoliert werden.

  • Aktiviert: Leere Werte werden mit einfacher linearer Interpolation interpoliert. Die GTFS-Originaldaten werden nicht geändert. Wenn die Originaldaten keine leeren Werte enthalten, wird keine Interpolation durchgeführt.
  • Deaktiviert: Leere Werte werden nicht interpoliert. Wenn in den GTFS-Eingabedaten leere Werte gefunden werden, gibt das Werkzeug eine Warnung aus, und das GTFS-Dataset wird nicht verarbeitet. Dies ist die Standardeinstellung.
Boolean
An vorhandene Tabellen anhängen
(optional)

Gibt an, ob die GTFS-Eingabe-Datasets an vorhandene Feature-Classes und Tabellen des Datenmodells für den öffentlichen Verkehr im Ziel-Feature-Dataset und der entsprechenden Parent-Geodatabase angehängt werden.

Dieser Parameter wird ausgeblendet, wenn das Ziel-Feature-Dataset und die entsprechende Parent-Geodatabase keine vorhandenen Feature-Classes und Tabellen eines Datenmodells des öffentlichen Verkehrs enthalten.

  • Aktiviert: Daten werden an die vorhandenen Feature-Classes und Tabellen angehängt.
  • Deaktiviert: Daten werden nicht angehängt. Vorhandene Feature-Classes und Tabellen werden überschrieben. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Ziel-Feature-Dataset

Das Feature-Dataset, dem die neuen Feature-Classes hinzugefügt wurden.

Feature Dataset
Ausgabe-Stopps

Die Feature-Class Stops für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Feature Class
Elemente mit Ausgabelinien-Varianten

Die Feature-Class LineVariantElements für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Feature Class
Ausgabe-Kalender

Die Tabelle Calendars für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Ausgabe-Kalender-Ausnahmen

Die Tabelle CalendarExceptions für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Ausgabelinien

Die Tabelle Lines für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Ausgabelinien-Varianten

Die Tabelle LineVariants für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Ausgabe-Ausführungen

Die Tabelle Runs für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Elemente mit Ausgabe-Fahrplänen

Die Tabelle ScheduleElements für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
Ausgabe-Fahrpläne

Die Tabelle Schedules für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table

arcpy.transit.GTFSToPublicTransitDataModel(in_gtfs_folders, target_feature_dataset, {interpolate}, {append})
NameErläuterungDatentyp
in_gtfs_folders
[in_gtfs_folders,...]

Ein oder mehrere Ordner mit gültigen GTFS-Daten. Jeder Ordner muss die GTFS-Dateien stops.txt, routes.txt, trips.txt und stop_times.txt sowie die Datei calendar.txt oder calendar_dates.txt oder beide enthalten.

Folder
target_feature_dataset

Das Feature-Dataset, in dem das für öffentlichen Verkehr aktivierte Netzwerk-Dataset erstellt wird. Die von diesem Werkzeug erstellten Feature-Classes Stops und LineVariantElements werden in diesem Feature-Dataset abgelegt, die von diesem Werkzeug erstellten Ausgabetabellen in der Parent-Geodatabase des Feature-Datasets.

Das Feature-Dataset kann sich in einer File-Geodatabase oder Enterprise-Geodatabase befinden und über einen Raumbezug verfügen. Wenn sich das Ziel-Feature-Dataset in einer Enterprise-Geodatabase befindet, darf es nicht versioniert sein. Nehmen Sie das Ziel-Feature-Dataset nicht in eine Geodatabase auf, die bereits ein Feature-Dataset mit Feature-Classes in einem Datenmodell des öffentlichen Verkehrs enthält.

Feature Dataset
interpolate
(optional)

Gibt an, ob leere Werte aus den Feldern arrival_time und departure_time in der GTFS-Datei stop_times.txt beim Erstellen der Tabellen für das Datenmodell des öffentlichen Verkehrs interpoliert werden.

  • INTERPOLATELeere Werte werden mit einfacher linearer Interpolation interpoliert. Die GTFS-Originaldaten werden nicht geändert. Wenn die Originaldaten keine leeren Werte enthalten, wird keine Interpolation durchgeführt.
  • NO_INTERPOLATELeere Werte werden nicht interpoliert. Wenn in den GTFS-Eingabedaten leere Werte gefunden werden, gibt das Werkzeug eine Warnung aus, und das GTFS-Dataset wird nicht verarbeitet. Dies ist die Standardeinstellung.
Boolean
append
(optional)

Gibt an, ob die GTFS-Eingabe-Datasets an vorhandene Feature-Classes und Tabellen des Datenmodells für den öffentlichen Verkehr im Ziel-Feature-Dataset und der entsprechenden Parent-Geodatabase angehängt werden.

  • APPENDDaten werden an die vorhandenen Feature-Classes und Tabellen angehängt.
  • NO_APPENDDaten werden nicht angehängt. Vorhandene Feature-Classes und Tabellen werden überschrieben. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
updated_target_feature_dataset

Das Feature-Dataset, dem die neuen Feature-Classes hinzugefügt wurden.

Feature Dataset
output_stops

Die Feature-Class Stops für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Feature Class
output_line_variant_elements

Die Feature-Class LineVariantElements für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Feature Class
output_calendars

Die Tabelle Calendars für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_calendar_exceptions

Die Tabelle CalendarExceptions für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_lines

Die Tabelle Lines für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_line_variants

Die Tabelle LineVariants für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_runs

Die Tabelle Runs für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_schedule_elements

Die Tabelle ScheduleElements für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table
output_schedules

Die Tabelle Schedules für das Network Analyst-Datenmodell des öffentlichen Verkehrs.

Table

Codebeispiel

GTFSToPublicTransitDataModel – Beispiel 1 (Python-Fenster)

Das folgende Skript veranschaulicht, wie die Funktion GTFSToPublicTransitDataModel im Python-Fenster verwendet wird.

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
arcpy.transit.GTFSToPublicTransitDataModel([r"E:\GTFS\Agency1", r"E:\GTFS\Agency2"], fd_path)
GTFSToPublicTransitDataModel – Beispiel 2 (eigenständiges Skript)

Im folgenden eigenständigen Python-Skript wird gezeigt, wie die Funktionen GTFSToPublicTransitDataModel und ConnectPublicTransitDataModelToStreets gemeinsam verwendet werden können, um ein für den öffentlichen Verkehr aktiviertes Netzwerk-Dataset zu erstellen.

import os
import arcpy
arcpy.CheckOutExtension("network")

gtfs_folders = [
    r"E:\GTFS\Agency1",
    r"E:\GTFS\Agency2"
]
streets_orig = r"E:\Data\StreetData.gdb\Streets"

working_folder = r"E:\TransitAnalysis"
nd_template = os.path.join(working_folder, "TransitNetworkTemplate.xml")
gdb_name = "TransitNetwork.gdb"
out_gdb = os.path.join(working_folder, gdb_name)
fd_name = "TransitNetwork"
fd_path = os.path.join(out_gdb, fd_name)
streets = os.path.join(fd_path, "Streets")
nd_name = "TransitNetwork_ND"
nd_path = os.path.join(fd_path, nd_name)

# Create a file geodatabase and feature dataset to store the network dataset
arcpy.management.CreateFileGDB(working_folder, gdb_name)
arcpy.management.CreateFeatureDataset(out_gdb, fd_name, arcpy.SpatialReference(4326))

# Copy the streets data into the feature dataset so it can be used by the network dataset
# If the original streets are not in the same spatial reference as the feature dataset, you might
# need to use the Project tool instead of Copy.
arcpy.management.Copy(streets_orig, streets)

# Convert the GTFS dataset into public transit data model tables and feature classes
arcpy.transit.GTFSToPublicTransitDataModel(gtfs_folders, fd_path)

# Connect the transit stops to the streets and create the rest of the data model feature classes
# Use an expression to connect transit stops only to streets where pedestrians are allowed.
where = "PedestriansAllowed = 1"
arcpy.transit.ConnectPublicTransitDataModelToStreets(fd_path, streets, "100 meters", where)

# Create the network dataset from a template
arcpy.na.CreateNetworkDatasetFromTemplate(nd_template, fd_path)

# Build the network dataset
arcpy.na.BuildNetwork(nd_path)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen