Calcular estadísticas de movimiento (Geoanálisis)

Resumen

Calcula las estadísticas de movimiento para los puntos de una clase de entidad con función de tiempo habilitada.

Ilustración

Ilustración de la herramienta Calcular estadísticas de movimiento
Los puntos con la función de tiempo habilitada se enriquecen con datos de movimiento.

Uso

  • Esta herramienta de geoprocesamiento está disponible con ArcGIS Enterprise 10.9 o posterior.

  • El resultado de Calcular estadísticas de movimiento es una copia de los puntos de entrada con un nuevo campo para cada estadística calculada.

  • Puede especificar uno o varios campos para identificar entidades únicas, también conocidas como 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.

  • De forma predeterminada, se calcularán todas las estadísticas admitidas para cada punto de entrada, si es posible. Como alternativa, puede elegir uno o varios grupos de estadísticas que calcular utilizando el parámetro Estadísticas de movimiento.

    Se calcularán los siguientes campos de estadísticas para el grupo Distancia:

    • Distance: distancia recorrida desde la observación anterior hasta la actual.
    • TotDistance: suma de distancias recorridas entre observaciones en la ventana de historial de rastreo.
    • MinDistance: mínimo de distancias recorridas entre observaciones en la ventana de historial de rastreo.
    • MaxDistance: máximo de distancias recorridas entre observaciones en la ventana de historial de rastreo.
    • AvgDistance: media de distancias recorridas entre observaciones en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Velocidad:

    • Speed: velocidad de desplazamiento desde la observación anterior hasta la actual.
    • MinSpeed: velocidad mínima entre observaciones en la ventana de historial de rastreo.
    • MaxSpeed: velocidad máxima entre observaciones en la ventana de historial de rastreo.
    • AvgSpeed: suma de distancias entre observaciones en la ventana de historial de rastreo dividida por la suma de las duraciones entre observaciones en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Aceleración:

    • Acceleration: diferencia entre la velocidad actual y la velocidad anterior dividida por la duración actual.
    • MinAcceleration: aceleración mínima calculada en la ventana de historial de rastreo.
    • MaxAcceleration: aceleración máxima calculada en la ventana de historial de rastreo.
    • AvgAcceleration: diferencia entre las velocidades actual y primera en la ventana de historial de rastreo dividida por la suma de las duraciones entre observaciones en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Duración:

    • Duration: tiempo transcurrido desde la observación anterior.
    • TotDuration: suma de las duraciones en la ventana de historial de rastreo.
    • MinDuration: duración mínima en la ventana de historial de rastreo.
    • MaxDuration: duración máxima en la ventana de historial de rastreo.
    • AvgDuration: suma de las duraciones en la ventana de historial de rastreo dividida por el número de duraciones calculadas en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Elevación:

    • Elevation: elevación actual de la observación.
    • ElevChange: diferencia entre la elevación actual y la elevación anterior.
    • TotElevChange: suma de los cambios de elevación entre puntos en la ventana de historial de rastreo. Puede ser un valor negativo.
    • MinElevation: elevación mínima en la ventana de historial de rastreo.
    • MaxElevation: elevación máxima en la ventana de historial de rastreo.
    • AvgElevation: suma de elevaciones en la ventana de historial de rastreo dividida por el número de observaciones en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Pendiente:

    • Slope: ratio entre cambio de elevación y distancia entre las observaciones actual y anterior.
    • MinSlope: pendiente mínima en la ventana de historial de rastreo.
    • MaxSlope: pendiente máxima en la ventana de historial de rastreo.
    • AvgSlope: suma de las pendientes en la ventana de historial de rastreo dividida por el número de pendientes calculadas en la ventana de historial de rastreo.

    Se calcularán los siguientes campos de estadísticas para el grupo Inactividad:

    • Idling: True si la distancia entre la observación actual y la anterior es menor que el valor del parámetro Tolerancia de distancia inactiva y la duración entre la observación actual y la anterior es mayor que el valor del parámetro Tolerancia de tiempo de inactividad. False si no se cumple una o ninguna de estas condiciones.
    • TotIdleTime: suma de las duraciones en la ventana de historial de rastreo que cumplen los criterios de inactividad.
    • PctIdleTime: porcentaje de tiempo para el cual se detectó la inactividad.

    Se calculará el siguiente campo de estadísticas para el grupo Rumbo:

    • Bearing: ángulo de desplazamiento desde la observación anterior hasta la observación actual.
  • Las estadísticas que comienzan con Min, Max, Avg o Tot se calcularán utilizando la observación actual y un número de observaciones anteriores definido por el parámetro Ventana de historial de rastreo. El resto de estadísticas siempre se calculan utilizando solamente la observación actual y la anterior y no tienen en cuenta los valores de Ventana de historial de rastreo. Por ejemplo, si establece un valor de Ventana de historial de rastreo de 5 y solicita el grupo de estadísticas Velocidad, se utilizarán la observación actual y las 4 observaciones anteriores para calcular los campos MinSpeed, MaxSpeed y AvgSpeed de cada observación, mientras que el campo Speed se calculará utilizando solo las observaciones actual y anterior en cada punto. El valor del parámetro Ventana de historial de rastreo debe ser mayor que 1. El valor predeterminado es 3.

  • El siguiente diagrama muestra un recorrido con seis entidades de puntos. Las estadísticas se calculan en función de la elevación, la distancia y el tiempo de cada entidad.

    Una línea que representa el tiempo con seis puntos a lo largo de ella, cada uno de los cuales está etiquetado con un tiempo y una distancia

    En la siguiente tabla se resumen los cálculos estadísticos del diagrama anterior. Todos los cálculos se evalúan en el punto 5 y la ventana del historial de rastreo es 3. Se considera que una observación está inactiva si se ha movido menos de 32 metros en 1 minuto.

    EstadísticaFórmulaEjemplo

    Distancia

    35 m

    Distancia total

    80 + 30 + 35 = 145 m

    Speed

    Distancia / duración

    35 / 60 = 0,58 m/s

    Velocidad media

    Distancia total / duración total

    145 / 180 m/s

    Acceleration

    (0,58 – 0,5) / 60 = 0,001 m/s2

    Aceleración media

    (Velocidad (última) – Velocidad (primera)) / (Duración total)

    (0,58 – 1,33) / 60 = -0,01 m/s2

    Duración

    60 s

    Duración total

    60 + 60 + 60 = 180 s

    Elevación

    5 m

    Cambio de elevación

    5 – 4 = 1 m

    Cambio total de elevación

    5 – 0 = 5 m

    Slope

    Cambio de elevación / distancia

    1 / 35

    Pendiente media

    Cambio total de elevación / distancia total

    5 / 145

    Idling

    False

    Tiempo total de inactividad

    60 s

    Porcentaje de tiempo de inactividad

    1 / 3

    Orientación

    0

  • Si hay menos observaciones en un historial de rastreo que el valor del parámetro Ventana de historial de rastreo, las estadísticas que empiecen por Min, Max, Avg o Tot se calcularán utilizando todas las observaciones del historial de rastreo.

  • No se calcularán las estadísticas de la primera entidad de cada recorrido. Las estadísticas del grupo Aceleración no se calcularán para las primeras dos entidades de cada recorrido.

  • Los valores resultantes estarán en las unidades especificadas por los parámetros Unidad de distancia, Unidad de duración, Unidad de velocidad, Unidad de aceleración y Unidad de elevación.

  • Al calcular estadísticas en recorridos grandes, puede utilizar el parámetro División de límite de tiempo para dividir los recorridos grandes en recorridos más pequeños para mejorar el rendimiento.

  • 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. Por lo tanto, 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

  • Es posible mejorar el rendimiento de la herramienta Calcular estadísticas de movimiento realizando cualquiera de las siguientes acciones o todas:

    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • Reduzca el valor del parámetro Ventana de historial de rastreo.
    • Utilice el parámetro División de límite de tiempo para dividir recorridos grandes a un intervalo de tiempo definido.
    • Utilice datos locales en los que se ejecute el análisis.

