Skip To Content

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

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.

  • 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, bei diesem Werkzeug müssen jedoch alle Zeilen in der Datei stop_times.txt explizite Werte für arrival_time und departure_time enthalten. Damit der Evaluator "Öffentlicher Verkehr" im Netzwerk-Dataset verwendet werden kann, müssen im Network Analyst-Datenmodell für öffentlichen Verkehr genaue Uhrzeiten angegeben sein.

  • 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 bezeichnen nicht die tatsächlich von Bussen, Zügen oder anderen öffentlichen Verkehrsmitteln verwendeten Strecken, 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 die 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

GTFSToNetworkDatasetTransitSources(in_gtfs_folders, target_feature_dataset)
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

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: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen