Tracer les événements de proximité (GeoAnalytics Desktop)

Synthèse

Trace les événements qui sont proches les uns des autres dans l’espace (localisation) ou dans le temps. Les données ponctuelles à dimension temporelle doivent inclure des entités qui représentent un instant T dans le temps.

Illustration

Illustration de l’outil Tracer les événements de proximité
Un exemple d’événements de tracé (cercles oranges) et de traces (cercles rouges) est affiché.

Utilisation

  • Les exemples suivants sont des cas d’utilisation pouvant être générés grâce à l’outil Tracer les événements à proximité :

    • Une organisation surveille les appareils fournis par l’entreprise, transportés par les employés. L’entreprise souhaite identifier les employés qui ont été en contact avec un individu connu pour avoir contracté la maladie du coronavirus 2019 (COVID-19). À partir de la couche de points représentant les localisations d’appareils et les données temporelles associées, l’entreprise peut identifier les appareils qui se sont trouvés à moins de 6 mètres et pendant au moins 5 minutes de la personne contagieuse et d’autres employés potentiellement infectés.
    • Une ONG surveille les populations de saumons avec le système GPS et souhaite suivre la propagation du pou du saumon entre les saumons d’élevage qui se sont échappés et les populations sauvages. Grâce aux balises GPS de certains saumons d’élevage, il est possible de les suivre et de déterminer s’ils entrent en contact rapproché avec des populations sauvages également porteuses de balises et de déterminer dans quelle mesure les populations sauvages disséminent la maladie. Les mesures incluent également un champ de profondeur dont se sert l’ONG pour rechercher des poissons à une profondeur équivalente.

  • La terminologie suivante est utilisée pour l’outil Tracer les événements de proximité :

    • Entité : objet dont la position est enregistrée régulièrement comme un animal, une personne ou un véhicule. Une entité peut être immobile ou en déplacement.
    • Entités d’intérêt : entités spécifiques utilisées pour commencer le traçage. Exemple, une personne infectée par la COVID-19.
    • Événement de proximité : période durant laquelle deux entités sont proches l’une de l’autre. Exemple : deux personnes à moins de 3 mètres l’une de l’autre pendant au moins 1 minute.
    • Profondeur : degré de séparation entre une entité d’intérêt et une entité plus éloignée (en aval) sur le tracé. Par exemple, un événement de proximité compris entre l’entité d’intérêt et toute autre personne a une profondeur de 1.
    • Événement de traçage : premier contact pour une entité spécifiée en aval à partir des entités d’intérêt.
  • Lors du traçage des événements de proximité, il vous incombe de comprendre les directives de l’organisation, qu’elles soient locales ou nationales, en matière de protection des données et de respect de la vie privée.

  • Les diagrammes ci-dessous montrent le traitement des données par l’outil Tracer les événements de proximité. Dans ces diagrammes, le temps est sur l’axe x.

    Chaque diagramme comporte quatre entités : A, B, C et D. Le texte en surbrillance décrit les événements de tracé qui se produisent entre deux entités (les entités de départ et d’arrivée) et la profondeur de l’événement de proximité. Dans cet exemple, l’entité C est l’entité d’intérêt qui est tracée en aval.

    Dans le diagramme 1, l’entité C est l’entité d’intérêt retenue. La profondeur est de 0.

    Diagramme 1 - Outil Tracer les événements de proximité

    Dans le diagramme 2, un événement de proximité survient entre les entités C et B. La profondeur du tracé est de 1. Lorsque plusieurs entités sont des événements de proximité ultérieurs, il s’agit d’un événement de proximité durable.

    Diagramme 2 de l’outil Tracer les événements de proximité

    Dans le diagramme 3, un événement de proximité survient entre les entités B et A. La profondeur du tracé est de 2.

    Diagramme 3 de l’outil Tracer les événements de proximité

    Dans le diagramme 4, un événement de proximité survient entre les entités C et D. La profondeur du tracé est de 1.

    Diagramme 4 de l’outil Tracer les événements de proximité

    Dans l’image ci-dessous, l’entité B est l’entité d’intérêt et se trouve à proximité de l’entité A à trois reprises, comme indiqué par les cercles bleus. En supposant que le temps figure sur l’axe x, le premier événement de proximité est égal à 1 ; il est suivi d’une interruption (absence de contact). Les événements de proximité 2 et 3 se produisent ensuite. L’outil renvoie l’événement 1 comme événement de traçage. Les événements de proximité 2 et 3 ne sont pas renvoyés dans la couche de paramètres Output Proximity Events (Événements de proximité en sortie). Toutes les entités figurant après l’événement de proximité 1 sont renvoyés dans le paramètre Output Tracks (Traces en sortie).

    Premier événement de traçage

  • Les entités doivent respecter les deux critères de recherche Distance de recherche spatiale et Distance de recherche temporelle pour être considérés comme proches l’une de l’autre.

    Diagramme Distance de recherche spatiale
    Figure A : les deux entités se trouvent à une distance de recherche spatiale l’une de l’autre.
    Diagramme Distance de recherche temporelle
    Figure B : les deux entités se trouvent à une distance temporelle (distance de recherche temporelle) l’une de l’autre.
  • Spécifier une distance de recherche temporelle et une distance de recherche spatiale supérieures génère davantage d’événements et allonge le traitement des résultats. À l’inverse, des distances plus faibles engendrent moins d’événements et une durée de traitement plus courte.

  • Utilisez les connaissances spécifiques du domaine pour déterminer les valeurs utilisées pour les paramètres Distance de recherche spatiale et Distance de recherche temporelle. Tenez compte des facteurs tels que la précision de l’appareil lorsque vous définissez les distances.

  • Le paramètre Define Entities of Interest Using (Définir les entités d’intérêt avec) prend en charge les options suivantes :

    • Entities of Interest IDs (ID des entités d’intérêt) : cette option active le paramètre Entities of Interest IDs (ID des entités d’intérêt) qui nécessite les valeurs Entity ID (ID d’entité) et, facultativement, des valeurs temporelles Starting From (À partir de) pour lancer le traçage.
    • Selected features in a specified entity of interest layer (Entités sélectionnées dans une couche d’entités d’intérêt spécifiée) : cette option active le paramètre Entities of Interest Layer (Couche d’entités d’intérêt) qui permet de choisir une couche comportant les identifiants des entités et, si vous le souhaitez, la date et l’heure à laquelle le traçage débute. Pour cette couche, le nom du champ d’identifiant de l’entité doit correspondre au nom du champ d’identifiant de l’entité de la couche en entrée. Les données temporelles seront utilisées sur cette couche si la dimension temporelle est activée pour cette couche.
  • L’entité d’intérêt correspond au point de départ du traçage de proximité. Si vous spécifiez des conditions temporelles de départ, le traçage commence à la date/l’heure correspondantes pour l’entité considérée. Si vous ne spécifiez pas de critères temporels, le traçage commence le 1er janvier 1970 pour cette entité.

  • Vous pouvez définir d’autres critères pour un événement de proximité. Par exemple, vous pouvez suivre exclusivement les personnes d’un immeuble particulier d’un complexe ou encore suivre seulement celles habitant un étage en particulier d’un bâtiment. Utilisez le paramètre Attribute Match Criteria (Critères de correspondance des attributs) pour spécifier les attributs de contrainte. Par exemple, pour restreindre les entités à un même étage, spécifiez le champ Floor.

  • La couche Output Proximity Events (Événements de proximité en sortie) inclura le premier événement de proximité des entités dans le tracé, ainsi que les champs suivants :

    • from_id : ID de l’entité en amont.
    • to_id : ID de l’entité en aval.
    • depth : degré de séparation entre l’entité d’intérêt et le champ to_id.
    • duration_minutes : la durée de l’événement de tracé en minutes. Ce champ est calculé comme la différence entre la date/l’heure de départ et la date/l’heure de fin. Par exemple, 1,5 minute vaut 90 secondes. Une valeur égale à 0 signifie qu’il n’existe qu’un seul événement de proximité (les dates et heures de départ et de fin sont identiques).
    • date : date et heure de l’événement de proximité. Ce champ est calculé comme le premier moment enregistré satisfaisant les critères de l’événement de proximité.

    La couche Output Proximity Events (Événements de proximité en sortie) peut être visualisée avec le curseur temporel ou dans un diagramme de liens pour visualiser les résultats du traçage.

  • Vous pouvez utiliser le paramètre facultatif Output Tracks (Traces en sortie) pour créer une couche contenant le premier événement du traçage et toutes les instances suivantes de cette entité. Ces résultats sont utiles pour visualiser les endroits où les entités se sont déplacées et peuvent servir dans l’outil Reconstruire les traces. Le paramètre Output Tracks (Traces en sortie) inclura les champs suivants :

    • entity_id : ID de l’entité.
    • depth : degré de séparation entre l’entité d’intérêt et la trace du traçage. La profondeur est identique pour un tracé donné.
    • instant_datetime : date de chaque entité. Il s’agit de la même date que celle de l’enregistrement des entités en entrée.
  • Les points en entrée dépourvus de valeurs temporelles, de valeurs géométriques ou d’un champ d’identifiant d’entité ne sont pas inclus dans les résultats.

  • Lorsque vous utilisez le traçage de proximité pour révéler une transmission (d’une infection, par exemple), tenez compte des points suivants :

    • La présence d’un événement de traçage ne garantit pas qu’il ait été transmis ; il s’agit seulement d’un contact possible.
    • À contrario, l’absence d’événement de traçage ne signifie pas qu’un élément n’a pas été transmis. Dans le cas d’une infection, la transmission peut avoir lieu par d’autres vecteurs.
    • Dans la mesure du possible, utilisez le paramètre Attribute Match Criteria (Critères de correspondance des attributs) pour contraindre les événements de proximité lorsque cela est nécessaire. Par exemple, utilisez les attributs pour définir les contraintes en matière de pièce, d’étage ou d’élévation.

  • Si vous voulez calculer tous les événements de proximité sans toutefois effectuer le traçage en aval d’une entité d’intérêt, utilisez l’outil Joindre les entités.

  • Vous pouvez améliorer les performances de l’outil Tracer les événements de proximité en effectuant une ou plusieurs des opérations suivantes :

    • Utilisez des valeurs plus petites pour les paramètres Spatial Search Distance (Distance de recherche spatiale) et Temporal Search Distance (Distance de recherche temporelle).
    • Limitez les entités d’intérêt à l’aide du paramètre Attribute Match Criteria (Critères de correspondance des attributs).
    • Spécifiez une valeur pour le paramètre Profondeur de tracé maximale afin de limiter le nombre de tracés en aval pour une entité donnée et l’entité d’intérêt.
    • Définissez l’environnement de l’étendue de manière à analyser uniquement des données d’intérêt.
    • Utilisez les données locales de l’environnement de l’analyse.

  • Cet outil de géotraitement est mis en œuvre par Spark. L’analyse est effectuée sur votre ordinateur de bureau en utilisant plusieurs cœurs en parallèle. Pour en savoir plus sur l’exécution de l’analyse, reportez-vous à la rubrique Remarques relatives aux outils GeoAnalytics Desktop.

  • Lorsque vous exécutez des outils GeoAnalytics Desktop, l’analyse est effectuée sur votre ordinateur de bureau. Pour des performances optimales, les données doivent être accessibles sur votre bureau. Si vous utilisez une couche d’entités hébergée, il est recommandé d'utiliser ArcGIS GeoAnalytics Server. Si vos données ne sont pas enregistrées en local, l’exécution des outils prendra plus de temps. Pour utiliser votre ArcGIS GeoAnalytics Server en vue d'une analyse, reportez-vous à la rubrique GeoAnalytics Tools.

