Связать модель данных общественного транспорта с улицами (Общественный транспорт)

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

Соединяет остановки общественного транспорта с улицами для использования их в транспортном наборе сетевых данных. Этот инструмент создает классы пространственных объектов StopsOnStreets и StopConnectors, заданные в модели данных общественного транспорта Network Analyst и запускаемые, как часть большого рабочего процесса создания набора сетевых данных с общественным транспортом, описанного в разделе Создание и использование набора сетевых данных с данными общественного транспорта.

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

Инструмент создаст копию класса объектов Stops, которая должна присутствовать в целевом наборе классов объектов, и замкнет скопированные объекты Stops на входные объекты-улицы, соблюдая заданное расстояние поиска и выражение. Затем инструмент создает объекты StopConnectors, создавая прямую линию между каждой остановкой и ее замкнутой копией, что позволяет получить соединение между местоположением остановки и местоположением ее замыкания на объекте-улице. К входным объектам-улицам будут добавлены вершины в местоположениях замкнутых на них остановок, что обеспечивает хорошую связность набора сетевых данных.

Остановки транспорта могут быть присоединены к улицам с помощью версии замкнутых остановок, линий соединения и вершин на объекте-улице.
На этом рисунке показано, как остановки могут соединяться с объектами-улицами в наборе сетевых данных. В части 1 показана остановка (оранжевый круг) на линии транспорта (синяя линия). В части 2 показана вершины (зеленый треугольник) добавленный к ближайшей точке ближайшей улицы (черная линия). В части 3 показано копия остановки, замкнутая на улицу (пурпурный круг). В части 4 показана линия соединения, сгенерированная для соединения остановки с улицей. Перемещение пешеходов между улицами и линиями транспорта моделируется с использованием этих соединений и политики соединений в наборе сетевых данных.

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

  • Целевой набор классов объектов, используемый инструментом, должен уже содержать класс точечных объектов Stops со схемой, описанной моделью данных общественного транспорта Network Analyst. Допустимый класс пространственных объектов Stops можно создать с помощью инструмента GTFS в модель данных общественного транспорта.

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

  • После запуска инструмента входные объекты-улицы будут изменены. В точках пересечения объектов StopsOnStreets с улицами будут добавлены вершины. Если вы не хотите, чтобы данные были изменены, создайте их копию перед запуском инструмента.

  • Если входной класс объектов Stops содержит родительские станции (объекты со значением GStopType 1), они будут соединены с улицами, а дочерние станции будут соединены с родительскими. Остановки, у которых есть родительские станции, не будут напрямую связаны с улицами.

    Остановка с родительской станцией
    Это остановка с родительской станцией. Остановка (оранжевый кружок) соединяется с родительской станцией (синий квадрат) с помощью линии соединения (серая линия) с ConnectorType 1. Родительская станция соединяется с улицей с помощью линии соединения с ConnectorType 0.

  • Если входной класс объектов Stops содержит входы на станции (объекты со значением GStopType 2), они будут замкнуты на улицы, а родительские станции будут соединены со входами. В этой ситуации, входы на станцию будут совпадать с улицами, линии StopConnectors со значением ConnectorType будут соединять родительскую станцию со входами на нее, а линии StopConnectors со значением ConnectorType будут соединять остановки с родительскими станциями.

    Родительская остановка с точно заданными входами на станцию.
    Это родительская остановка с точно заданными входами на станцию. Остановки (оранжевые кружки) соединяются с родительской станцией (синий квадрат) с помощью линий соединения (серые линии) с ConnectorType 1. Родительская станция соединяется с улицами в местах входов на станцию (зеленые квадраты) с помощью линий соединения с ConnectorType 2.

  • После запуска инструмента, класс объектов Stops может быть изменен. Объекты-остановки со значением GStopType 2, представляющие собой входы на станцию, могут быть удалены. Эти объекты будут включены в выходной класс объектов StopsOnStreets, чтобы смоделировать правильные соединения улиц с остановками через входы на станцию. Родительские станции, которые пространственно совпадают с остановками, также могут быть удалены.

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

Параметры

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

Набор классов объектов, в котором будет создан транспортный набор сетевых данных. Этот набор классов объектов должен уже содержать класс точечных объектов Stops со схемой, описанной моделью данных общественного транспорта Network Analyst. Корректный класс пространственных объектов Stops можно создать с помощью инструмента GTFS в источники данных транспорта набора сетевых данных.

Примечание:

После запуска инструмента, класс объектов Stops может быть изменен. Объекты-остановки со значением GStopType 2, представляющие собой входы на станцию, могут быть удалены. Эти объекты будут включены в выходной класс объектов StopsOnStreets, чтобы смоделировать правильные соединения улиц с остановками через входы на станцию. Родительские станции, которые пространственно совпадают с остановками, также могут быть удалены.

