Reconstruir recorridos (GeoAnalytics Desktop)

Resumen

Crea recorridos de líneas o polígonos a partir de datos de entrada con el tiempo habilitado.

Ilustración

Herramienta Reconstruir pistas
Se muestran puntos con la función de tiempo habilitada que se han reconstruido para dar lugar a recorridos.

Uso

  • Reconstruir recorridos se ejecuta en entidades poligonales o de puntos. La capa de entrada debe tener el tiempo habilitado con entidades que representen un instante en el tiempo.

  • 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, Tokoyo] estarían en dos recorridos separados, dado que tienen valores de campo Destination diferentes.

  • Las entidades que tienen aplicada una zona de influencia generarán recorridos poligonales. Las entidades de puntos de entrada que no tienen aplicada una zona de influencia generarán recorridos de polilíneas.

  • Las entidades de entrada deben estar formadas por entidades con el tiempo habilitado que representen un instante en el tiempo. Los resultados son entidades de líneas o áreas que representan un intervalo en el tiempo. El inicio y final del intervalo vienen determinados por la hora en la primera y última entidad de un recorrido.

    Entidades de entrada con dos recorridos distintos (verde y rojo) que muestran el tipo de tiempo de instante (izquierda) y los recorridos resultantes (derecha) del tipo de tiempo de intervalo
    Se muestran las entidades de entrada con dos recorridos distintos (verde y rojo) que tienen el tipo de tiempo de instante (izquierda) y los recorridos resultantes (derecha) del tipo de tiempo de intervalo.

  • Para los resultados lineales, solo se devolverán los recorridos que contengan más de un punto. Si aplica una zona de influencia, se devolverán todas las entidades.

  • Si lo desea, puede aplicar una zona de influencia a las entidades de entrada. Cuando aplica una zona de influencia, los recorridos resultantes serán entidades poligonales.

    Puntos de entrada con una zona de influencia aplicada reconstruida en recorridos
    Los puntos de entrada con una zona de influencia se reconstruyen en forma de recorridos.

  • Al crear zonas de influencia para entidades de entrada, se crea una zona de influencia para cada entrada. A continuación, se genera una envoltura convexa para crear un recorrido de polígono.

    Puntos de entrada (verde), zona de influencia intermedia para visualización (trama azul) y el recorrido poligonal resultante (azul)
    Se muestra un ejemplo de puntos de entrada (verde), zona de influencia intermedia para visualización (trama azul) y el recorrido poligonal resultante (azul).

  • Los campos utilizados en la expresión de la zona de influencia deben ser numéricos y se aplicarán usando las unidades de la referencia espacial de entrada. Consulte Expresiones de Arcade en las herramientas de GeoAnalytics Desktop para obtener más información. Puede usar ecuaciones que realicen seguimiento.

  • De manera predeterminada, solo se calculará el recuento de puntos o polígonos de un recorrido. Se pueden calcular otras estadísticas especificando el parámetro Campos de resumen.

  • De forma predeterminada, los recorridos se crean utilizando un método geodésico. El método se aplica a los dos componentes siguientes del análisis:

    • Recorridos que cruzan la línea de fecha internacional: cuando se utiliza el método geodésico, las capas de entrada que cruzan la línea de fecha internacional tendrán recorridos que cruzarán correctamente la línea de fecha internacional. Esta es la opción predeterminada. La capa de entrada o la referencia espacial de procesamiento deben estar definidas con una referencia espacial que admita el ajuste alrededor de la línea internacional de cambio de fecha, por ejemplo, una proyección global como proyección cilíndrica equivalente del mundo.
    • Zonas de influencia: se puede crear una zona de influencia de las entidades de entrada. Para obtener más información sobre cuándo aplicar una zona de influencia geodésica o planar, consulte Crear zonas de influencia.

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

  • Puede aplicar una, dos, tres o ninguna opción de división al mismo tiempo. Los resultados, suponiendo que aplique una división de tiempo de 6 horas, un límite de tiempo de 1 día y una división de distancia de 16 kilómetros, son los siguientes:

    Cinco ejemplos de puntos de entrada (verde) con tiempo variable y divisiones de distancia
    Se muestran cinco ejemplos de puntos de entrada (amarillo) con divisiones de tiempo y distancia distintas.

    Opción de divisiónDescription

    Seis puntos de entrada con un tiempo y una ubicación.

    Puntos de entrada con el mismo identificador. La distancia entre dos puntos se marca en la parte superior de la línea punteada y la hora de cada medición de punto se marca debajo de los puntos. Hay 4 divisiones en la línea de tiempo. Las divisiones de color rojo representan la división de límite de tiempo de 1 día, partiendo de las 0:00 horas. La división azul representa la división de distancia si la distancia entre dos puntos es mayor de 16 kilómetros. La división morada representa la división de tiempo si la distancia temporal entre dos puntos secuenciales es de más de 6 horas.

    Ejemplo sin división de tiempo ni división de distancia

    Ejemplo sin división de tiempo ni división de distancia.

    Ejemplo con una división de tiempo de 2 horas

    Ejemplo con una división de tiempo de 2 horas. Las entidades separadas más de 2 horas se dividen en recorridos separados.

    Ejemplo con un límite de tiempo de 1 día

    Ejemplo con un límite de tiempo de 1 día empezando a medianoche. En cada intervalo de 1 día a partir de la hora especificada (aquí las 0:00 horas), se crea un recorrido.

    Ejemplo con una división de distancia de 16 kilómetros

    Ejemplo con una división de distancia de 16 kilómetros. Las entidades separadas más de 16 kilómetros (las entidades a las 05:00 y las 06:00 horas) se dividen en recorridos separados.

    Ejemplo con una división de tiempo de 6 horas y una división de límite de tiempo de 1 día a las 0:00 horas

    Ejemplo con una división de tiempo de 6 horas y un límite de tiempo de 1 día a partir de las 0:00 horas. Las entidades separadas más de 6 horas o las que se intersecan con la división de duración de las 0:00 horas. se dividen en recorridos separados.

    Ejemplo con una división de tiempo de 6 horas y una división de distancia de 16 kilómetros

    Ejemplo con una división de tiempo de 6 horas y una división de distancia de 16 kilómetros. Las entidades separadas más de 6 horas (las entidades a las 06:00 y a las 19:00 horas) o que están a más de 16 kilómetros de distancia se dividen en recorridos separados.

    Ejemplo con una división de distancia de 16 kilómetros y un límite de tiempo de 1 día a partir de las 0:00 horas

    Ejemplo con una división de distancia de 16 kilómetros y un límite de tiempo de 1 día a partir de las 0:00 horas. Las entidades separadas más de 16 kilómetros o que se intersecan con la división de duración de las 0:00 horas se dividen en recorridos separados.

    Ejemplo con una división de distancia de 16 kilómetros, una división de tiempo de 6 horas y un límite de tiempo de 1 día a partir de las 0:00 horas

    Ejemplo con una división de distancia de 16 kilómetros, una división de tiempo de 6 horas y un límite de tiempo de 1 día a partir de las 0:00 horas. Las entidades separadas más de 16 kilómetros, separadas más de 6 horas o que se intersecan con la división de duración de las 0:00 horas se dividen en recorridos separados.

  • A continuación, se ofrecen ejemplos de por qué convendría definir los recorridos mediante los parámetros de división y el parámetro de identificador de campo partiendo del ejemplo del vuelo de un avión comercial:

    • Una entidad de avión tiene los campos aircraft ID, flight ID, pilot name y start time.
      • Use el campo aircraft ID como identificador para ver a dónde ha viajado cada avión.
      • Use los campos aircraft ID y flight ID como identificadores para comparar rutas diferentes.
      • Use el campo aircraft ID y el límite de tiempo de 1 año para examinar los vuelos de cada avión en un año cada vez.
      • Use los campos pilot name, aircraft ID y start time para ver el vuelo de cada piloto.
      • Use el campo aircraft ID como identificador y divida las distancias mayores de 1.000 kilómetros para determinar los nuevos recorridos, partiendo de que un salto de 1.000 kilómetros en las mediciones no debe considerarse como perteneciente al mismo recorrido.

  • Los recorridos de salida devolverán los campos utilizados como identificadores de recorrido, el recuento de las entidades dentro de un recorrido (count), la hora de inicio y finalización de cada recorrido (start_date y end_date), la duración en milisegundos (duration) y cualquier otra estadística opcional (con formato statisticstype_fieldname)).

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

    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • Utilice el método planar en lugar del geodésico.
    • No aplique ninguna zona de influencia.
    • Divida los recorridos con los parámetros División de tiempo, División de límite de tiempo y División de distancia. La División de límite de tiempo tendrá la mayor mejora de rendimiento.
    • Utilice datos locales en los que se ejecute el análisis.

  • 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 ArcGIS GeoAnalytics Server con el fin de realizar un análisis, consulte GeoAnalytics Tools.

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

