GTFS in Netzwerk-Dataset-Quellen für öffentlichen Verkehr (Conversion)

Zusammenfassung

Konvertiert ein oder mehrere General Transit Feed Specification (GTFS)-Datasets für öffentlichen Verkehr in eine Reihe von Feature-Classes und Tabellen, die beim Erstellen eines Netzwerk-Datasets verwendet werden können. Die Ausgabe-Feature-Classes und Tabellen stellen die Haltestellen, Linien und Fahrpläne des öffentlichen Verkehrs in dem vom Network Analyst-Datenmodell des öffentlichen Verkehrs definierten Format dar und können vom Evaluator Öffentlicher Verkehr in einem Netzwerk-Dataset interpretiert werden.

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 Netzwerk-Dataset-Quellen für öffentlichen Verkehr 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.

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 bei der Bearbeitung übersprungen. Die Ausgabe des Werkzeugs enthält nur Daten aus den erfolgreich verarbeiteten GTFS-Eingabe-Datasets. Wenn einige GTFS-Datasets erfolgreich verarbeitet und andere aufgrund von Datenproblemen übersprungen werden, 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 auf True gesetzt haben.

  • 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. Legen Sie für den Parameter Leere Stoppzeiten interpolieren True fest, 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.

  • 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, die Features sollten jedoch nicht geteilt oder zusammengeführt werden.

  • Wenn mehr als zwei GTFS-Routen dieselben beiden Haltestellen verbinden, wird ein LineVariantElements-Feature mit der GTFS 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. Das Ziel-Feature-Dataset sollte sich nicht in einer Geodatabase befinden, die bereits ein anderes 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.

Syntax

arcpy.conversion.GTFSToNetworkDatasetTransitSources(in_gtfs_folders, target_feature_dataset, {interpolate}, {append})
ParameterErklärungDatentyp
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. Das Ziel-Feature-Dataset sollte sich nicht in einer Geodatabase befinden, die bereits ein anderes 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 sollen.

  • 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 sollen.

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

Abgeleitete Ausgabe

NameErklärungDatentyp
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.

Tabelle
output_calendar_exceptions

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

Tabelle
output_lines

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

Tabelle
output_line_variants

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

Tabelle
output_runs

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

Tabelle
output_schedule_elements

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

Tabelle
output_schedules

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

Tabelle

Codebeispiel

GTFSToNetworkDatasetTransitSources – Beispiel 1 (Python-Fenster)

Das folgende Skript veranschaulicht, wie Sie das Werkzeug GTFSToNetworkDatasetTransitSources im Python-Fenster verwenden.

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

Im folgenden eigenständigen Python-Skript wird gezeigt, wie die Werkzeuge GTFSToNetworkDatasetTransitSources und ConnectNetworkDatasetTransitSourcesToStreets 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.conversion.GTFSToNetworkDatasetTransitSources(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.conversion.ConnectNetworkDatasetTransitSourcesToStreets(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