Соединить источники набора сетевых данных транспорта с улицами (Конвертация)

Сводка

Соединяет остановки общественного транспорта с улицами для применения в транспортном наборе сетевых данных. Инструмент создает классы объектов 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 2 будут соединять родительскую станцию со входами на нее, а линии StopConnectors со значением ConnectorType 1 будут соединять остановки с родительскими станциями.

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

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

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

Синтаксис

ConnectNetworkDatasetTransitSourcesToStreets(target_feature_dataset, in_streets_features, search_distance, expression)
ParameterОбъяснениеТип данных
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

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

NameОбъяснениеТип данных
updated_target_feature_dataset

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

Набор классов объектов
updated_in_streets_features

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

Класс пространственных объектов
updated_in_stops

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

Класс пространственных объектов
output_stops_on_streets

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

Класс пространственных объектов
output_stop_connectors

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

Класс пространственных объектов

Пример кода

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

В следующем скрипте показано, как использовать инструмент ConnectNetworkDatasetTransitSourcesToStreets в окне Python.

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
streets = os.path.join(fd_path, "Streets")
where = "PedestriansAllowed = 1"
arcpy.conversion.ConnectNetworkDatasetTransitSourcesToStreets(fd_path, streets, "100 meters", where)
ConnectNetworkDatasetTransitSourcesToStreets, пример 2 (автономный скрипт)

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

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)

Environments

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

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

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

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