Paramètres

ÉtiquetteExplicationType de données
Points en entrée

Classe d’entités ponctuelles temporelles utilisées pour tracer les événements de proximité.

Feature Layer
Champ ID d’entité

Champ de texte représentant les ID uniques de chaque entité.

Field
Événements de proximité en sortie

Classe d’entités en sortie contenant les événements de proximité tracés.

Feature Class
Méthode de distance

Spécifie le type de distance utilisé avec le paramètre Spatial Search Distance (Distance de recherche spatiale).

  • PlanaireUne distance planaire est utilisée entre les entités. Il s’agit de l’option par défaut.
  • GéodésiqueLa distance géodésique sera utilisée entre les entités. Ce type de ligne tient compte de la courbure de la sphéroïde et gère correctement les données situées près de la ligne de changement de jour et des pôles.
String
Distance de recherche spatiale
(Facultatif)

Distance maximale entre deux points pour qu’ils soient considérés comme étant à proximité. Les entités qui respectent les critères de distance de recherche spatiale et de distance de recherche temporelle sont considérées comme à proximité l’une de l’autre.

Linear Unit
Distance de recherche temporelle
(Facultatif)

Durée maximale entre deux points pour qu’ils soient considérés comme étant à proximité. Les entités qui se trouvent à la distance de recherche temporelle et respectent les critères de distance de recherche spatiale sont considérées comme à proximité l’une de l’autre.

Time Unit
Définir les entités d’intérêt avec
(Facultatif)

Permet de spécifier les entités qui vous intéressent.

  • ID des entités d’intérêtLes noms des entités et leurs données temporelles seront utilisées comme entités d’intérêt. Il s’agit de l’option par défaut.
  • Entités sélectionnées dans une couche d’entités d’intérêt spécifiéeLes entités sélectionnées dans une couche d’entités d’intérêt spécifiée seront utilisées comme entités d’intérêt.
String
ID des entités d’intérêt

Noms des entités et date/heure de début des entités d’intérêt. Ce paramètre est pris en charge seulement si Entities of Interest IDs (ID des entités d’intérêt) est spécifié pour le paramètre Define Entities of Interest Using (Définir les entités d’intérêt avec).

  • Entity ID (ID d’entité) : nom d’entité unique. Les noms respectent la casse et doivent être des expressions.
  • Starting From (À partir de) : date initiale facultative pour tracer une entité d’intérêt. Si aucune valeur temporelle n’est spécifiée, la date du 1er janvier 1970 sera appliquée.

Value Table
Couche d’entités d’intérêt

Couche ou table qui contient les entités d’intérêt. Ce paramètre est pris en charge seulement si Selected features in a specified entity of interest layer (Entités sélectionnées dans une couche d’entités d’intérêt spécifiée) est spécifié pour le paramètre Define Entities of Interest Using (Définir les entités d’intérêt avec).

Table View
Traces en sortie
(Facultatif)

Couche en sortie contenant le premier événement de traçage et l’ensemble des entités suivantes pour l’instance spécifiée.

Feature Class
Profondeur de tracé maximale

Degré de séparation maximal entre une entité d’intérêt et une entité plus éloignée (en aval) sur le tracé.

Long
Critères d’appariement des attributs
(Facultatif)

Champs utilisés pour contraindre l’événement de proximité.

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})
NomExplicationType de données
in_points

Classe d’entités ponctuelles temporelles utilisées pour tracer les événements de proximité.

Feature Layer
entity_id_field

Champ de texte représentant les ID uniques de chaque entité.

Field
out_feature_class

Classe d’entités en sortie contenant les événements de proximité tracés.

Feature Class
distance_method

Spécifie le type de distance utilisé avec le paramètre Spatial Search Distance (Distance de recherche spatiale).

  • PLANARUne distance planaire est utilisée entre les entités. Il s’agit de l’option par défaut.
  • GEODESICLa distance géodésique sera utilisée entre les entités. Ce type de ligne tient compte de la courbure de la sphéroïde et gère correctement les données situées près de la ligne de changement de jour et des pôles.
String
spatial_search_distance
(Facultatif)

Distance maximale entre deux points pour qu’ils soient considérés comme étant à proximité. Les entités qui respectent les critères de distance de recherche spatiale et de distance de recherche temporelle sont considérées comme à proximité l’une de l’autre.

Linear Unit
temporal_search_distance
(Facultatif)

Durée maximale entre deux points pour qu’ils soient considérés comme étant à proximité. Les entités qui se trouvent à la distance de recherche temporelle et respectent les critères de distance de recherche spatiale sont considérées comme à proximité l’une de l’autre.

Time Unit
entities_of_interest_input_type
(Facultatif)

Permet de spécifier les entités qui vous intéressent.

  • ID_START_TIMELes noms des entités et leurs données temporelles seront utilisées comme entités d’intérêt. Il s’agit de l’option par défaut.
  • SELECTED_FEATURELes entités sélectionnées dans une couche d’entités d’intérêt spécifiée seront utilisées comme entités d’intérêt.
String
entities_interest_ids
[entities_interest_ids,...]

Noms des entités et date/heure de début des entités d’intérêt. Ce paramètre est pris en charge uniquement lorsque ID_START_TIME est spécifié pour le paramètre entities_of_interest_input_type.

  • ID d’entité : nom d’entité unique. Les noms sont sensibles à la casse.
  • À partir de : date initiale facultative pour tracer une entité d’intérêt. Si aucune valeur temporelle n’est spécifiée, la date du 1er janvier 1970 sera appliquée.

Value Table
entities_interest_layer

Couche ou table qui contient les entités d’intérêt. Ce paramètre est pris en charge uniquement lorsque SELECTED_FEATURE est spécifié pour le paramètre entities_of_interest_input_type.

Table View
out_tracks_layer
(Facultatif)

Couche en sortie contenant le premier événement de traçage et l’ensemble des entités suivantes pour l’instance spécifiée.

Feature Class
max_trace_depth

Degré de séparation maximal entre une entité d’intérêt et une entité plus éloignée (en aval) sur le tracé.

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

Champs utilisés pour contraindre l’événement de proximité.

Field

Exemple de code

TraceProximityEvents (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction 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)