GTFS в модель данных общественного транспорта (Общественный транспорт)

Краткая информация

Конвертирует один или несколько наборов данных общественного транспорта General Transit Feed Specification (GTFS) в набор классов объектов и таблиц, представляющих остановки, маршруты и расписания общественного транспорта в формате, определенном моделью данных общественного транспорта Network Analyst.

Классы объектов и таблицы модели данных транспорта, полученные данным инструментом:

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

Выходные данные этого инструмента могут использоваться в качестве входных для инструмента Связать модель данных общественного транспорта с улицами для подготовки всех входных данных для набора сетевых данных с поддержкой возможностей для транспорта. Полный рабочий процесс создания такого набора сетевых данных описывается в разделе Создание и использование набора сетевых данных с данными общественного транспорта.

Выходные данные этого инструмента могут использоваться в качестве входных для инструмента Вычисление частоты сервиса транспорта.

Использование

  • Данные всех входных наборов GTFS будут собраны в одинаковый набор выходных таблиц и классов пространственных объектов. Частой причиной использования нескольких входных наборов данных GTFS является моделирование агломерации, в которой несколько компаний в сфере общественного транспорта работают в одной географической области.

  • Инструмент выполняет некоторые проверки для каждого входного набора данных GTFS, чтобы определить возможные основные проблемы в данных. При определении проблемы, инструмент выдает предупреждение и не выполняет обработку этого набора данных. Выходные данные инструмента будут включать только те входные наборы данных GTFS, которые были успешно обработаны. Если некоторые из наборов данных GTFS были успешно обработаны, а другие нет из-за проблем с данными, вы можете исправить эти проблемы и присоединить исправленные наборы GTFS к уже полученным выходным данных инструмента, запустив инструмент снова с отмеченным параметром Присоединить к существующим таблицам (append = "APPEND" в Python).

  • Каждый входной набор данных GTFS должен содержать файлы stops.txt, routes.txt, trips.txt и stop_times.txt, а также либо файл calendar.txt, либо файл calendar_dates.txt, либо оба этих файла. Файл frequencies.txt (если он есть) будет использоваться.

  • Хотя GTFS разрешает наличие пустых значений для полей arrival_time и departure_time в файле stop_times.txt, для модели данных общественного транспорта Network Analyst необходимы точные значения времени, чтобы предоставить их анализатору Общественного транспорта набора сетевых данных. Отметьте параметр Интерполяция пустых времен остановок (interpolate = "INTERPOLATE" в Python), чтобы оценить время прибытия и отправления для входного набора данных GTFS с файлом stop_times.txt, не содержащим точных значений для всех полей arrival_time и departure_time.

  • Инструмент создает класс пространственных объектов Stops, взяв значения широты и долготы в полях stop_lat и stop_lon файла stops.txt GTFS.

  • Поля stop_lat и stop_lon в файле GTFS stops.txt соответствуют широте и долготе остановок. В соответствии со спецификацией эти поля будут пустыми, если поле остановок location_type содержит значения 3 или 4. Тем не менее, так как инструмент создает географические объекты, соответствующие остановкам, на карту не наносятся остановки, для которых отсутствует широта или долгота. Соответственно, остановки со значениями location_type 3 или 4, которые содержат для полей stop_lat или stop_lon пустые значения, будут пропущены и не включены в выходные данные инструмента.

  • Инструмент создает объекты LineVariantElements, соединяя прямой каждую пару остановок, соединенных маршрутом транспорта.

    Примечание:

    Объекты LineVariantElements не предназначены для представления фактических географических линий маршрутов, пройденных автобусами, поездами или другим общественным транспортом – они отображают логические связи в транспортной системе. Объекты LineVariantElements не предназначены для визуализации. Анализатор Общественного транспорта набора сетевых данных будет использовать расписания транспорта для определения времени, необходимого для прохождения объекта LineVariantElements, поэтому его форма и длина не имеют значения. Однако вы можете вручную редактировать геометрию объектов LineVariantElements, при этом их нельзя разрезать и объединять.

  • Если несколько маршрутов GTFS или вариантов одного и того же маршрута обеспечивают сообщение между одними и теми же двумя остановками, будет создан один объект LineVariantElements для каждого маршрута или каждого варианта маршрута, предоставляющего это сообщение.

    Например, если GTFS route_id 10 и GTFS route_id 47 курсируют между одними и теми же двумя остановками, между которыми других остановок нет, инструмент создаст два объекта LineVariantElements: один для route_id 10 и один для route_id 47. Эти два линейных объекта будут пространственно совпадать.

    Точно так же, если route_id 15 обслуживает две разные конечные станции, но все поездки route_id 15, независимо от конечной станции, соединяют конкретную пару остановок, будет создан один объект LineVariantElements для каждой конечной станции, что приведет к двум совпадающим объектам LineVariantElements. Эти варианты маршрута обычно соответствуют различным значениям shape_id в наборе данных GTFS.

  • Поскольку для модели данных общественного транспорта требуются классы пространственных объектов и таблицы с конкретными именами, невозможно включить более одного набора классов объектов и таблиц модели данных общественного транспорта в одну и ту же базу геоданных. Не включайте целевой набор классов объектов в базу геоданных, в которой уже есть набор классов объектов, содержащий классы объектов модели данных общественного транспорта.

  • Если целевой набор классов объектов находится в многопользовательской базе геоданных, он должен быть зарегистрирован как версионный. Перед запуском инструмента согласуйте и закрепите данные в наборе классов объектов, а затем отмените его регистрацию, как версионного.