Sintaxis

arcpy.geoanalytics.CalculateMotionStatistics(input_layer, output_name, track_fields, {track_history_window}, {motion_statistics}, {distance_method}, {idle_dist_tolerance}, {idle_time_tolerance}, {time_boundary_split}, {time_boundary_reference}, {distance_unit}, {duration_unit}, speed_unit, {acceleration_unit}, {elevation_unit}, {data_store})
ParámetroExplicaciónTipo de datos
input_layer

Las entidades de puntos con la función de tiempo habilitada en las que se calcularán las estadísticas de movimiento.

Feature Set
output_name

El nombre de la capa de resultados.

String
track_fields
[track_fields,...]

Uno o varios campos utilizados para identificar entidades diferenciadas.

Field
track_history_window
(Opcional)

El número de observaciones (incluida la observación actual) que se utilizará para las estadísticas de resumen. El valor predeterminado es 3, lo que significa que las estadísticas de resumen se calcularán en cada punto de un recorrido utilizando la observación actual y las dos observaciones anteriores. Este parámetro no afecta a estadísticas instantáneas ni a una clasificación inactiva.

Long
motion_statistics
[motion_statistics,...]
(Opcional)

Especifica el grupo que contiene las estadísticas que se van a calcular y escribir en el resultado. Si no se proporciona ningún valor, se calcularán todas las estadísticas de todos los grupos.

  • DISTANCESe calcularán la distancia entre la observación actual y la anterior, y la distancia máxima, mínima, media y total en la ventana de historial de rastreo.
  • DURATIONSe calcularán la duración entre la observación actual y la anterior, y la duración máxima, mínima, media y total en la ventana de historial de rastreo.
  • SPEEDSe calcularán la velocidad de desplazamiento entre la observación actual y la anterior, y la velocidad máxima, mínima y media en la ventana de historial de rastreo.
  • ACCELERATIONSe calcularán la aceleración entre la velocidad actual y la velocidad anterior, y la aceleración máxima, mínima y media en la ventana de historial de rastreo.
  • ELEVATIONSe calcularán la elevación actual, el cambio de elevación entre la observación actual y la anterior, y el cambio de elevación máximo, mínimo, medio y total en la ventana de historial de rastreo.
  • SLOPESe calcularán la pendiente entre la observación actual y la anterior, y la pendiente máxima, mínima y media en la ventana de historial de rastreo.
  • IDLESe calculará si una entidad está actualmente inactiva, así como el porcentaje de tiempo de inactividad y el tiempo total de inactividad en la ventana de historial de rastreo.
  • BEARINGSe calculará el ángulo de desplazamiento entre la observación anterior y la observación actual.
String
distance_method
(Opcional)

Especifica el método de medición de distancia que se utilizará al calcular las estadísticas de movimiento.

  • GEODESICSe utilizará la distancia geodésica. Esta es la opción predeterminada.
  • PLANARSe utilizará la distancia planar.
String
idle_dist_tolerance
(Opcional)

La distancia máxima a la que pueden estar separados dos puntos secuenciales en un recorrido y a la que pueden seguir considerándose inactivos. Este parámetro se utiliza con el parámetro idle_time_tolerance para determinar si una entidad está inactiva. El parámetro idle_dist_tolerance es obligatorio si se especifica el grupo de estadísticas IDLE en el parámetro motion_statistics o si se calcularán las estadísticas de todos los grupos.

Linear Unit
idle_time_tolerance
(Opcional)

La duración mínima que dos puntos secuenciales de un recorrido deben estar cercanos entre sí para que se consideren inactivos. Este parámetro se utiliza con el parámetro idle_dist_tolerance para determinar si una entidad está inactiva. El parámetro idle_time_tolerance es obligatorio si se especifica el grupo de estadísticas IDLE en el parámetro motion_statistics o si se calcularán las estadísticas de todos los grupos.

Time 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
distance_unit
(Opcional)

Especifica la unidad de medida para los valores de distancia en la clase de entidad de salida.

  • METERSLa unidad de medida será metros. Esta es la opción predeterminada.
  • KILOMETERSLa unidad de medida será kilómetros.
  • MILESLa unidad de medida será millas.
  • NAUTICAL_MILESLa unidad de medida será millas náuticas.
  • YARDSLa unidad de medida será yardas.
  • FEETLa unidad de medida será pies.
String
duration_unit
(Opcional)

Especifica la unidad de medida para los valores de duración en la clase de entidad de salida.

  • YEARSLa unidad de medida será años.
  • MONTHSLa unidad de medida será meses.
  • WEEKSLa unidad de medida será semanas.
  • DAYSLa unidad de medida será días.
  • HOURSLa unidad de medida será horas.
  • MINUTESLa unidad de medida será minutos.
  • SECONDSLa unidad de medida será segundos. Esta es la opción predeterminada.
  • MILLISECONDSLa unidad de medida será milisegundos.
String
speed_unit

Especifica la unidad de medida para los valores de velocidad en la clase de entidad de salida.

  • METERS_PER_SECONDLa unidad de medida será metros por segundo. Esta es la opción predeterminada.
  • MILES_PER_HOURLa unidad de medida será millas por hora.
  • KILOMETERS_PER_HOURLa unidad de medida será kilómetros por hora.
  • FEET_PER_SECONDLa unidad de medida será pies por segundo.
  • NAUTICAL_MILES_PER_HOURLa unidad de medida será millas náuticas por hora.
String
acceleration_unit
(Opcional)

Especifica la unidad de medida para los valores de aceleración en la clase de entidad de salida.

  • METERS_PER_SECOND_SQUAREDLa unidad de medida será metros por segundo al cuadrado. Esta es la opción predeterminada.
  • FEET_PER_SECOND_SQUAREDLa unidad de medida será pies por segundo al cuadrado.
String
elevation_unit
(Opcional)

Especifica la unidad de medida para los valores de elevación en la clase de entidad de salida.

  • METERSLa unidad de medida será metros. Esta es la opción predeterminada.
  • KILOMETERSLa unidad de medida será kilómetros.
  • MILESLa unidad de medida será millas.
  • NAUTICAL_MILESLa unidad de medida será millas náuticas.
  • YARDSLa unidad de medida será yardas.
  • FEETLa unidad de medida será pies.
String
data_store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. La predeterminada 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.

String

Salida derivada

NombreExplicaciónTipo de datos
output

Las entidades de punto de salida con estadísticas de movimiento.

Conjunto de entidades

Muestra de código

Ejemplo de CalculateMotionStatistics (script independiente)

En el siguiente script de Python se muestra cómo utilizar la función CalculateMotionStatistics.

# Name: CalculateMotionStatistics.py
# Description: Calculate speed, acceleration, and bearing for hurricane tracks.
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://mydomain.com/server/rest/services/DataStoreCatalogs/bigDataFileShares_Hurricanes/BigDataCatalogServer/all"
out = "Hurricanes_MotionStats"
trackField = "name"
# Execute Calculate Motion Statistics
arcpy.geoanalytics.CalculateMotionStatistics(inFeatures, out, trackField, 5, 
                                             ["SPEED", "ACCELERATION", "BEARING"], 
                                             "GEODESIC")

Entornos

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. Para las 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