Trazar eventos de proximidad (GeoAnalytics Desktop)

Resumen

Traza eventos cercanos entre sí en el espacio (ubicación) y el tiempo. Los datos de puntos con la función de tiempo habilitada deben incluir entidades que representen un instante en el tiempo.

Ilustración

Ilustración de la herramienta Trazar eventos de proximidad
Se muestra un ejemplo de eventos de trazado (círculos naranjas) y recorridos (círculos rojos).

Uso

  • A continuación se muestran ejemplos de casos de uso que se pueden realizar con la herramienta Trazar eventos de proximidad:

    • Una organización monitoriza los dispositivos suministrados por la empresa que llevan los trabajadores. La empresa quiere determinar qué empleados estaban cerca de una persona que se sabe que padece la enfermedad por coronavirus de 2019 (COVID-19). Al utilizar la capa de puntos que representa las ubicaciones y la hora de los dispositivos, identifican los dispositivos que se encuentran a menos de 6 metros y 5 minutos de la persona transmisora y de otros empleados posiblemente transmisores.
    • Una ONG está monitorizando las poblaciones de salmón mediante GPS y quiere realizar un seguimiento de la propagación del piojo del salmón entre las poblaciones de salmón cultivado escapado y las poblaciones silvestres. Se realiza el seguimiento de algunos salmones cultivados marcados con GPS para determinar si se encuentran muy cerca de las poblaciones silvestres marcadas y cómo estas poblaciones silvestres pueden propagar aún más la enfermedad. Las mediciones también incluyen un campo de profundidad, el cual la ONG utiliza para buscar los peces a una profundidad similar.

  • La siguiente terminología se utiliza en la herramienta Trazado de eventos de proximidad:

    • Entidad: un objeto cuya posición se registra periódicamente; por ejemplo, un animal, una persona o un vehículo. Una entidad puede ser fija o móvil.
    • Entidades de interés: las entidades específicas utilizadas para iniciar un trazado; por ejemplo, una persona con COVID-19.
    • Evento de proximidad: el periodo de tiempo en el que dos entidades están cerca entre sí; por ejemplo, dos personas que están a menos de 3 metros entre sí y dentro de una ventana de 1 minutos entre sí.
    • Profundidad: el grado de separación entre una entidad de interés y una entidad más abajo en el trazado (aguas abajo). Por ejemplo, un evento de proximidad entre la entidad de interés y otra persona es la profundidad 1.
    • Evento de trazado: el primer contacto para una entidad especificada aguas abajo de las entidades de interés.
  • Al trazar eventos de proximidad, es su responsabilidad comprender las directrices organizativas, locales y nacionales relacionadas con la sensibilidad y privacidad de los datos.

  • Los diagramas que aparecen a continuación muestran cómo la herramienta Trazado de eventos de proximidad trata los datos. En estos diagramas, el tiempo está en el eje x.

    En cada diagrama hay cuatro entidades: A, B, C y D. El texto resaltado describe los eventos de trazado que ocurren entre dos entidades (las entidades de origen y destino) y la profundidad del evento de proximidad. En este ejemplo, la entidad C es la entidad de interés que se está trazando aguas abajo.

    En el diagrama 1, la entidad C es la entidad de interés elegida. La profundidad es 0.

    Diagrama 1 de la herramienta Trazar eventos de proximidad

    En el diagrama 2, se produce un evento de proximidad entre las entidades C y B. La profundidad del trazado es 1. Cuando varias entidades son eventos de proximidad posteriores, se trata de un evento de proximidad sostenido.

    Diagrama 2 de la herramienta Trazar eventos de proximidad

    En el diagrama 3, se produce un evento de proximidad entre las entidades B y A. La profundidad del trazado es 2.

    Diagrama 3 de la herramienta Trazar eventos de proximidad

    En el diagrama 4, se produce un evento de proximidad entre las entidades C y D. La profundidad del trazado es 1.

    Diagrama 4 de la herramienta Trazar eventos de proximidad

    En la siguiente imagen, la entidad B es la entidad de interés y está próxima a la entidad A tres veces, indicado por los círculos azules. Suponiendo que el tiempo está en el eje x, el primer evento de proximidad es 1, seguido de un descanso sin contacto y, a continuación, ocurren los eventos de proximidad 2 y 3. La herramienta devolverá el evento 1 como el evento de trazado. Los eventos de proximidad 2 y 3 no se devuelven en la capa del parámetro Eventos de proximidad de salida. Todas las entidades después del evento de proximidad 1 se devuelven en el parámetro Recorridos de salida.

    Primer evento de trazado

  • Las entidades deben cumplir los criterios de los parámetros Distancia de búsqueda espacial y Distancia de búsqueda temporal para considerarse próximos entre sí.

    Diagrama de Distancia de búsqueda espacial
    Figura A: las dos entidades están dentro de una distancia de búsqueda espacial entre sí.
    Diagrama de Distancia de búsqueda temporal
    Figura B: las dos entidades están dentro de una distancia de tiempo (distancia de búsqueda temporal) entre sí.
  • Especificar una distancia de búsqueda temporal y una distancia de búsqueda espacial mayores dará como resultado más eventos y tardará más tiempo en procesar los resultados. Las distancias más pequeñas generarán menos eventos y el tiempo de procesamiento será más corto.

  • Utilice conocimientos específicos del ámbito para determinar los valores utilizados para los parámetros Distancia de búsqueda espacial y Distancia de búsqueda temporal. Tenga en cuenta factores como la precisión del dispositivo al establecer las distancias.

  • El parámetro Definir entidades de interés utilizando admite las siguientes opciones:

    • Id. de entidades de interés: esta opción habilita el parámetro Id. de entidades de interés, el cual requiere valores para Id. de entidad y valores temporales opcionales para Empezar desde para empezar el trazado a partir de ese momento.
    • Entidades seleccionadas en una capa de entidades de interés especificada: esta opción habilita el parámetro Capa de entidades de interés, que le permite elegir una capa que incluya los Id. de entidad y, opcionalmente, las horas a partir de las cuales empezará el trazado. Para esta capa, el nombre del campo Id. de entidad debe coincidir con el nombre del campo Id. de entidad de la capa de entrada. El tiempo se utilizará en esta capa si la capa tiene el tiempo habilitado.
  • La entidad de interés es donde comenzará el trazado de proximidad. Si especifica una hora para Empezar desde, el trazado empezará en ese momento para esa entidad. Si no especifica ninguna hora, el trazado empezará el 1 de enero de 1970 para esa entidad.

  • Puede establecer requisitos adicionales para un evento de proximidad. Por ejemplo, puede trazar solo personas de un edificio concreto en un campus o puede trazar solo aquellas dentro de un nivel de un edificio. Utilice el parámetro Criterios de coincidencia de atributos para especificar los atributos de restricción. Por ejemplo, para restringir entidades en la misma planta, especifique el campo Floor.

  • La capa Eventos de proximidad de salida contendrá el primer evento de proximidad para las entidades del trazado, así como los siguientes campos:

    • from_id—Id. de la entidad aguas arriba
    • to_id—Id. de la entidad aguas abajo
    • depth—Grado de separación entre la entidad de interés y el campo to_id
    • duration_minutes—Duración del evento de trazado en minutos Este campo se calcula como la diferencia entre las horas de inicio y finalización. Por ejemplo, 1,5 minutos son 90 segundos. Un valor de 0 significa que hay un único evento de proximidad (horas de inicio y finalización idénticas).
    • date—Fecha y hora del evento de proximidad Este campo se calcula como la primera hora registrada que cumple los criterios del evento de proximidad.

    La capa Eventos de proximidad de salida se puede visualizar con el control deslizante de tiempo o en un gráfico de vínculos para visualizar los resultados del trazado.

  • Puede utilizar el parámetro opcional Recorridos de salida para crear una capa que contenga el primer evento de trazado y todas las entidades posteriores para esa entidad. Estos resultados son útiles para visualizar por dónde se desplazaron las entidades y se pueden utilizar en la herramienta Reconstruir recorridos. El parámetro Recorridos de salida incluirá los siguientes campos:

    • entity_id—Id. de entidad
    • depth—Grado de separación entre la entidad de interés y el recorrido del trazado La profundidad será la misma en un solo recorrido.
    • instant_datetime—Fecha de cada entidad Esta será la misma fecha que el registro de las entidades de entrada.
  • Los puntos de entrada que no tienen valores de tiempo, valores de geometría o un campo de Id. de entidad no se incluyen en los resultados.

  • Al utilizar el trazado de proximidad para hallar la transmisión (por ejemplo, de una enfermedad), tenga en cuenta lo siguiente:

    • La presencia de un evento de trazado no garantiza que se haya transmitido; solo es una posible ocurrencia.
    • La ausencia de un evento de trazado no significa que no se haya transmitido algo. En casos como una enfermedad, puede haber transmisión a través de otros vectores.
    • Cuando sea posible, utilice el parámetro Criterios de coincidencia de atributos para restringir los eventos de proximidad cuando sea necesario. Por ejemplo, utilice atributos para restringir la sala, la planta o la elevación.

  • Si desea calcular todos los eventos de proximidad y no desea trazar aguas abajo desde una entidad de interés, utilice la herramienta Unir entidades.

  • Puede mejorar el rendimiento de la herramienta Trazar eventos de proximidad realizando una o varias de las siguientes acciones:

    • Utilice valores más pequeños para los parámetros Distancia de búsqueda espacial y Distancia de búsqueda temporal.
    • Limite las entidades de interés utilizando el parámetro Criterios de coincidencia de atributos.
    • Especifique un valor del parámetro Profundidad máxima de trazado para limitar el número de trazados aguas abajo de una entidad determinada y la entidad de interés.
    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • 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 su ArcGIS GeoAnalytics Server para realizar un análisis, consulte GeoAnalytics Tools.

Parámetros

EtiquetaExplicaciónTipo de datos
Puntos de entrada

La clase de entidad de puntos con la función de tiempo habilitada que se utilizará para trazar eventos de proximidad.

Feature Layer
Campo de Id. de entidad

El campo de texto que representa Id. únicos para cada entidad.

Field
Eventos de proximidad de salida

La clase de entidad de salida que contiene los eventos de proximidad trazados.

Feature Class
Método de distancia

Especifica el tipo de distancia que se utilizará con el parámetro Distancia de búsqueda espacial.

  • PlanarSe utilizará la distancia planar entre las entidades. Esta es la opción predeterminada.
  • GeodésicaSe utilizarán distancias geodésicas entre las entidades. Este tipo de línea tiene en cuenta la curvatura del esferoide y trata correctamente los datos cercanos a la línea de cambio de fecha y los polos.
String
Distancia de búsqueda espacial
(Opcional)

La distancia máxima entre dos puntos para que se consideren en proximidad. Se considera que las entidades dentro de los criterios de distancia de búsqueda espacial y distancia de búsqueda temporal están próximas entre sí.

Linear Unit
Distancia de búsqueda temporal
(Opcional)

La duración máxima entre dos puntos para que se consideren en proximidad. Se considera que las entidades dentro de la distancia de búsqueda temporal y que satisfacen los criterios de distancia de búsqueda espacial están próximas entre sí.

Time Unit
Definir entidades de interés utilizando
(Opcional)

Especifica las entidades de interés.

  • Id. de entidades de interésSe utilizarán los nombres de entidad y las horas como entidades de interés. Esta es la opción predeterminada.
  • Entidades seleccionadas en una capa de entidades de interés especificadaLa entidad seleccionada en una entidad de interés específica se utilizará como la entidad de interés.
String
Id. de entidades de interés

Los nombres de entidad y las horas de inicio para las entidades de interés. Este parámetro solo se admite cuando se especifica Id. de entidades de interés para el parámetro Definir entidades de interés utilizando.

  • Id. de entidad: un nombre de entidad único. Los nombres distinguen entre mayúsculas y minúsculas y deben ser cadenas de caracteres.
  • Empezar desde: una hora de inicio opcional para trazar una entidad de interés. Si no se especifica ningún tiempo, se utilizará el 1 de enero de 1970.

Value Table
Capa de entidades de interés

Capa o tabla que contiene las entidades de interés. Este parámetro solo se admite cuando se especifica Entidades seleccionadas en una capa de entidades de interés especificada para el parámetro Definir entidades de interés utilizando.

Table View
Recorridos de salida
(Opcional)

Una capa de salida que contiene el primer evento de trazado y todas las entidades subsiguientes para esa entidad especificada.

Feature Class
Profundidad máxima de trazado

Los grados máximos de separación entre una entidad de interés y una entidad más abajo en el trazado (aguas abajo).

Long
Criterios de coincidencia de atributos
(Opcional)

Los campos utilizados para restringir el evento de proximidad.

Field

arcpy.geoanalytics.TraceProximityEvents(in_points, entity_id_field, out_feature_class, distance_method, {spatial_search_distance}, {temporal_search_distance}, {entities_of_interest_input_type}, entities_interest_ids, entities_interest_layer, {out_tracks_layer}, max_trace_depth, {attribute_match_criteria})
NombreExplicaciónTipo de datos
in_points

La clase de entidad de puntos con la función de tiempo habilitada que se utilizará para trazar eventos de proximidad.

Feature Layer
entity_id_field

El campo de texto que representa Id. únicos para cada entidad.

Field
out_feature_class

La clase de entidad de salida que contiene los eventos de proximidad trazados.

Feature Class
distance_method

Especifica el tipo de distancia que se utilizará con el parámetro Distancia de búsqueda espacial.

  • PLANARSe utilizará la distancia planar entre las entidades. Esta es la opción predeterminada.
  • GEODESICSe utilizarán distancias geodésicas entre las entidades. Este tipo de línea tiene en cuenta la curvatura del esferoide y trata correctamente los datos cercanos a la línea de cambio de fecha y los polos.
String
spatial_search_distance
(Opcional)

La distancia máxima entre dos puntos para que se consideren en proximidad. Se considera que las entidades dentro de los criterios de distancia de búsqueda espacial y distancia de búsqueda temporal están próximas entre sí.

Linear Unit
temporal_search_distance
(Opcional)

La duración máxima entre dos puntos para que se consideren en proximidad. Se considera que las entidades dentro de la distancia de búsqueda temporal y que satisfacen los criterios de distancia de búsqueda espacial están próximas entre sí.

Time Unit
entities_of_interest_input_type
(Opcional)

Especifica las entidades de interés.

  • ID_START_TIMESe utilizarán los nombres de entidad y las horas como entidades de interés. Esta es la opción predeterminada.
  • SELECTED_FEATURELa entidad seleccionada en una entidad de interés específica se utilizará como la entidad de interés.
String
entities_interest_ids
[entities_interest_ids,...]

Los nombres de entidad y las horas de inicio para las entidades de interés. Este parámetro solo se admite al especificar ID_START_TIME para el parámetro entities_of_interest_input_type.

  • Id. de entidad: un nombre de entidad único. Los nombres distinguen entre mayúsculas y minúsculas.
  • Empezar desde: una hora de inicio opcional para trazar una entidad de interés. Si no se especifica ningún tiempo, se utilizará el 1 de enero de 1970.

Value Table
entities_interest_layer

Capa o tabla que contiene las entidades de interés. Este parámetro solo se admite al especificar SELECTED_FEATURE para el parámetro entities_of_interest_input_type.

Table View
out_tracks_layer
(Opcional)

Una capa de salida que contiene el primer evento de trazado y todas las entidades subsiguientes para esa entidad especificada.

Feature Class
max_trace_depth

Los grados máximos de separación entre una entidad de interés y una entidad más abajo en el trazado (aguas abajo).

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

Los campos utilizados para restringir el evento de proximidad.

Field

Muestra de código

TraceProximityEvents (script independiente)

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

# Name: TraceProximityEvents.py
# Description: Trace proximity events for user1 and user4 with 30 feet 
#              spatial search distance and 10 minute temporal search distance.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = r"C:/data/TraceData.gdb"

# Use time-enabled multifile feature connection dataset
inFeatures = r"C:/data/Example.mfc/example_tracks"

entityIDField = "user_id"
outFile = "ProximityEvents" 
spatialDistance = "30 Feet"
temporalDistance = "10 Minutes"
entitiesOfInterest = [['user1', '3/30/2020 9:00:00 AM'], ['user4', '3/30/2020 9:00:00 AM']]
outTracks = "out_tracks"
max_trace_depth = 3

# Run Trace Proximity Events
arcpy.gapro.TraceProximityEvents(inFeatures, entityIDField, outFile, "PLANAR",
                                 spatialDistance, temporalDistance, 
                                 "ID_START_TIME", entitiesOfInterest, None, 
                                 outTracks, max_trace_depth)