Параметры

ПодписьОписаниеТип данных
Входные папки GTFS

Данные GTFS содержатся в одной или в нескольких папках. Каждая папка GTFS должна содержать файлы stops.txt, routes.txt, trips.txt и stop_times.txt, а также либо файл calendar.txt, либо файл calendar_dates.txt, либо оба этих файла.

Folder
Целевой набор классов объектов

Набор классов объектов, в котором будет создан транспортный набор сетевых данных. Классы пространственных объектов Stops и LineVariantElements, созданные этим инструментом, будут размещены в этом наборе данных, а выходные таблицы, созданные им, в базе геоданных, в которой находится набор.

Набор данных может находиться в файловой или многопользовательской базе геоданных, и у него может быть любая пространственная привязка. Если целевой набор классов объектов находится в многопользовательской базе геоданных, он должен быть зарегистрирован как версионный. Не включайте целевой набор классов объектов в базу геоданных, в которой уже есть набор классов объектов, содержащий классы объектов модели данных общественного транспорта.

Feature Dataset
Интерполяция пустых времен остановок
(Дополнительный)

Указывает, следует ли интерполировать пустые значения из полей arrival_time и departure_time в файле GTFS stop_times.txt при создании таблиц модели данных общественного транспорта.

  • Отмечено – пустые значения будут интерполированы с помощью простой линейной интерполяции. Исходные данные GTFS не будут изменены. Если в исходных данных нет пустых значений, то интерполяция не будет производиться.
  • Не отмечено – пустые значения не будут интерполированы. Если пустые значения были найдены во входных данных GTFS, инструмент выдаст предупреждение и не будет продолжать обработку набора данных GTFS. Это значение по умолчанию
Boolean
Присоединить к существующим таблицам
(Дополнительный)

Указывает, нужно ли присоединять входные наборы данных GTFS к существующим классам пространственных объектов и таблицам модели данных общественного транспорта в целевом наборе классов объектов и его родительской базе геоданных.

Этот параметр будет скрыт, если целевой набор классов объектов и его родительская база геоданных не содержат существующих классов пространственных объектов и таблиц модели данных общественного транспорта.

  • Отмечено – данные будут присоединены к существующим классам пространственных объектов и таблицам.
  • Не отмечено – данные не будут присоединены. Существующие классы пространственных объектов и таблицы будут перезаписаны. Это значение по умолчанию
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленный целевой набор классов объектов

Набор векторных данных, в который были добавлены новые классы пространственных объектов.

Feature Dataset
Выходные остановки

Класс пространственных объектов Stops модели данных общественного транспорта Network Analyst.

Feature Class
Элементы вариантов выходных линий

Класс пространственных объектов LineVariantElements модели данных общественного транспорта Network Analyst.

Feature Class
Выходные календари

Таблица Calendars модели данных общественного транспорта Network Analyst.

Table
Выходные исключения календаря

Таблица CalendarExceptions модели данных общественного транспорта Network Analyst.

Table
Выходные линии

Таблица Lines модели данных общественного транспорта Network Analyst.

Table
Варианты выходных линий

Таблица LineVariants модели данных общественного транспорта Network Analyst.

