Alinear recorridos (Geoanálisis)

Resumen

Alinea puntos de recorrido de entrada con líneas. Los datos de puntos con la función de tiempo habilitada deben incluir entidades que representen un instante en el tiempo. Para el análisis se requieren líneas transitables con campos que indiquen los nodos de origen y destino.

Ilustración

Ilustración de la herramienta Alinear recorridos
Se muestran puntos de recorrido con la función de tiempo habilitada que se han emparejado con líneas.

Uso

  • En la siguiente tabla se enumera la terminología utilizada en la herramienta Alinear recorridos:

    TérminoDescripción

    Recorrido

    Una secuencia de entidades que tengan la función de tiempo habilitada con el instante de tipo tiempo. Las entidades están definidas para estar en la secuencia por un campo de identificación de recorrido y su orden en el tiempo. Por ejemplo, una ciudad puede tener una flota de camiones quitanieves que registren su ubicación cada 30 segundos. El Id. del vehículo puede representar los diferentes recorridos.

    Observación

    Un punto de un rastreo.

    Nodo

    Los nodos son los vértices finales de las entidades de línea que se utilizan para indicar la dirección de la línea. El inicio de la línea es el nodo de origen y el final de la línea es el nodo de destino.

    Dirección

    La dirección de una línea. La dirección hace referencia a cómo una línea puede desplazarse entre el nodo de origen y el nodo de destino.

    Conectividad

    La conectividad describe cómo se conectan las líneas para representar una red transitable. Las líneas se conectan en función de los valores del nodo de origen y del nodo de destino. Las líneas a las que no pueda llegar un punto, por su conectividad, no se considerarán coincidencias.

    Transitable

    Las líneas son transitables si están conectadas por nodos comunes. Por ejemplo, si el nodo de origen de la línea A es el mismo que el nodo de destino de la línea B, son transitables.

  • La herramienta requiere las siguientes capas de entrada de parámetros:

    • Capa de puntos de entrada: la capa de puntos de entrada deben ser observaciones con la función de tiempo habilitada que representen un instante en el tiempo. Las observaciones de recorridos que no tengan una marca de tiempo válida se excluirán del análisis.
    • Capa de líneas de entrada: la capa de líneas de entrada debe contener campos con la siguiente información de conectividad y se debe especificar en el parámetro Coincidencia de campos de conectividad:
      • Unique ID: el identificador único de la línea
      • From node: el nodo del que se está alejando el desplazamiento a lo largo de una línea
      • To node: el nodo al que se dirige el desplazamiento a lo largo de una línea

  • Nota:

    Las capas de entidades de geodatabase de StreetMap Premium con licencia no se admiten como entrada para ArcGIS Pro 3.0.

  • La referencia espacial del valor del parámetro Capa de puntos de entrada debe ser la misma que la referencia espacial del valor del parámetro Capa de líneas de entrada. Si los datasets tienen referencias espaciales diferentes, utilice el entorno Sistema de coordenadas de salida para especificar la referencia espacial que se va a utilizar en el análisis, o proyecte los datasets antes del análisis.

  • Puede especificar uno o más campos para identificar los recorridos. Los recorridos se representan mediante la combinación única de uno o más campos de recorrido. Por ejemplo, si se utilizan los campos flightID y Destination como identificadores de recorrido, las entidades ID007, Solden e ID007, Tokyo estarían en dos recorridos separados, dado que tienen valores de campo Destination diferentes.

  • Los recorridos deben tener más de una observación para poder utilizarse en el análisis. Los recorridos que solo tengan una observación quedarán desparejados.

  • Las coincidencias de punto a línea se realizan con las siguientes consideraciones:

    • La observación se encuentra dentro de la distancia de búsqueda desde una línea. Este es el requisito mínimo. Las observaciones quedarán desparejadas si no cumplen la condición de distancia de búsqueda.
    • La observación puede atravesar las líneas en función de su conectividad.
    • La observación se desplaza en una dirección admitida por la línea. Esta es una condición opcional que se realizará si especifica valores para el parámetro Coincidencia de valor de dirección. Los resultados que cumplan esta condición opcional serán más precisos.

  • Use el parámetro Distancia de búsqueda para especificar la distancia máxima permitida entre una observación y una línea. Por ejemplo, si sabe que la precisión de los puntos GPS es de aproximadamente 100 metros, especifique 100 metros para la distancia de búsqueda.

  • El parámetro Método de distancia especifica cómo se calcularán las distancias de búsqueda. Existen dos métodos de distancia:

    • Geodésico: si la referencia espacial se puede desplazar panorámicamente de forma continua por el antimeridiano, los recorridos cruzarán el antimeridiano cuando proceda. Si la referencia espacial no se puede desplazar panorámicamente de forma continua, los recorridos se limitarán a la extensión del sistema de coordenadas y podrían no ajustarse. Esta es la opción predeterminada.
    • Planar: los recorridos no cruzarán el antimeridiano. Utilice esta opción si los datos de entrada utilizan un sistema de coordenadas proyectadas.

  • Para incluir atributos de línea adicionales en los resultados de salida, especifique los nombres de campo mediante el parámetro Campos de línea a incluir. Estos campos no se utilizarán para fines analíticos y se incluyen para su propio uso. No puede incluir campos de geometría en el resultado de salida.

  • Utilice el parámetro Concordancia de valor de dirección para definir las indicaciones admitidas para cada entidad de línea. Por ejemplo, una capa de líneas tiene un campo llamado direction con valores T (hacia atrás), F (hacia delante), B (ambas) y "" (ninguna). La coincidencia de direcciones es opcional, pero se recomienda para obtener resultados precisos. Si no se especifica la coincidencia de direcciones, se presupone que la línea es bidireccional.

  • La herramienta devuelve puntos alineados con la ubicación más cercana a lo largo de la línea con la que coincidieron. No se devuelven las entidades de línea. El identificador único del dataset de línea estará disponible para los resultados coincidentes. El campo de identificador único se especifica utilizando el parámetro Coincidencia de campos de conectividad. Puede identificar las líneas con las que coinciden haciendo referencia a este campo.

  • Además de los campos de la capa de puntos de entrada y de cualquier campo de línea especificado, los siguientes campos se agregarán a la salida:

    Nombre de campoDescripción

    MatchStatus

    Indica si la observación se determinó como coincidencia de una línea. Los valores son M para las entidades coincidentes y U para las entidades no coincidentes.

    OrigX

    La coordenada x de la observación de entrada. Las coordenadas se almacenan en las unidades de la referencia espacial de salida.

    OrigY

    La coordenada y de la observación de entrada. Las coordenadas se almacenan en las unidades de la referencia espacial de salida.

    MatchX

    La coordenada x del resultado coincidente en la línea. Las coordenadas se almacenan en las unidades de la referencia espacial de salida.

    MatchY

    La coordenada y del resultado coincidente en la línea. Las coordenadas se almacenan en las unidades de la referencia espacial de salida.

    MatchDist

    La distancia entre la ubicación de origen y la ubicación coincidente para una observación. Las distancias se calculan en función del método de distancia especificado (geodésico o planar). Los valores se registran en metros.

    INSTANT_DATETIME

    La marca de tiempo de la observación.

    Si el valor del parámetro Modo de salida especificado es Todas las entidades, se devolverán los puntos tanto coincidentes como no coincidentes. Para los puntos no coincidentes, los campos de resultados de salida se incorporarán con valores nulos para los campos numéricos y con cadenas vacías para los campos de cadena de caracteres. Los campos que se incorporarán con valores nulos son los campos de línea especificados mediante el parámetro Campos de línea a incluir, el campo MatchX, el campo MatchY y el campo MatchDist.

  • Puede dividir recorridos de las siguientes formas:

    • División de tiempo: en función del tiempo entre entradas. Al aplicar una división de tiempo, se divide cualquier recorrido si los datos de entrada están mucho más separados que el tiempo especificado. Por ejemplo, si tiene cinco entidades con el mismo identificador de recorrido y las horas [01:00, 02:00, 03:30, 06:00, 06:30] y define una división de tiempo de 2 horas, se dividirán todas las entidades medidas con más de 2 horas de separación. En este ejemplo, el resultado sería un recorrido con [01:00, 02:00, 03:30] y [06:00, 06:30], porque la diferencia entre 03:30 y 6:00 es superior a 2 horas.
    • División de límite de tiempo: en función de intervalos de tiempo definidos. Al aplicar un límite de tiempo, se dividen en segmentos los recorridos con un intervalo definido. Por ejemplo, si establece el límite de tiempo en 1 día, a partir de las 9:00 AM del 1 de enero de 1990, cada recorrido se truncará a las 9:00 AM cada día. Esta división acelera el tiempo de procesamiento, ya que crea recorridos más pequeños para el análisis. Si a su análisis le conviene dividir por un límite de tiempo recurrente, le recomendamos que lo haga para procesar big data.
    • División de distancia: en función de la distancia entre entradas. Al aplicar una división de distancia, se divide cualquier recorrido si los datos de entrada están mucho más separados que la distancia especificada. Por ejemplo, si fija una división de distancia de 5 kilómetros, las entidades secuenciales que estén separadas más de 5 kilómetros formarán parte de otro recorrido.
    • Expresión de división: basada en una expresión de Arcade. Aplicar una expresión de división divide los recorridos en función de valores, geometría o valores de tiempo. Por ejemplo, puede dividir recorridos cuando un valor de campo es mayor que el doble del valor anterior en un recorrido. Para esto, si usa un campo de ejemplo llamado WindSpeed, puede utilizar la siguiente expresión: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Los recorridos se dividirán cuando el valor anterior (speed[0]) sea menor que dos veces el valor actual.

  • Es posible mejorar el rendimiento de la herramienta Alinear recorridos realizando una o varias de las siguientes acciones:

    • Utilice un valor más bajo para el parámetro Distancia de búsqueda, de modo que se consideren menos pares de puntos y líneas en el proceso de coincidencia. Se recomienda utilizar un valor inferior a 75 metros.
    • Divida los recorridos con los parámetros División de tiempo, División de límite de tiempo, División de distancia o Expresión de división. Utilizar el parámetro División de límite de tiempo permitirá la mayor mejora de rendimiento.
    • Utilice el parámetro Coincidencia de valor de dirección para que las líneas solo coincidan con los puntos que se desplacen en una dirección admitida por la línea.
    • Utilice una selección de recorridos de interés en lugar del dataset de recorridos completo.
    • Especifique menos campos para el parámetro Campos de línea a incluir.
    • Defina el entorno Extensión para analizar únicamente datos de interés.
    • Utilice el método de distancia planar en lugar del geodésico.
    • Utilice datos locales en los que se ejecute el análisis.

  • Se puede completar un análisis similar usando lo siguiente:

    • Reconstruya puntos de recorrido con la función de tiempo habilitada como líneas con la herramienta Reconstruir recorridos.
    • Alinee puntos, multipuntos, líneas o polígonos con otras entidades con la herramienta Alinear. Esta herramienta modifica los datos de entrada.

  • Esta herramienta de geoprocesamiento se basa en ArcGIS GeoAnalytics Server. El análisis se completa en su GeoAnalytics Server y los resultados se almacenan en su contenido en ArcGIS Enterprise.

  • Al ejecutar herramientas de GeoAnalytics Server, el análisis se completa en GeoAnalytics Server. Para obtener un rendimiento óptimo, haga que los datos estén disponibles para GeoAnalytics Server mediante capas de entidades alojadas en su portal de ArcGIS Enterprise o mediante recursos compartidos de archivos de big data. Los datos que no son locales para su GeoAnalytics Server se moverán a GeoAnalytics Server antes de que comience el análisis. Significa que ejecutar una herramienta tardará más tiempo y, en algunos casos, mover los datos de ArcGIS Pro a GeoAnalytics Server podría fallar. El umbral de error depende de la velocidad de su red, así como del tamaño y complejidad de los datos. Se recomienda que siempre comparta sus datos o que cree un recurso compartido de archivos de big data.

    Más información acerca del uso compartido de datos en el portal

    Más información sobre cómo crear un archivo compartido de Big Data mediante Server Manager

Parámetros

EtiquetaExplicaciónTipo de datos
Capa de puntos de entrada

Los puntos que se emparejarán con líneas. La entrada debe ser una capa de puntos con la función de tiempo habilitada que represente un instante en el tiempo y debe contener al menos un campo que identifique recorridos únicos.

Feature Set
Capa de líneas de entrada

Las líneas con las que se emparejarán los puntos. La entrada debe contener campos con valores que indiquen los nodos de origen y de destino de la línea.

Feature Set
Nombre de salida

El nombre del servicio de entidades de salida.

String
Campos de recorrido

Uno o varios campos que se utilizarán para identificar recorridos únicos.

Field
Distancia de búsqueda

La distancia máxima permitida entre un punto y cualquier línea para que se considere concordancia. Se recomienda utilizar valores menores o iguales que 75 metros. Las distancias más grandes darán como resultado un tiempo de proceso más largo y unos resultados menos precisos.

Linear Unit
Concordancia de campos de conectividad

Los campos de la capa de líneas que se utilizarán para definir la conectividad de las entidades de línea de entrada.

  • Unique ID: el campo de la capa de líneas que contiene el valor de Id. único para cada entidad de línea
  • From Node: el campo de la capa de líneas que contiene los valores de nodo de origen
  • To Node: el campo de la capa de líneas que contiene los valores de nodo de destino
Value Table
Campos de línea a incluir
(Opcional)

Uno o varios campos de la capa de líneas de entrada que se incluirán en el resultado de salida.

Field
Método de distancia
(Opcional)

Especifica el método que se utilizará para calcular distancias entre puntos y líneas.

  • GeodésicaSe calcularán distancias geodésicas. Esta es la opción predeterminada.
  • PlanarSe calcularán distancias planares.
String
Coincidencia de valor de dirección
(Opcional)

Los valores de atributo y del campo de la capa de líneas que se utilizarán para definir la dirección de las entidades de línea de entrada. Por ejemplo, una capa de líneas tiene un campo llamado direction con valores T (hacia atrás), F (hacia delante), B (ambas) y "" (ninguna). Si no se especifica ningún valor, se presupone que la línea es bidireccional.

  • Direction Field: el campo de la capa de líneas que describe la dirección de desplazamiento.
  • Forward Value: el valor del Direction Field que indica que la dirección de desplazamiento admitida es hacia delante a lo largo de una línea.
  • Backward Value: el valor del Direction Field que indica que la dirección de desplazamiento admitida es hacia atrás a lo largo de una línea.
  • Both Value: el valor del Direction Field que indica que se admiten direcciones de desplazamiento hacia delante y hacia atrás a lo largo de una línea.
  • None Value: el valor del Direction Field que indica que no se admite ninguna dirección de desplazamiento a lo largo de una línea.

Value Table
Modo de salida
(Opcional)

Especifica si se devolverán todas las entidades de entrada o solo las entidades de entrada que coincidieron con una entidad de línea.

  • Todas las entidadesSe devolverán todas las entidades de punto de entrada con independencia de si se concordaron con una entidad de línea. Esta es la opción predeterminada.
  • Entidades coincidentesSolo se devolverán las entidades de punto de entrada que se concordaron con una entidad de línea.
String
Data store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. Por defecto es big data store espaciotemporal. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • Big data store espaciotemporalLa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • Data store relacionalLa salida se almacenará en un data store relacional.
String
División de tiempo
(Opcional)

Las entidades que están separadas por un tiempo superior a la duración de la división de tiempo se dividirán en recorridos separados.

Time Unit
División de distancia
(Opcional)

Las entidades que están separadas por una distancia superior al valor de división de distancia se dividirán en recorridos separados. Este parámetro solo está disponible con ArcGIS Enterprise 10.6 y posteriores.

Linear Unit
División de límite de tiempo
(Opcional)

Un intervalo de tiempo en el que dividir los datos de entrada para el análisis. Un límite de tiempo permite analizar los valores dentro de un intervalo de tiempo definido. Por ejemplo, si utiliza un límite de tiempo de 1 día, desde el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Time Unit
Referencia de límite de tiempo
(Opcional)

El tiempo de referencia utilizado para dividir los datos de entrada para el análisis. Se crearán límites de tiempo para todo el intervalo de los datos y no es necesario que el tiempo de referencia se encuentre en el comienzo. Si no se especifica ningún tiempo de referencia, se utilizará el 1 de enero de 1970. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Date

Salida derivada

EtiquetaExplicaciónTipo de datos
Clase de entidad de salida

Los puntos de salida.

Feature Set

arcpy.geoanalytics.SnapTracks(input_points, input_lines, output_name, track_fields, search_distance, connectivity_field_matching, {line_fields_to_include}, {distance_method}, {direction_value_matching}, {output_mode}, {data_store}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference})
NombreExplicaciónTipo de datos
input_points

Los puntos que se emparejarán con líneas. La entrada debe ser una capa de puntos con la función de tiempo habilitada que represente un instante en el tiempo y debe contener al menos un campo que identifique recorridos únicos.

Feature Set
input_lines

Las líneas con las que se emparejarán los puntos. La entrada debe contener campos con valores que indiquen los nodos de origen y de destino de la línea.

Feature Set
output_name

El nombre del servicio de entidades de salida.

String
track_fields
[track_fields,...]

Uno o varios campos que se utilizarán para identificar recorridos únicos.

Field
search_distance

La distancia máxima permitida entre un punto y cualquier línea para que se considere concordancia. Se recomienda utilizar valores menores o iguales que 75 metros. Las distancias más grandes darán como resultado un tiempo de proceso más largo y unos resultados menos precisos.

Linear Unit
connectivity_field_matching
[connectivity_field_matching,...]

Los campos de la capa de líneas que se utilizarán para definir la conectividad de las entidades de línea de entrada.

  • Unique ID: el campo de la capa de líneas que contiene el valor de Id. único para cada entidad de línea
  • From Node: el campo de la capa de líneas que contiene los valores de nodo de origen
  • To Node: el campo de la capa de líneas que contiene los valores de nodo de destino
Value Table
line_fields_to_include
[line_fields_to_include,...]
(Opcional)

Uno o varios campos de la capa de líneas de entrada que se incluirán en el resultado de salida.

Field
distance_method
(Opcional)

Especifica el método que se utilizará para calcular distancias entre puntos y líneas.

  • GEODESICSe calcularán distancias geodésicas.
  • PLANARSe calcularán distancias planares.
String
direction_value_matching
[direction_value_matching,...]
(Opcional)

Los valores de atributo y del campo de la capa de líneas que se utilizarán para definir la dirección de las entidades de línea de entrada. Por ejemplo, una capa de líneas tiene un campo llamado direction con valores T (hacia atrás), F (hacia delante), B (ambas) y "" (ninguna). Si no se especifica ningún valor, se presupone que la línea es bidireccional.

  • Direction Field: el campo de la capa de líneas que describe la dirección de desplazamiento.
  • Forward Value: el valor del Direction Field que indica que la dirección de desplazamiento admitida es hacia delante a lo largo de una línea.
  • Backward Value: el valor del Direction Field que indica que la dirección de desplazamiento admitida es hacia atrás a lo largo de una línea.
  • Both Value: el valor del Direction Field que indica que se admiten direcciones de desplazamiento hacia delante y hacia atrás a lo largo de una línea.
  • None Value: el valor del Direction Field que indica que no se admite ninguna dirección de desplazamiento a lo largo de una línea.

Value Table
output_mode
(Opcional)

Especifica si se devolverán todas las entidades de entrada o solo las entidades de entrada que coincidieron con una entidad de línea.

  • ALL_FEATURESSe devolverán todas las entidades de punto de entrada con independencia de si se concordaron con una entidad de línea. Esta es la opción predeterminada.
  • MATCHED_FEATURESSolo se devolverán las entidades de punto de entrada que se concordaron con una entidad de línea.
String
data_store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. El valor predeterminado es SPATIOTEMPORAL_DATA_STORE. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • SPATIOTEMPORAL_DATA_STORELa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • RELATIONAL_DATA_STORELa salida se almacenará en un data store relacional.
String
time_split
(Opcional)

Las entidades que están separadas por un tiempo superior a la duración de la división de tiempo se dividirán en recorridos separados.

Time Unit
distance_split
(Opcional)

Las entidades que están separadas por una distancia superior al valor de división de distancia se dividirán en recorridos separados. Este parámetro solo está disponible con ArcGIS Enterprise 10.6 y posteriores.

Linear Unit
time_boundary_split
(Opcional)

Un intervalo de tiempo en el que dividir los datos de entrada para el análisis. Un límite de tiempo permite analizar los valores dentro de un intervalo de tiempo definido. Por ejemplo, si utiliza un límite de tiempo de 1 día, desde el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Time Unit
time_boundary_reference
(Opcional)

El tiempo de referencia utilizado para dividir los datos de entrada para el análisis. Se crearán límites de tiempo para todo el intervalo de los datos y no es necesario que el tiempo de referencia se encuentre en el comienzo. Si no se especifica ningún tiempo de referencia, se utilizará el 1 de enero de 1970. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Date

Salida derivada

NombreExplicaciónTipo de datos
output

Los puntos de salida.

Feature Set

Muestra de código

Ejemplo 1 de SnapTracks (script independiente)

El siguiente script de la ventana de Python muestra cómo utilizar la función SnapTracks.

# Name: SnapTracks.py
# Description: Snap delivery vehicle GPS crumbs to a street dataset.

# Requirements: ArcGIS GeoAnalytics Server

# Import system modules
import arcpy

# Set local variables
tracksLayer = "https://sampleserver.arcgisonline.com/arcgis/rest/services/DeliveryTrucks/MapServer/0"
lineLayer = "https://sampleserver.arcgisonline.com/arcgis/rest/services/CityStreets/MapServer/0"
trackIdentifier = "vehicle_id"
out = "trucks_snapped_to_streets"
searchDistance = "30 Feet"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

# Run Snap Tracks
arcpy.geoanalytics.SnapTracks(tracksLayer, lineLayer, out, trackIdentifier, 
                       searchDistance, connectivityFieldMatching, None,
                       "GEODESIC", directionValueMatching, "MATCHED_FEATURES", 
                       "SPATIOTEMPORAL_DATA_STORE")

Entornos

Casos especiales

Sistema de coordenadas de salida

El sistema de coordenadas que se usará para el análisis. El análisis se completará en el sistema de coordenadas de entrada salvo que este parámetro especifique otra opción. En GeoAnalytics Tools, los resultados finales se almacenarán en el data store espaciotemporal en WGS84.

Información de licenciamiento

  • Basic: Requiere ArcGIS GeoAnalytics Server
  • Standard: Requiere ArcGIS GeoAnalytics Server
  • Advanced: Requiere ArcGIS GeoAnalytics Server

Temas relacionados