Feature Dataset
Входные объекты-улицы

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

Примечание:

После запуска инструмента входные объекты-улицы будут изменены. В точках пересечения объектов StopsOnStreets с улицами будут добавлены вершины. Если вы не хотите, чтобы данные были изменены, создайте их копию перед запуском инструмента.

Feature Layer
Расстояние поиска

Расстояние поиска для замыкания остановок транспорта на входные объекты-улицы. Остановки, которые находятся вне расстояния поиска, не будут замкнуты и не будут соединены с улицами. Небольшие расстояние поиска не позволяет замыкать остановки на улицы, которые слишком далеко, но увеличивает вероятность, что остановки не будут замкнуты на соответствующие улицы. Большое расстояние поиска увеличивает число замкнутых остановок, но может привести к ошибкам, которые необходимо исправить редактированием данных улиц. Если в пределах расстояния поиска определенной остановки улицы не найдены, выходной объект StopsOnStreets не будет замкнут на улицу, а будет совпадать с соответствующим объектов в Stops, что может привести с слабой связности набора сетевых данных в этом месте.

По умолчанию используется 100 метров.

Linear Unit
Выражение

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

SQL Expression

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

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

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

Feature Dataset
Обновленные входные объекты-улицы

Входной класс объектов-улиц, который может быть изменен инструментом.

Feature Class
Обновленные входные остановки

Класс пространственных объектов Stops, расположенный в целевом наборе классов объектов, который может быть изменен инструментом.

Feature Class
Выходные остановки на улицах

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

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

Класс объектов StopConnectors модели данных общественного транспорта Network Analyst, созданный путем построения прямых линий, соединяющих исходные местоположения остановок и точки, замкнутые на объектах-улицах.

Feature Class

arcpy.transit.ConnectPublicTransitDataModelToStreets(target_feature_dataset, in_streets_features, search_distance, expression)
ИмяОписаниеТип данных
target_feature_dataset

Набор классов объектов, в котором будет создан транспортный набор сетевых данных. Этот набор классов объектов должен уже содержать класс точечных объектов Stops со схемой, описанной моделью данных общественного транспорта Network Analyst. Корректный класс пространственных объектов Stops можно создать с помощью инструмента GTFS в источники данных транспорта набора сетевых данных.

Примечание:

После запуска инструмента, класс объектов Stops может быть изменен. Объекты-остановки со значением GStopType 2, представляющие собой входы на станцию, могут быть удалены. Эти объекты будут включены в выходной класс объектов StopsOnStreets, чтобы смоделировать правильные соединения улиц с остановками через входы на станцию. Родительские станции, которые пространственно совпадают с остановками, также могут быть удалены.

Feature Dataset
in_streets_features

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

Примечание:

После запуска инструмента входные объекты-улицы будут изменены. В точках пересечения объектов StopsOnStreets с улицами будут добавлены вершины. Если вы не хотите, чтобы данные были изменены, создайте их копию перед запуском инструмента.

Feature Layer
search_distance

Расстояние поиска для замыкания остановок транспорта на входные объекты-улицы. Остановки, которые находятся вне расстояния поиска, не будут замкнуты и не будут соединены с улицами. Небольшие расстояние поиска не позволяет замыкать остановки на улицы, которые слишком далеко, но увеличивает вероятность, что остановки не будут замкнуты на соответствующие улицы. Большое расстояние поиска увеличивает число замкнутых остановок, но может привести к ошибкам, которые необходимо исправить редактированием данных улиц. Если в пределах расстояния поиска определенной остановки улицы не найдены, выходной объект StopsOnStreets не будет замкнут на улицу, а будет совпадать с соответствующим объектов в Stops, что может привести с слабой связности набора сетевых данных в этом месте.

По умолчанию используется 100 метров.

Linear Unit
expression

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

SQL Expression

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

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

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

Feature Dataset
updated_in_streets_features

Входной класс объектов-улиц, который может быть изменен инструментом.

Feature Class
updated_in_stops

Класс пространственных объектов Stops, расположенный в целевом наборе классов объектов, который может быть изменен инструментом.

Feature Class
output_stops_on_streets

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

Feature Class
output_stop_connectors

Класс объектов StopConnectors модели данных общественного транспорта Network Analyst, созданный путем построения прямых линий, соединяющих исходные местоположения остановок и точки, замкнутые на объектах-улицах.

Feature Class

Пример кода

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

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

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
streets = os.path.join(fd_path, "Streets")
where = "PedestriansAllowed = 1"
arcpy.transit.ConnectPublicTransitDataModelToStreets(fd_path, streets, "100 meters", where)
ConnectPublicTransitDataModelToStreets, пример 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: Да

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