Conectar orígenes de transporte de dataset de red a calles (Conversión)

Resumen

Conecta paradas de transporte con entidades de calle para su uso en un dataset de red habilitado para el transporte. Esta herramienta crea las clases de entidad StopsOnStreets y StopConnectors definidas por el modelo de datos de transporte público de Network Analyst y está destinada a ejecutarse como parte de un flujo de trabajo mayor para la creación de un dataset de red de transporte descrito en Crear y utilizar un dataset de red con datos de transporte público.

Para modelar de forma realista el desplazamiento en transporte público en un dataset de red, la red debe permitir que los peatones se desplacen a pie a las paradas de transporte público, tomen el transporte público y se desplacen a pie a sus destinos. La red debe incluir datos de transporte público y datos de calles, y las paradas y líneas de transporte deben estar conectadas con las calles de manera controlada. Los peatones solo deberían poder subir a o bajar de las líneas de transporte en las paradas, y las paradas deben estar conectadas con las calles. Esta herramienta asegura esta conexión.

La herramienta creará una copia de la clase de entidad Stops, que debe estar presente en el dataset de entidades de destino, y alinea las entidades Stops copiadas con las entidades de calle de entrada, sujetas a la distancia y expresión de búsqueda especificadas. A continuación, la herramienta crea entidades StopConnectors generando una línea recta entre cada parada y su copia alineada, con lo que se crea una conexión entre la ubicación de la parada y la ubicación donde se alineó con una entidad de calle. Se agregarán vértices a las entidades de calles de entrada en las ubicaciones de las paradas alineadas para asegurar una buena conectividad del dataset de red.

Las paradas de transporte público se pueden conectar con las calles utilizando una versión alineada de las paradas, una línea de conexión y un vértice en la entidad de calle.
Esta ilustración muestra cómo se pueden conectar las paradas de tránsito con las entidades de las calles en el dataset de red. La parte 1 muestra una parada de transporte (círculo naranja) en una línea de transporte (línea azul). La parte 2 muestra un vértice (triángulo verde) agregado al punto más cercano de la entidad de calle más cercana (línea negra). La parte 3 muestra una copia de la parada alineada con la entidad de calle (círculo morado). La parte 4 muestra una línea de conexión generada para conectar la parada con la calle. El desplazamiento de peatones entre las calles y la línea de transporte se modela utilizando estas conexiones y la política de conectividad en el dataset de red.

Uso

  • El dataset de entidades de destino utilizado en esta herramienta ya debe existir y contener una clase de entidad de punto llamada Stops con el esquema descrito por el modelo de datos de transporte público de Network Analyst. Se puede crear una clase de entidad Stops válida con la herramienta GTFS a orígenes de transporte de dataset de red.

  • La herramienta alineará las paradas de transporte público del dataset de entidades de destino con las entidades de calle. Como en cualquier otra operación de edición, es mejor tener todas las entidades en la misma referencia espacial para evitar posibles errores. Es recomendable que se asegure de que el dataset de entidades de destino y las entidades de calles de entrada tengan la misma referencia espacial.

  • Las entidades de calles de entrada se modificarán después de ejecutar la herramienta. Se agregarán vértices en las ubicaciones donde las entidades StopsOnStreets se intersecan con las calles. Si no desea que se modifiquen los datos de calles, haga una copia de los mismos antes de ejecutar esta herramienta.

  • Si la clase de entidad Stops de entrada contiene estaciones principales (entidades con un valor de 1 para GStopType), las estaciones principales se conectarán a las calles y las paradas secundarias se conectarán a la estación principal. Las paradas con estaciones principales no se conectarán directamente a las calles.

    Una parada con una estación principal
    Esta es una parada con una estación principal. La parada (círculo naranja) se conecta a la estación principal (cuadrado azul) mediante una línea de conexión (línea gris) con ConnectorType 1. La estación principal se conecta a la calle mediante una línea de conexión con ConnectorType 0.

  • Si la clase de entidad Stops de entrada contiene accesos a estaciones (entidades con un valor de 2 para GStopType), los accesos a estaciones se alinearán con las calles y las estaciones principales se conectarán a los accesos a estaciones. En esta situación, los accesos a estaciones coincidirán con las calles, las líneas StopConnectors con un valor de 2 para ConnectorType conectarán la estación principal a sus accesos y las líneas StopConnectors con un valor de 1 para ConnectorType conectarán paradas a la estación principal.

    Una estación principal con accesos a la estación explícitamente definidos.
    Se trata de una estación superior con entradas de estación definidas explícitamente. Las paradas (círculos naranja) se conectan a la estación principal (cuadrado azul) mediante líneas de conexión (líneas grises) con ConnectorType 1. La estación principal se conecta a las calles en las ubicaciones de accesos a la estación (cuadrados verdes) mediante líneas de conexión con ConnectorType 2.

  • Es posible que la clase de entidad Stops sufra modificaciones después de ejecutar la herramienta. Es posible que las entidades de parada con un valor de 2 para GStopType, que representan accesos a estaciones, se eliminen. En su lugar, estas entidades de parada se incluirán en la clase de entidad StopsOnStreets de salida para modelar conexiones correctas desde las calles a las paradas, pasando por los accesos a las estaciones. Es posible que las estaciones principales espacialmente coincidentes con paradas también se eliminen.

  • Al ejecutar esta herramienta en un Python independiente, si la clase de entidad Stops de entrada contiene estaciones principales o accesos a estaciones, es posible que la consola escriba el mensaje de advertencia 001059. Este mensaje de advertencia es algo previsto y no indica ningún problema.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset de entidades de destino

El dataset de entidades donde se creará el dataset de red habilitado para el transporte. Este dataset de entidades ya debe existir y contener una clase de entidad de punto llamada Stops con el esquema descrito por el modelo de datos de transporte público de Network Analyst. Es posible crear una clase de entidad Stops válida con la herramienta GTFS a orígenes de transporte de dataset de red.

Nota:

Es posible que la clase de entidad Stops sufra modificaciones después de ejecutar la herramienta. Es posible que las entidades de parada con un valor de 2 para GStopType, que representan accesos a estaciones, se eliminen. En su lugar, estas entidades de parada se incluirán en la clase de entidad StopsOnStreets de salida para modelar conexiones correctas desde las calles a las paradas, pasando por los accesos a las estaciones. Es posible que las estaciones principales espacialmente coincidentes con paradas también se eliminen.

Feature Dataset
Entidades de calles de entrada

Una clase de entidad de polilínea de calles a la que se conectarán paradas y líneas de transporte. Esta clase de entidad de calles debe ser la misma clase de entidad que prevé usar en su dataset de red habilitado para el transporte para modelar la presencia de peatones en las calles. La clase de entidad no tiene por qué estar en el dataset de entidades de destino para ejecutar esta herramienta; sin embargo, la clase de entidad sí debe estar en el dataset de entidades de destino en el momento en que cree el dataset de red.

Nota:

Las entidades de calles de entrada se modificarán después de ejecutar la herramienta. Se agregarán vértices en las ubicaciones donde las entidades StopsOnStreets se intersecan con las calles. Si no desea que se modifiquen sus datos de calles, haga una copia de los mismos antes de ejecutar esta herramienta.

Feature Layer
Distancia de búsqueda

La distancia de búsqueda para alinear paradas de transporte con las entidades de calles de entrada. Las paradas que estén fuera de la distancia de búsqueda no se alinearán y no se conectarán a las calles. Una distancia de búsqueda pequeña asegurará que las paradas no se alineen con calles que estén muy lejos, pero aumentará la probabilidad de que las paradas no se alineen cuando deberían. Una distancia de búsqueda grande aumenta el número de paradas que probablemente se alinearán, pero puede dar lugar a errores que deberán corregirse editando los datos de calles. Si no se encuentran entidades de calles en la distancia de búsqueda de una parada concreta, la entidad StopsOnStreets de salida no se alineará con ninguna calle y coincidirá con su entidad correspondiente en Stops, lo que podría dar lugar a una mala conectividad en el dataset de red en esa ubicación.

El valor predeterminado es 100 metros.

Linear Unit
Expresión

Una expresión SQL utilizada para seleccionar un subconjunto de registros de entidades de calles de entrada. Las paradas de transporte se alinearán solamente con entidades de calle que coincidan con esta expresión. Por ejemplo, la expresión puede usarse para evitar que las paradas se alineen con calles en las que está prohibido el paso de peatones.

SQL Expression

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset de entidades de destino actualizado

Es posible que se haya actualizado el dataset de entidades al que se han agregado las nuevas clases de entidad, y las clases de entidad existentes se pueden haber actualizado.

Feature Dataset
Entidades de calles de entrada actualizadas

La clase de entidad de calle de entrada, posiblemente modificada por la herramienta.

Feature Class
Paradas de entrada actualizadas

La clase de entidad Stops ubicada en el dataset de entidades de destino, posiblemente modificada por la herramienta.

Feature Class
Paradas de salida en calles

La clase de entidad StopsOnStreets del modelo de datos de transporte público de Network Analyst, creada mediante la alineación de una copia de las entidades Stops con las entidades de calles de entrada.

Feature Class
Conectores de parada de salida

La clase de entidad StopConnectors del modelo de datos de transporte público de Network Analyst, creada mediante el trazado de una línea recta entre la ubicación original de la parada y la ubicación en la que se alineó con una entidad de calle.

Feature Class

arcpy.conversion.ConnectNetworkDatasetTransitSourcesToStreets(target_feature_dataset, in_streets_features, search_distance, expression)
NombreExplicaciónTipo de datos
target_feature_dataset

El dataset de entidades donde se creará el dataset de red habilitado para el transporte. Este dataset de entidades ya debe existir y contener una clase de entidad de punto llamada Stops con el esquema descrito por el modelo de datos de transporte público de Network Analyst. Es posible crear una clase de entidad Stops válida con la herramienta GTFS a orígenes de transporte de dataset de red.

Nota:

Es posible que la clase de entidad Stops sufra modificaciones después de ejecutar la herramienta. Es posible que las entidades de parada con un valor de 2 para GStopType, que representan accesos a estaciones, se eliminen. En su lugar, estas entidades de parada se incluirán en la clase de entidad StopsOnStreets de salida para modelar conexiones correctas desde las calles a las paradas, pasando por los accesos a las estaciones. Es posible que las estaciones principales espacialmente coincidentes con paradas también se eliminen.

Feature Dataset
in_streets_features

Una clase de entidad de polilínea de calles a la que se conectarán paradas y líneas de transporte. Esta clase de entidad de calles debe ser la misma clase de entidad que prevé usar en su dataset de red habilitado para el transporte para modelar la presencia de peatones en las calles. La clase de entidad no tiene por qué estar en el dataset de entidades de destino para ejecutar esta herramienta; sin embargo, la clase de entidad sí debe estar en el dataset de entidades de destino en el momento en que cree el dataset de red.

Nota:

Las entidades de calles de entrada se modificarán después de ejecutar la herramienta. Se agregarán vértices en las ubicaciones donde las entidades StopsOnStreets se intersecan con las calles. Si no desea que se modifiquen sus datos de calles, haga una copia de los mismos antes de ejecutar esta herramienta.

Feature Layer
search_distance

La distancia de búsqueda para alinear paradas de transporte con las entidades de calles de entrada. Las paradas que estén fuera de la distancia de búsqueda no se alinearán y no se conectarán a las calles. Una distancia de búsqueda pequeña asegurará que las paradas no se alineen con calles que estén muy lejos, pero aumentará la probabilidad de que las paradas no se alineen cuando deberían. Una distancia de búsqueda grande aumenta el número de paradas que probablemente se alinearán, pero puede dar lugar a errores que deberán corregirse editando los datos de calles. Si no se encuentran entidades de calles en la distancia de búsqueda de una parada concreta, la entidad StopsOnStreets de salida no se alineará con ninguna calle y coincidirá con su entidad correspondiente en Stops, lo que podría dar lugar a una mala conectividad en el dataset de red en esa ubicación.

El valor predeterminado es 100 metros.

Linear Unit
expression

Una expresión SQL utilizada para seleccionar un subconjunto de registros de entidades de calles de entrada. Las paradas de transporte se alinearán solamente con entidades de calle que coincidan con esta expresión. Por ejemplo, la expresión puede usarse para evitar que las paradas se alineen con calles en las que está prohibido el paso de peatones.

SQL Expression

Salida derivada

NombreExplicaciónTipo de datos
updated_target_feature_dataset

Es posible que se haya actualizado el dataset de entidades al que se han agregado las nuevas clases de entidad, y las clases de entidad existentes se pueden haber actualizado.

Feature Dataset
updated_in_streets_features

La clase de entidad de calle de entrada, posiblemente modificada por la herramienta.

Feature Class
updated_in_stops

La clase de entidad Stops ubicada en el dataset de entidades de destino, posiblemente modificada por la herramienta.

Feature Class
output_stops_on_streets

La clase de entidad StopsOnStreets del modelo de datos de transporte público de Network Analyst, creada mediante la alineación de una copia de las entidades Stops con las entidades de calles de entrada.

Feature Class
output_stop_connectors

La clase de entidad StopConnectors del modelo de datos de transporte público de Network Analyst, creada mediante el trazado de una línea recta entre la ubicación original de la parada y la ubicación en la que se alineó con una entidad de calle.

Feature Class

Muestra de código

Ejemplo 1 de ConnectNetworkDatasetTransitSourcesToStreets (ventana de Python)

La secuencia de comandos siguiente demuestra cómo usar la herramienta ConnectNetworkDatasetTransitSourcesToStreets en la ventana de 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)
Ejemplo 2 de ConnectNetworkDatasetTransitSourcesToStreets (script independiente)

La siguiente secuencia de comandos independiente de Python muestra cómo se pueden utilizar juntas las herramientas GTFSToNetworkDatasetTransitSources y ConnectNetworkDatasetTransitSourcesToStreets para crear un dataset de red habilitado para el transporte.

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)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.