Sintaxis

ReconstructTracks(input_layer, out_feature_class, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference}, {summary_fields})
ParámetroExplicaciónTipo de datos
input_layer

Los puntos o polígonos que se reconstruirán en recorridos. La entrada debe ser una capa con tiempo habilitado que represente un instante en el tiempo.

Feature Layer
out_feature_class

Una clase de entidad nueva con los recorridos resultantes.

Feature Class
track_fields
[track_fields,...]

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

Field
method

Especifica los criterios que se utilizarán para reconstruir recorridos. Si se usa una zona de influencia, method determina el tipo de zona de influencia.

  • GEODESIC Si la referencia espacial se puede desplazar panorámicamente, los recorridos atravesarán la línea de cambio de fecha cuando sea necesario. Si la referencia espacial no se puede desplazar panorámicamente, los recorridos se limitarán a la extensión del sistema de coordenadas y podrían no ajustarse.
  • PLANARLos recorridos no cruzarán nunca la línea de cambio de fecha.
String
buffer_type

Especifica cómo se definirá la distancia de zona de influencia.

  • FIELDSe utilizará un campo único para definir la distancia de zona de influencia.
  • EXPRESSIONSe utilizará una ecuación con campos y operadores matemáticos para definir la distancia de zona de influencia.
String
buffer_field
(Opcional)