Table
Выходные проезды

Таблица Runs модели данных общественного транспорта Network Analyst.

Table
Элементы выходных расписаний

Таблица ScheduleElements модели данных общественного транспорта Network Analyst.

Table
Выходные расписания

Таблица Schedules модели данных общественного транспорта Network Analyst.

Table

arcpy.transit.GTFSToPublicTransitDataModel(in_gtfs_folders, target_feature_dataset, {interpolate}, {append})
ИмяОписаниеТип данных
in_gtfs_folders
[in_gtfs_folders,...]

Данные GTFS содержатся в одной или в нескольких папках. Каждая папка GTFS должна содержать файлы stops.txt, routes.txt, trips.txt и stop_times.txt, а также либо файл calendar.txt, либо файл calendar_dates.txt, либо оба этих файла.

Folder
target_feature_dataset

Набор классов объектов, в котором будет создан транспортный набор сетевых данных. Классы пространственных объектов Stops и LineVariantElements, созданные этим инструментом, будут размещены в этом наборе данных, а выходные таблицы, созданные им, в базе геоданных, в которой находится набор.

Набор данных может находиться в файловой или многопользовательской базе геоданных, и у него может быть любая пространственная привязка. Если целевой набор классов объектов находится в многопользовательской базе геоданных, он должен быть зарегистрирован как версионный. Не включайте целевой набор классов объектов в базу геоданных, в которой уже есть набор классов объектов, содержащий классы объектов модели данных общественного транспорта.

Feature Dataset
interpolate
(Дополнительный)

Указывает, следует ли интерполировать пустые значения из полей arrival_time и departure_time в файле GTFS stop_times.txt при создании таблиц модели данных общественного транспорта.

  • INTERPOLATEПустые значения будут интерполированы с помощью простой линейной интерполяции. Исходные данные GTFS не будут изменены. Если в исходных данных нет пустых значений, то интерполяция не будет производиться.
  • NO_INTERPOLATEПустые значения не будут интерполированы. Если пустые значения были найдены во входных данных GTFS, инструмент выдаст предупреждение и не будет продолжать обработку набора данных GTFS. Это значение по умолчанию
Boolean
append
(Дополнительный)

Указывает, нужно ли присоединять входные наборы данных GTFS к существующим классам пространственных объектов и таблицам модели данных общественного транспорта в целевом наборе классов объектов и его родительской базе геоданных.

  • APPENDДанные будут присоединены к существующим классам пространственных объектов и таблицам.
  • NO_APPENDДанные не будут присоединены. Существующие классы пространственных объектов и таблицы будут перезаписаны. Это значение по умолчанию
Boolean

Производные выходные данные

ИмяОписаниеТип данных
updated_target_feature_dataset

Набор векторных данных, в который были добавлены новые классы пространственных объектов.

Feature Dataset
output_stops

Класс пространственных объектов Stops модели данных общественного транспорта Network Analyst.

Feature Class
output_line_variant_elements

Класс пространственных объектов LineVariantElements модели данных общественного транспорта Network Analyst.

Feature Class
output_calendars

Таблица Calendars модели данных общественного транспорта Network Analyst.

Table
output_calendar_exceptions

Таблица CalendarExceptions модели данных общественного транспорта Network Analyst.

Table
output_lines

Таблица Lines модели данных общественного транспорта Network Analyst.

Table
output_line_variants

Таблица LineVariants модели данных общественного транспорта Network Analyst.

Table
output_runs

Таблица Runs модели данных общественного транспорта Network Analyst.

Table
output_schedule_elements

Таблица ScheduleElements модели данных общественного транспорта Network Analyst.

Table
output_schedules

Таблица Schedules модели данных общественного транспорта Network Analyst.

Table

Пример кода

GTFSToPublicTransitDataModel, пример 1 (окно Python)

Пример скрипта для использования функции GTFSToPublicTransitDataModel в окне Python.

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
arcpy.transit.GTFSToPublicTransitDataModel([r"E:\GTFS\Agency1", r"E:\GTFS\Agency2"], fd_path)
GTFSToPublicTransitDataModel, пример 2 (автономный скрипт).

В следующем автономном скрипте Python показано, как использовать вместе функции GTFSToPublicTransitDataModel и ConnectPublicTransitDataModelToStreets для создания транспортного набора сетевых данных.

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)

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы