Résumé
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
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 cherche à déterminer les employés qui se trouvent près d’un individu ayant contracté la maladie du coronavirus 2019 (COVID-19). En utilisant la couche de points qui représente la localisation des appareils et les données temporelles associées, il est possible de déterminer les appareils qui se sont trouvés à moins de six mètres pendant plus de cinq minutes de la personne contagieuse et d’autres employés potentiellement infectés.
- Une ONG surveille les populations de saumons à l’aide de GPS et désire suivre la propagation des poux de saumon entre les saumons d’élevage qui se sont échappés et les populations de saumons sauvages. Grâce aux balises GPS de certains saumons d’élevage, il est possible de les suivre et d’observer s’ils entrent en contact proche avec des populations sauvages également porteuses de balises et de déterminer la manière dont les populations sauvages disséminent par la suite la maladie. Les mesures incluent également un champ de profondeur auquel l’ONG recourt uniquement pour rechercher des poissons à une profondeur analogue.
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 à côté l’une de l’autre. Exemple : deux personnes à moins de 3 mètres l’une de l’autre pendant 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.
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 compte quatre entités : A, B, C et D. Le texte en surbrillance décrit les événements de traçage qui se sont produits entre deux entités (les entités d’origine et de destination) 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.
Dans le diagramme 2, un événement de proximité se produit entre les entités C et B. La profondeur du tracé est de 1. Lorsque plusieurs entités sont des événements de proximité qui se suivent, elles décrivent un événement de proximité soutenu.
Dans le diagramme 3, un événement de proximité se produit entre les entités B et A. La profondeur du tracé est de 2.
Dans le diagramme 4, un événement de proximité se produit entre les entités C et D. La profondeur du tracé est de 1.
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 par une interruption (absence de contact) et les événements de proximité 2 et 3. 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).
Les entités doivent remplir les deux critères de recherche Spatial Search Distance (Distance de recherche spatiale) et Temporal Search Distance (Distance de recherche temporelle) pour être considérés comme proches l’une de l’autre.
Figure A : les deux entités se trouvent à une distance de recherche spatiale l’une de l’autre. Figure B : les deux entités se trouvent à une distance dans le temps (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 Spatial Search Distance (Distance de recherche spatiale) et Temporal Search Distance (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. Ainsi, pour contraindre des entités au 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 : identifiant de l’entité en amont.
- to_id : identifiant de l’entité en aval.
- depth : degré de séparation entre l’entité d’intérêt et le champ to_id.
- duration_minutes : durée de l’événement de traçage 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).
- instant_datetime : 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é.
Il est possible de visualiser la couche Output Proximity Events (Événements de proximité en sortie) à l’aide du curseur temporel ou d’afficher les résultats du traçage dans un diagramme de liens.
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 emplacements parcourus par les entités et peuvent être exploités par l’outil Reconstruire les pistes. Le paramètre Output Tracks (Traces en sortie) inclura les champs suivants :
- entity_id : identifiant de l’entité.
- depth : degré de séparation entre l’entité d’intérêt et le tracé. La profondeur est identique pour un tracé donné.
- date : 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), gardez à l’esprit les observations suivantes :
- 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 cherchez à calculer tous les événements de proximité et ne voulez pas tracer 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 Maximum Trace Depth (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.
Lors de l’exécution des outils GeoAnalytics Server, l’analyse est réalisée sur GeoAnalytics Server. Pour des performances optimales, GeoAnalytics Server doit pouvoir accéder aux données via les couches d’entités hébergées sur votre portail ArcGIS Enterprise ou les partages de fichiers Big Data. Les données qui ne sont pas locales pour GeoAnalytics Server sont transférées sur GeoAnalytics Server avant le début de l’analyse. Autrement dit, l’exécution d’un outil prend plus de temps et, dans certains cas, le transfert des données entre ArcGIS Pro et GeoAnalytics Server peut échouer. Le seuil d’échec dépend aussi bien des débits du réseau que de la taille et de la complexité des données. Il est par conséquent recommandé de toujours partager les données ou créer un partage de fichiers Big Data.
Pour en savoir plus sur le partage des données dans votre portail.
Pour en savoir pus sur la création d'un partage de fichiers Big Data via ArcGIS Server Manager
Syntaxe
arcpy.geoanalytics.TraceProximityEvents(in_points, entity_id_field, output_name, distance_method, {spatial_search_distance}, {temporal_search_distance}, entities_of_interest_input_type, entities_interest_ids, entities_interest_layer, {include_tracks_layer}, max_trace_depth, {attribute_match_criteria}, {data_store})
Paramètre | Explication | Type de données |
in_points | Classe d’entités ponctuelles temporelles utilisées pour tracer les événements de proximité. | Feature Set |
entity_id_field | Champ représentant les identifiants uniques de chaque entité. | Field |
output_name | Nom du service d'entités en sortie. | String |
distance_method | Spécifie le type de distance utilisé avec le paramètre Spatial Search Distance (Distance de recherche spatiale).
| 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 | Permet de spécifier les entités qui vous intéressent.
| 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.
| 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. | Record Set |
include_tracks_layer (Facultatif) | Spécifie si une couche en sortie contenant le premier événement de traçage et l’ensemble des entités suivantes de l’instance spécifiée est générée.
| Boolean |
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 |
data_store (Facultatif) | Indique le ArcGIS Data Store dans laquelle la sortie est enregistrée. La valeur par défaut est SPATIOTEMPORAL_DATA_STORE. Tous les résultats stockés dans un répertoire de données Big Data spatio-temporelles seront stockés en WGS84. Les résultats stockés dans un répertoire de données relationnelles conservent leur système de coordonnées.
| String |
Sortie dérivée
Nom | Explication | Type de données |
output | Couche contenant les événements de proximité tracés. | Jeu d’entités |
tracks_layer | Couche facultative contenant le premier événement de traçage dans les traces et toutes les entités suivantes. | Jeu d’entités |
Exemple de code
Le script autonome suivant illustre l'utilisation de l'outil 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
inFeatures = "https://analysis.mydomain.com/server/rest/services/sample_tracks/FeatureServer/0"
entityIDField = "user_id"
outFS = "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
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Trace Proximity Events
arcpy.geoanalytics.TraceProximityEvents(inFeatures, entityIDField, outFS,
"PLANAR", spatialDistance,
temporalDistance, "ID_START_TIME",
entitiesOfInterest, None, "TRACKS",
None, None, max_trace_depth, dataStore)
Environnements
- Système de coordonnées en sortie
Système de coordonnées qui sera utilisé pour l'analyse. L’analyse sera réalisée dans le système de coordonnées en entrée, à moins que ce paramètre en spécifie un autre. Pour les Outils GeoAnalytics, les résultats finaux seront stockés dans le stockage des données spatio-temporelles dans WGS84.
Informations de licence
- Basic: Requiert ArcGIS GeoAnalytics Server
- Standard: Requiert ArcGIS GeoAnalytics Server
- Advanced: Requiert ArcGIS GeoAnalytics Server
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?