Buscar ubicaciones de permanencia (GeoAnalytics Desktop)

Resumen

Busca aquellas ubicaciones en las cuales se han detenido o han permanecido objetos en movimiento, empleando para ello umbrales de tiempo y distancia determinados.

Ilustración

Herramienta Buscar ubicaciones de permanencia
Puntos con función de tiempo habilitada con las ubicaciones de permanencia descubiertas.

Uso

  • La capa de entrada debe contener entidades de punto con función de tiempo habilitada que representen un instante en el tiempo.

  • Las ubicaciones de permanencia se definen como observaciones secuenciales con poco o ningún movimiento durante un período de tiempo determinado. Dependiendo del campo de aplicación, se pueden conocer como puntos de estadía o detección de inactividad.

  • En la siguiente tabla se enumera la terminología utilizada en la herramienta Buscar ubicaciones de permanencia:

    PlazoDescription

    Ubicación de permanencia

    Entidades que representan en qué momento un rastreo ha permanecido estacionario dentro de los parámetros de tiempo y distancia especificados. Este es el resultado de la salida de la herramienta y representa entidades de permanencia tales como puntos, envolturas convexas o centros medios.

    Recorrido

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

    Observación

    Un punto de un recorrido.

    Geodésico

    Una línea dibujada en una esfera. Una línea geodésica dibujada en el globo representa la curvatura del geoide de la Tierra.

    Planar

    Distancia en línea recta medida en una superficie plana (es decir, plano cartesiano). También se conoce como distancia euclidiana.

    Instante

    Un único momento en el tiempo representado por una hora de inicio y sin hora de finalización.

    Intervalo

    Una duración de tiempo representada por una hora de inicio y una hora de finalización.

  • Los resultados son entidades de puntos que representan instantes en el tiempo, o bien entidades de área 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 permanencia.

  • Aquellas entidades que carezcan de tiempo se excluyen del análisis.

  • Solo es posible detectar ubicaciones de permanencia en los rastreos que tengan más de una entidad.

  • Las ubicaciones de permanencia se determinan utilizando valores de tiempo (Tolerancia de tiempo) y de distancia (Tolerancia de distancia). Primero, la herramienta asigna las entidades a un recorrido mediante un identificador único. El orden del recorrido se rige por el tiempo de las entidades. A continuación, se calcula la distancia entre la primera observación de un rastreo y la siguiente. Se considera que las entidades pertenecen a una permanencia si dos puntos consecutivos en el tiempo permanecen dentro de una distancia determinada durante al menos una duración determinada. Si se encuentran dos entidades que forman parte de una permanencia, la primera entidad de la permanencia se utiliza como punto de referencia y la herramienta busca las entidades consecutivas que estén a un máximo de la distancia especificada respecto del punto de referencia de la permanencia. Una vez encontradas todas las entidades existentes dentro de la distancia especificada, la herramienta recopila las entidades de permanencia y calcula su centro medio. Las entidades anteriores y posteriores a la permanencia actual se agregan a la permanencia si están dentro de una distancia determinada respecto del centro medio de la ubicación de permanencia. Este proceso continúa hasta el final del rastreo.

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

  • De forma predeterminada, las ubicaciones de permanencia se crean mediante un método geodésico para el cálculo de la distancia. Se recomienda utilizar la distancia geodésica en las siguientes circunstancias:

    • Recorridos que cruzan la línea internacional de cambio de fecha: 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.
    • Su dataset no se encuentra en una proyección local: si sus datos de entrada se encuentran en una proyección local, utilice el método de distancia planar. Por ejemplo, utilice el método planar para examinar las ubicaciones de permanencia que corresponden a un mismo estado. La capa de entrada o la referencia espacial de procesamiento deben estar definidas con una referencia espacial local de su dataset.

  • Las ubicaciones de permanencia de salida pueden representarse de cuatro formas. En la siguiente tabla se muestra un ejemplo de cada posibilidad:

    Tipo de salidaDescriptionEjemplo

    Todas las entidades

    Se devuelven todas las entidades. Las entidades resultantes presentan el instante de tipo tiempo.

    Las entidades que pertenecen a una permanencia se muestran en azul. Las entidades que no pertenecen ninguna permanencia se muestran en gris.

    Solo se calcula una estadística de recuento para este tipo de salida. El recuento representa el número de entidades que pertenecen a una permanencia individual. Las entidades sin permanencia presentan un recuento de 0.

    Ejemplo de todas las entidades devueltas por la herramienta Buscar ubicaciones de permanencia

    Entidades de permanencia

    Solo se devuelven las entidades que forman parte de una permanencia. Las entidades resultantes presentan el instante de tipo tiempo.

    Solo se calcula una estadística de recuento para este tipo de salida. El recuento representa el número de entidades que pertenecen a una permanencia individual.

    Ejemplo de las entidades de permanencia devueltas por la herramienta Buscar ubicaciones de permanencia

    Centros medios

    Para cada permanencia, se devuelve un único punto que representa el centro medio de la permanencia en distancia y tiempo. Las entidades resultantes presentan un intervalo de tipo tiempo.

    Siempre se calcula el recuento de entidades de la permanencia. Si lo desea, puede calcular estadísticas a partir de este tipo de entidad de permanencia. De forma predeterminada, no se calcula ninguna estadística.

    Ejemplo de las entidades de centro medio devueltas por la herramienta Buscar ubicaciones de permanencia

    Envolturas convexas

    Cada permanencia se representa mediante una envoltura convexa de las entidades de permanencia. Las entidades resultantes presentan un intervalo de tipo tiempo.

    Siempre se calcula el recuento de entidades de la permanencia. Si lo desea, puede calcular estadísticas a partir de este tipo de entidad de permanencia. De forma predeterminada, no se calcula ninguna estadística.

    Ejemplo de las entidades de envoltura convexa devueltas por la herramienta Buscar ubicaciones de permanencia

  • Además de los campos de la capa de entrada, se incluyen los siguientes campos en todas las entidades de salida:

    Nombre de campoDescription

    count

    El número de entidades contenidas en la permanencia

    dwellid

    El Id. único de la permanencia a la que pertenece la entidad

    meanx

    El valor medio de las coordenadas x que componen la permanencia

    meany

    El valor medio de las coordenadas y que componen la permanencia

    meandistance

    La distancia media entre los puntos consecutivos de una ubicación de permanencia

    date

    El tiempo de la entidad individual creada si el tipo de salida es el de entidades de permanencia, centros medios o todas las entidades

    start_date

    La hora de inicio creada si el tipo de salida es de envolturas convexas

    end_date

    La hora de fin creada si el tipo de salida es de envolturas convexas

    Si el tipo de salida es Todas las entidades, en los resultados que pertenecen a una permanencia, los campos indicados arriba se calculan. Los resultados que no pertenecen a una permanencia devuelven un valor de 0 en el campo count, el campo date devuelve el valor de tiempo de la entidad de entrada y todos los demás campos devuelven un valor de null.

  • 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 ello, utilizando un campo de ejemplo denominado 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.

  • Puede aplicar una, dos, tres, cuatro o ninguna opción de división al mismo tiempo. Todos los ejemplos a continuación utilizan una división de espacio. Los resultados, suponiendo que aplique una división de tiempo de seis horas, un límite de tiempo de un 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ónDescripción

    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 sobre la línea punteada y la hora de cada medición de punto se marca debajo de los puntos. La línea temporal presenta cuatro divisiones. Las divisiones de color rojo representan la división de límite de tiempo de un día, partiendo de las 00: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 seis 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 6 horas

    Ejemplo con una división de tiempo de seis horas. Las entidades separadas más de dos 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 un día empezando a medianoche. En cada intervalo de un día a partir de la hora especificada (aquí las 00: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 seis horas y un límite de tiempo de un día a partir de las 00:00 horas. Las entidades separadas más de seis horas o las que se intersecan con la división de duración de las 00: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 seis horas y una división de distancia de 16 kilómetros. Las entidades separadas más de seis 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 un día a partir de las 00:00 horas.

    Ejemplo con una división de distancia de 16 kilómetros y un límite de tiempo de un día a partir de las 00: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 00:00 horas.

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

  • Al calcular la envoltura convexa y si la ubicación de permanencia es completamente estacionaria (una ubicación única) o se compone de dos puntos únicos, un valor pequeño basado en la tolerancia de la referencia espacial usada en un análisis se usará como ancho, alto o diámetro para crear polígonos de salida en lugar de envolturas convexas. Estos polígonos se utilizan para la visualización y no representan la extensión espacial de la permanencia. En la tabla que aparece a continuación se describen ejemplos de estos casos:

    Caso de entradaDescriptionEjemplo

    Coincidente (un punto espacialmente único)

    Si las entidades de entrada están apiladas (son coincidentes), la envoltura convexa resultante será un polígono no válido.

    En este ejemplo, las entidades de entrada coincidentes están representadas por el punto rojo del centro del polígono amarillo. El polígono amarillo representa el resultado de la envoltura convexa de salida para los puntos coincidentes. El polígono azul muestra el aspecto de una envoltura convexa real cuando existen cuatro puntos no coincidentes en una misma ubicación de permanencia.

    Ejemplo de entidades coincidentes devueltas al obtener envolturas convexas de salida

    Colineal (dos puntos espacialmente únicos)

    Si las entidades de entrada se encuentran en una línea (más habitualmente, con dos puntos espacialmente únicos), la envoltura convexa será un polígono no válido.

    En este ejemplo, los puntos colineales están representados por puntos rojos en el interior del polígono amarillo. El polígono amarillo representa el resultado de la envoltura convexa de salida para los puntos colineales.

    Ejemplo de entidades colineales devueltas al obtener envolturas convexas de salida

  • Al elegir los parámetros para calcular las ubicaciones de permanencia, tenga en cuenta el tipo de observación y la escala de las permanencias que desea encontrar. A continuación, se muestran algunos ejemplos de cómo puede modificar los parámetros para encontrar permanencias en datos de movimiento:

    • Las entidades de buques presentan los campos vesselID y tripID.
      • Use los campos vesselID y tripID como identificadores para calcular las ubicaciones de permanencia existentes a lo largo de rutas diferentes.
      • Utilice una tolerancia de tiempo de 1 hora y una tolerancia de distancia de 1 milla náutica para descubrir en qué lugares permanecen los buques dentro de una distancia de 1 milla náutica durante al menos 1 hora.
    • Los rastreadores de animales presentan campos animalID.
      • Utilice el campo animalID como identificador para comparar las ubicaciones de permanencia de animales concretos.
      • Para determinar el rango de movimiento de un animal, utilice una tolerancia de tiempo de 3 días, además de una tolerancia de distancia de 10 millas para descubrir hábitats animales de interés.
      • Para áreas de interés más pequeñas, utilice una tolerancia de tiempo de 2 horas y una tolerancia de distancia de 100 metros.

  • Puede mejorar el rendimiento de la herramienta Buscar ubicaciones de permanencia mediante una o varias de las siguientes acciones:

    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • Genere los resultados de salida como Entidades de permanencia o Centro medio.
    • Subdivida los rastreos el máximo posible mediante la incorporación de entradas de Campo de recorrido.
    • Utilice el método planar para el cálculo de distancias, en lugar del geodésico.
    • Divida los recorridos con los parámetros División de tiempo, División de límite de tiempo y División de distancia. El uso del parámetro División de límite de tiempo ofrecerá 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.

Sintaxis

arcpy.gapro.FindDwellLocations(input_features, output, track_fields, distance_method, distance_tolerance, time_tolerance, output_type, {summary_statistics}, {time_boundary_split}, {time_boundary_reference})
ParámetroExplicaciónTipo de datos
input_features

Los rastreos de puntos a partir de los cual buscar permanencias. La entrada debe ser una capa con función de tiempo habilitada y entidades que representen instantes en el tiempo.

Feature Layer
output

La clase de entidad de salida con las permanencias resultantes.

Feature Class
track_fields
[track_fields,...]

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

Field
distance_method

Especifica cómo se calculan las distancias entre las entidades de permanencia.

  • GEODESIC Si la referencia espacial puede ser panorámica, los rastreos cruzarán la línea internacional de cambio de fecha en caso 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.
  • PLANARSe utilizarán distancias planares.
String
distance_tolerance

La distancia máxima entre puntos que se considerará como una ubicación de permanencia única.

Linear Unit
time_tolerance

La duración de tiempo mínima que se considerará como una ubicación de permanencia única.

Se consideran tanto el tiempo como la distancia a la hora de encontrar las permanencias. El parámetro Tolerancia de distancia especifica la distancia.

Time Unit
output_type

Especifica qué formato de salida tendrán las entidades de permanencia.

  • DWELL_FEATURES Se devuelven todas las entidades de punto de entrada que forman parte de una permanencia.
  • DWELL_MEAN_CENTERS Se devuelven los puntos que representan los centros medios de cada grupo de permanencia. Esta es la opción predeterminada.
  • DWELL_CONVEX_HULLS Se devuelven los polígonos que representan la envoltura convexa de cada grupo de permanencia.
  • ALL_FEATURES Se devuelven todas las entidades de punto de entrada.
String
summary_statistics
[summary_statistics,...]
(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
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 1 de FindDwellLocations (script independiente)

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

# Name: FindDwellLocations.py
# Description: Find the mean centers representing locations where ships have stayed within 1 mile across 4 hours of travel
# Requirements: ArcGIS GeoAnalytics Desktop tools
# Import system modules
import arcpy
# Set local variables
inFeatures = "c:/mydata/ShippingData.gdb/MyAtlanticShips"
outFeatures = "c:/mydata/OutputDatasets/AtlanticShips_DwellLocations.shp"
trackIdentifier = "SHIPID"
distance = "1 Miles"
timeDuration = "4 Hours"
outputType = "MEAN_CENTERS"
statistics = [["SPEED", "MEAN"]]
# Execute Find Dwell Locations
arcpy.gapro.FindDwellLocations(inFeatures, outFeatures, trackIdentifier, 
                               "GEODESIC", distance, timeDuration, 
                               outputType, statistics)

Información de licenciamiento

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

Temas relacionados