El campo que se utilizará para crear zonas de influencia en las entidades de entrada. Los valores de campo se aplican en las unidades de la referencia espacial de la entrada a menos que se use un sistema de coordenadas geográficas, en cuyo caso estarán en metros.

Field
buffer_expression
(Opcional)

La expresión que se utilizará para crear zonas de influencia en entidades de entrada. Los campos deben ser numéricos y la expresión puede incluir los operadores [+ - * / ] y varios campos. Los valores calculados se aplican en las unidades de la referencia espacial de la entrada, a menos que se use un sistema de coordenadas geográficas, en cuyo caso estarán en metros.

Utilice expresiones de Arcade como, por ejemplo, as_kilometers($feature.distance) * 2 + as_meters(15).

Calculator Expression
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 sus 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 proporciona ningún tiempo de referencia, se utilizará el 1 de enero de 1970.

Date
summary_fields
[summary_fields,...]
(Opcional)

Las estadísticas que se calcularán en campos concretos.

  • COUNT: el número de valores no nulos. Se puede usar en campos numéricos o de cadenas de caracteres. El recuento de [null, 0, 2] es 2.
  • SUM: la suma de valores numéricos en un campo. La suma de [null, null, 3] es 3.
  • MEAN: el valor medio de los valores numéricos. La media de [0,2, null] es 1.
  • MIN: el valor mínimo de un campo numérico. El mínimo de [0, 2, null] es 0.
  • MAX: el valor máximo de un campo numérico. El valor máximo de [0, 2, null] es 2.
  • STDDEV: la desviación estándar de un campo numérico. La desviación estándar de [1] es null. La desviación estándar de [null, 1,1,1] es null.
  • VAR: la varianza de un campo numérico en un recorrido. La varianza de [1] es null. La varianza de [null, 1,1,1] es null.
  • RANGE: el rango de un campo numérico. Se calcula como el valor mínimo restado del valor máximo. El rango de [0, null, 1] es 1. El rango de [null, 4] es 0.
  • ANY: una cadena de caracteres de un campo de tipo cadena de caracteres.
  • FIRST: el primer valor de un campo especificado en un recorrido.
  • LAST: el último valor de un campo especificado en un recorrido.

Value Table

Muestra de código

Ejemplo 1 de ReconstructTracks (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta ReconstructTracks.

#-------------------------------------------------------------------------------
# Name: ReconstructTracks.py
# Description: Reconstruct hurricane points into hurricane tracks, where each location is buffered by the wind speed * 100
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/WeatherEvents.gdb"
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
trackIdentifier = "EVENTID"
out = "HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Execute Reconstruct Tracks
arcpy.gapro.ReconstructTracks(inFeatures, out, trackIdentifier, 
                              "GEODESIC", "EXPRESSION", None, 
                              bufferExpression, None, statistics)

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados