Resumen
Calcula las estadísticas de movimiento para los puntos de una clase de entidad con función de tiempo habilitada.
Ilustración
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.
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ística Fórmula Ejemplo 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ámetro | Explicación | Tipo 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.
| String |
distance_method (Opcional) | Especifica el método de medición de distancia que se utilizará al calcular las estadísticas de movimiento.
| 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.
| String |
duration_unit (Opcional) | Especifica la unidad de medida para los valores de duración en la clase de entidad de salida.
| String |
speed_unit | Especifica la unidad de medida para los valores de velocidad en la clase de entidad de salida.
| String |
acceleration_unit (Opcional) | Especifica la unidad de medida para los valores de aceleración en la clase de entidad de salida.
| String |
elevation_unit (Opcional) | Especifica la unidad de medida para los valores de elevación en la clase de entidad de salida.
| 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
Nombre | Explicación | Tipo de datos |
output | Las entidades de punto de salida con estadísticas de movimiento. | Conjunto de entidades |
Muestra de código
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