Alinear recorridos (GeoAnalytics Desktop)

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.

  • 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.

  • Además de los campos del valor del parámetro Capa de puntos de entrada y cualquier campo de línea especificado mediante el parámetro Campos de línea a incluir, los siguientes campos se incluirán en 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.

    DATE

    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.

  • 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 Spark. El análisis se completa en su equipo de escritorio utilizando varios núcleos en paralelo. Consulte Consideraciones acerca de las herramientas de GeoAnalytics Desktop para obtener más información acerca de la ejecución de análisis.

  • Al ejecutar herramientas de GeoAnalytics Desktop, el análisis se completa en su equipo de escritorio. Para un rendimiento óptimo, los datos deben estar disponibles en su escritorio. Si utiliza una capa de entidades alojada, se recomienda utilizar ArcGIS GeoAnalytics Server. Si sus datos no están almacenados localmente, se tardará más tiempo en ejecutar una herramienta. Para utilizar su ArcGIS GeoAnalytics Server para realizar un análisis, consulte GeoAnalytics Tools.

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
Clase de entidad de salida

La clase de entidad que contendrá los puntos emparejados.

Feature Class
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
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.

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 y establece la referencia de límite de tiempo en el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día.

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.

Date

arcpy.geoanalytics.SnapTracks(input_points, input_lines, out_feature_class, track_fields, search_distance, connectivity_field_matching, {line_fields_to_include}, {distance_method}, {direction_value_matching}, {output_mode}, {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
out_feature_class

La clase de entidad que contendrá los puntos emparejados.

Feature Class
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
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.

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 y establece la referencia de límite de tiempo en el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día.

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.

Date

Muestra de código

Ejemplo de SnapTracks (script independiente)

El siguiente script independiente muestra cómo utilizar la función SnapTracks.

# Name: SnapTracks.py
# Description: Snap snowplow fleet tracks to roads to uncover areas that 
#              may need more resources for snow removal efforts

# Import system modules
import arcpy

# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties 
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Snowplow.lyrx'

# MakeFeatureLayer converts the .lyrx to features
snowplowsLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Snowplows Layer")

# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(snowplowsLayer, inputLyrx)

# Set local variables
lineLayer = "c:/mydata/Roads.gdb/CityStreets"
trackIdentifier = "vehicle_id"
out = "c:/mydata/OutputDatasets.gdb/Snowplows_snapped_to_streets"
searchDistance = "10 Meters"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

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