Rechercher des covoyageurs (AllSource)

Synthèse

Extrait les identifiants uniques qui se déplacent dans l’espace et dans le temps à des intervalles spécifiés dans un jeu de données de traces ponctuelles.

Utilisation

  • L’outil identifie les identifiants uniques issus des entités en entrée qui se déplacent dans un intervalle de distance et de temps spécifié. Les entités en entrée doivent être temporelles.

    Plus d’informations sur la définition des propriétés temporelles des données

  • Lorsque vous sélectionnez un champ à utiliser comme identifiant unique, choisissez un champ contenant des nombres entiers ou du texte. Cela permettra un regroupement plus efficace des entités et renverra une sortie optimale. Idéalement, le jeu de données contiendra un ID de trace existant. Un bon exemple d’identifiant de trace est le MMSI (Maritime Mobile Service Identity). Le champ Name issu de fichiers .gpx, l’indicatif d’appel d’avion et d’autres valeurs uniques peuvent être regroupés dans des traces. Les identifiants uniques ne doivent pas obligatoirement être uniques pour chaque ligne. S’ils le sont, il est impossible de former des traces et soit aucun covoyageur n’est identifié, soit, dans des cas plus rares, un grand nombre de faux positifs est généré.

  • Des intervalles de distance et de temps plus courts sont plus rapides à traiter. Par exemple, une différence de temps de 10 minutes et une séparation spatiale de 100 mètres seront traitées plus rapidement qu’une différence de temps d’une heure et une séparation spatiale d’un kilomètre.

  • Pour optimiser les paramètres Distance de recherche et Différence de temps afin qu’ils renvoient la bonne quantité d’entités covoyageuses, tenez compte des points suivants :

    • Des valeurs Distance de recherche et Différence de temps plus grandes permettront d’identifier davantage de covoyageurs potentiels. Cela est idéal si l’espacement moyen entre les objets en déplacement doit être plus grand, par exemple pour les bateaux ou les gros camions.
    • Des valeurs Distance de recherche et Différence de temps plus grandes sont également idéales pour les données dont le taux d’échantillonnage se mesure en minutes. En effet, les objets sont susceptibles de se déplacer davantage pendant ces intervalles plus longs.
    • Des valeurs Distance de recherche et Différence de temps plus petites identifient moins de covoyageurs potentiels. Cela est idéal si l’espacement entre les objets en déplacement est plus petit, par exemple pour des piétons, des vélos ou des voitures.
    • Des valeurs Distance de recherche et Différence de temps plus petites sont idéales pour les données dont le taux d’échantillonnage est d’une seconde ou moins. Avec des taux d’échantillonnage plus faibles, l’objet est moins susceptible de se déplacer, ce qui offre une plus grande tolérance de détection des covoyageurs.

    Petites et grandes valeurs de paramètre
    Les valeurs de paramètre pour les piétons doivent être plus petites, tandis qu’elles doivent être plus grandes pour les grands objets.

  • Le paramètre Filtre de durée de covoyage minimale permet d’indiquer la durée minimale pendant laquelle deux entités doivent se déplacer ensemble avant d’être considérées comme des entités covoyageuses. Par exemple, si une durée minimale de covoyage de 15 minutes est spécifiée, au moins 15 minutes doivent s’écouler entre la première instance d’un événement de covoyage détectée et la dernière instance d’un événement de covoyage pour que l’outil renvoie la trace comme un covoyageur valide. Si les entités telles que les ports, les parkings ou les événements de covoyage avec très peu de traces renvoient beaucoup de faux positifs, nous vous recommandons d’appliquer une valeur Filtre de durée de covoyage minimale avant d’exécuter de nouveau l’outil. La valeur Filtre de durée de covoyage minimale permettra de supprimer la plupart des plus petits segments de traces.

    Lorsque les valeurs Distance de recherche et Différence de temps sont définies sur des valeurs plus grandes, l’outil risque d’identifier en tant que covoyageurs potentiels des entités qui ne font que passer ou intersecter les entités étudiées. Pour éviter cela, définissez le paramètre Filtre de durée de covoyage minimale sur une valeur plus grande que le taux d’échantillonnage des données.

    Objets de passage ou en intersection
    Les objets qui passent ou intersectent les entités ne sont pas des covoyageurs.

  • Les entités en sortie représentent les emplacements des entités covoyageuses. Deux champs seront ajoutés aux entités en sortie pour indiquer la séparation temporelle et spatiale entre le voyageur et le covoyageur potentiel, en plus des autres champs descriptifs.

    Les entités en sortie incluent les champs suivants :

    • traveler_id—L’identifiant unique de l’entité voyageuse. Il s’agit de l’identifiant avec lequel l’entité covoyageuse se déplaçait. Il peut être considéré comme l’entité source.
    • cotraveler_id—L’identifiant unique de l’entité covoyageuse. Il s’agit de l’identifiant qui voyageait avec l’entité voyageuse. Il peut être considéré comme l’entité cible.
    • X—La coordonnée x de l’entité voyageuse. La coordonnée sera exprimée dans les unités de projection du paramètre Entités en entrée.
    • Y—La coordonnée y de l’entité voyageuse. La coordonnée sera exprimée dans les unités de projection du paramètre Entités en entrée.
    • X_cotraveler—La coordonnée x de l’entité covoyageuse. La coordonnée sera exprimée dans les unités de projection du paramètre Entités en entrée.
    • Y_cotraveler—La coordonnée y de l’entité covoyageuse. La coordonnée sera exprimée dans les unités de projection du paramètre Entités en entrée.
    • traveler_time—La date et l’heure de l’entité voyageuse.
    • cotraveler_time—La date et l’heure de l’entité covoyageuse.
    • distance_difference—La distance séparant l’entité identifiée dans le paramètre Entités en entrée et le covoyageur évalué. La distance sera exprimée dans les unités linéaires du paramètre Entités en entrée.
    • time_difference—La séparation temporelle entre l’entité identifiée dans le paramètre Entités en entrée et le covoyageur évalué. La différence de temps est exprimée en secondes. Elle peut être positive ou négative. Les nombres positifs indiquent que les entités sont identifiées après le voyageur. Les nombres négatifs indiquent que les entités sont identifiées avant le voyageur.
    • cotraveling_pair_id—Un identifiant unique généré pour chaque paire unique d’entités covoyageuses.

    L’identifiant cotraveling_pair_id est généré pour fournir une option permettant de filtrer et d'identifier toutes les combinaisons de covoyageurs possibles. Deux entités covoyageuses (A, B) partageront le même identifiant à la fois pour (A, B) et (B, A).

    Identifiant Cotraveling_pair_id pour une paire de traces covoyageuses
    Lorsqu’une paire de traces est identifiée comme covoyageuse, toutes les instances de cette paire auront le même identifiant cotraveling_pair_id.

    Une table de synthèse facultative est créée. La table de synthèse comprendra les champs suivants :

    • unique_pair_id—Un identifiant unique généré pour chaque paire unique d’entités covoyageuses. Deux entités covoyageuses (A, B) partageront le même identifiant à la fois pour (A, B) et (B, A).
    • traveler_id—L’identifiant unique de l’entité voyageuse. Il s’agit de l’identifiant avec lequel l’entité covoyageuse se déplaçait. Il peut être considéré comme l’entité source.
    • cotraveler_id—L’identifiant unique de l’entité covoyageuse. Il s’agit de l’identifiant qui voyageait avec l’entité voyageuse. Il peut être considéré comme l’entité cible.
    • time_diff_max—La séparation temporelle maximum entre le voyageur et le covoyageur.
    • time_diff_min—La séparation temporelle minimum entre le voyageur et le covoyageur.
    • time_diff_mean—La séparation temporelle moyenne entre le voyageur et le covoyageur.
    • time_diff_std—L’écart type de séparation temporelle entre le voyageur et le covoyageur.
    • dist_diff_max—La distance de séparation maximum entre le voyageur et le covoyageur.
    • dist_diff_min—La distance de séparation minimum entre le voyageur et le covoyageur.
    • dist_diff_mean—La distance de séparation moyenne entre le voyageur et le covoyageur.
    • dist_diff_std—L’écart type de la distance de séparation entre le voyageur et le covoyageur.
    • unique_pair_id_count—Le nombre total d’entités identifiées comme covoyageuses pour le champ unique_pair_id.

  • La sortie de l’outil Rechercher des covoyageurs peut être visualisée dans un diagramme de liaison.

    En savoir plus sur les diagrammes de liaison

    Les diagrammes de liaison permettent d’analyser les jeux de données complexes jusqu’au niveau de leurs composants, afin de mieux visualiser et explorer les relations dans les données. Ils sont générés en créant des types d’entités et des types de relations. Les types d’entités représentent les objets distincts, tels que les personnes, les lieux, les organisations et les identifiants uniques. Les champs traveler_id et cotraveler_id sont des exemples de types de données qui peuvent devenir des types d’entités. Les types de relations constituent l’autre partie des diagrammes de liaison. Les types de relations relient les types d’entités individuels les uns aux autres dans le diagramme de liaison. La visualisation des sorties de l’outil Rechercher des covoyageurs permet de mieux comprendre quelles entités sont liées entre elles et de savoir s’il existe des grappes qui permettent une exploration approfondie.

    Une fois un diagramme de liaison créé, des types d’entités et de relations peuvent être créés pour la sortie de l’outil Rechercher des covoyageurs. Nous vous recommandons de cocher le paramètre Créer une table de synthèse. Les résultats de l’outil Rechercher des covoyageurs peuvent être volumineux et avoir un impact sur les performances du diagramme de liaison. Que vous utilisiez le paramètre facultatif Créer une table de synthèse ou la valeur Classe d’entités en sortie, nous vous recommandons d’ajouter un type d’entité depuis les champs traveler_id et cotraveler_id en créant une entité à plusieurs champs.

    Pour créer un type de relation à l’aide de la valeur Table de synthèse en sortie ou Classe d’entités en sortie, utilisez le type de clé Entités. Définissez la valeur Champ de clé d’entité source sur traveler_id et la valeur Champ de clé d’entité cible sur cotraveler_id.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités avec le temps activé représentant l’identifiant connu qui sera utilisé pour rechercher des covoyageurs. Les identifiants uniques, les horodatages et les emplacements seront transférés vers la couche en sortie pour aider au calcul de la séparation temporelle et spatiale.

Feature Layer
Classe d’entités en sortie

Classe d’entités en sortie qui contient les segments de tracés de points identifiés comme covoyageurs des couches source en entrée. Cette classe d’entités inclut la source à laquelle le segment de tracé de point est associé. La séparation temporelle et spatiale est calculée pour chaque entité de tracé de point.

Feature Class
Champ d’ID

Champ du paramètre Entités en entrée utilisé pour obtenir les identifiants uniques par tracé de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
Distance de recherche
(Facultatif)

Distance maximale qui peut séparer les entités avant qu’elles ne soient plus considérées comme covoyageuses. La valeur par défaut est 100 pieds (30,5 mètres).

Linear Unit
Time Difference (Différence de temps)
(Facultatif)

Différence de temps maximale qui peut séparer les entités avant qu’elles ne soient plus considérées comme covoyageuses. La valeur par défaut est 10 secondes.

Time Unit
Type d’entrée
(Facultatif)

Spécifie si les covoyageurs sont identifiés dans une classe d’entités ou entre deux.

  • Une classe d’entitésLes covoyageurs seront détectés dans une classe d'entités. Il s’agit de l’option par défaut.
  • Deux classes d’entitésLes covoyageurs seront détectés à travers deux classes d'entités.
String
Entités secondaires
(Facultatif)

Seconde classe d’entités qui identifie les covoyageurs. Les covoyageurs potentiels seront évalués à l’aide des éléments suivants :

  • Les covoyageurs voyagent ensemble dans les entités en entrée.
  • Les covoyageurs voyagent ensemble dans les entités secondaires.
  • Les covoyageurs voyagent ensemble entre les entités en entrée et les entités secondaires.

Feature Layer
Champ ID secondaire
(Facultatif)

Champ du paramètre Entités secondaires utilisé pour obtenir les identifiants uniques par tracé de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
Créer une table de synthèse
(Facultatif)

Spécifie si une table de synthèse en sortie sera créée.

  • Sélectionné : une table de synthèse est créée.
  • Non sélectionné : aucune table de synthèse n’est créée. Il s’agit de l’option par défaut.

Boolean
Table de synthèse en sortie
(Facultatif)

Table en sortie dans laquelle sont stockées les informations de synthèse. Ce paramètre est actif uniquement si vous sélectionnez le paramètre Créer une table de synthèse. Les fichiers en sortie doivent être des tables d’une géodatabase fichier, des fichiers texte ou des fichiers de valeurs séparées par des virgules (.csv).

Table
Inclure un filtre de durée de covoyage minimale
(Facultatif)

Spécifie si un filtre sera appliqué pour renvoyer uniquement les covoyageurs ayant voyagé ensemble pendant une durée minimum.

  • Sélectionné : le filtre de durée de covoyage minimale sera appliqué.
  • Non sélectionné : le filtre de durée de covoyage minimale ne sera pas appliqué. Il s’agit de l’option par défaut.

Boolean
Durée de covoyage minimale
(Facultatif)

Durée minimale pendant laquelle deux entités doivent se déplacer ensemble dans l’espace et le temps pour être considérées comme covoyageuses.

Time Unit

arcpy.intelligence.FindCotravelers(input_features, out_featureclass, id_field, {search_distance}, {time_difference}, {input_type}, {secondary_features}, {secondary_id_field}, {create_summary_table}, {out_summary_table}, {include_min_cotraveling_duration}, {min_cotraveling_duration})
NomExplicationType de données
input_features

Entités avec le temps activé représentant l’identifiant connu qui sera utilisé pour rechercher des covoyageurs. Les identifiants uniques, les horodatages et les emplacements seront transférés vers la couche en sortie pour aider au calcul de la séparation temporelle et spatiale.

Feature Layer
out_featureclass

Classe d’entités en sortie qui contient les segments de tracés de points identifiés comme covoyageurs des couches source en entrée. Cette classe d’entités inclut la source à laquelle le segment de tracé de point est associé. La séparation temporelle et spatiale est calculée pour chaque entité de tracé de point.

Feature Class
id_field

Champ du paramètre input_features utilisé pour obtenir les identifiants uniques par trace de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
search_distance
(Facultatif)

Distance maximale qui peut séparer les entités avant qu’elles ne soient plus considérées comme covoyageuses. La valeur par défaut est 100 pieds (30,5 mètres).

Linear Unit
time_difference
(Facultatif)

Différence de temps maximale qui peut séparer les entités avant qu’elles ne soient plus considérées comme covoyageuses. La valeur par défaut est 10 secondes.

Time Unit
input_type
(Facultatif)

Spécifie si les covoyageurs sont identifiés dans une classe d’entités ou entre deux.

  • ONE_FEATURECLASSLes covoyageurs seront détectés dans une classe d'entités. Il s’agit de l’option par défaut.
  • TWO_FEATURECLASSESLes covoyageurs seront détectés à travers deux classes d'entités.
String
secondary_features
(Facultatif)

Seconde classe d’entités qui identifie les covoyageurs. Les covoyageurs potentiels seront évalués à l’aide des éléments suivants :

  • Les covoyageurs voyagent ensemble dans les entités en entrée.
  • Les covoyageurs voyagent ensemble dans les entités secondaires.
  • Les covoyageurs voyagent ensemble entre les entités en entrée et les entités secondaires.

Feature Layer
secondary_id_field
(Facultatif)

Champ du paramètre secondary_features utilisé pour obtenir les identifiants uniques par trace de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
create_summary_table
(Facultatif)

Spécifie si une table de synthèse en sortie sera créée.

  • NO_SUMMARY_TABLEAucune table de synthèse n’est créée. Il s’agit de l’option par défaut.
  • CREATE_SUMMARY_TABLEUne table de synthèse est créée.
Boolean
out_summary_table
(Facultatif)

Table en sortie dans laquelle sont stockées les informations de synthèse. Ce paramètre est actif uniquement si la valeur du paramètre create_summary_table est définie sur CREATE_SUMMARY_TABLE. Les fichiers en sortie doivent être des tables d’une géodatabase fichier, des fichiers texte ou des fichiers de valeurs séparées par des virgules (.csv).

Table
include_min_cotraveling_duration
(Facultatif)

Spécifie si un filtre sera appliqué pour renvoyer uniquement les covoyageurs ayant voyagé ensemble pendant une durée minimum.

  • Sélectionné : le filtre de durée de covoyage minimale sera appliqué.
  • Non sélectionné : le filtre de durée de covoyage minimale ne sera pas appliqué. Il s’agit de l’option par défaut.

Spécifie si un filtre de durée de covoyage minimale sera appliqué.

  • MIN_COTRAVELING_DURATIONLe filtre de durée de covoyage minimale sera appliqué.
  • NO_MIN_COTRAVELING_DURATIONLe filtre de durée de covoyage minimale n’est pas appliqué. Il s’agit de l’option par défaut.
Boolean
min_cotraveling_duration
(Facultatif)

Durée minimale pendant laquelle deux entités doivent se déplacer ensemble dans l’espace et le temps pour être considérées comme covoyageuses.

Time Unit

Exemple de code

Exemple d’utilisation de l’outil FindCotravelers (script autonome)

Le script Python ci-dessous illustre l'utilisation de la fonction FindCotravelers dans un script autonome sans la table de synthèse en sortie et une classe d'entités en entrée.


# Name: FindCotravelers.py
# Description: Identify cotravelers in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
output_point_features = "Cotravelers"
id_field = "device_id"

# Run tool
arcpy.intelligence.FindCotravelers(source_features,
                                   output_point_features,
                                   id_field)
Exemple d’utilisation de l’outil FindCotravelers (script autonome)

Le script Python ci-dessous illustre l'utilisation de la fonction FindCotravelers dans un script autonome avec la table de synthèse en sortie et deux classes d'entités en entrée.


# Name: FindCotravelers.py
# Description: Identify cotravelers in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
unknown_features = "Unknown_Tracks"
output_point_features = "Cotravelers"
id_field_name = "device_id"
unknown_id_field = "MMSI"
search_distance = "75 Feet"
time_difference = "5 Seconds"
summary_table = "CREATE_SUMMARY_TABLE"
summary_table_name = "Tracks_Summary_Table"
filter_duration = "MIN_COTRAVELING_DURATION"
cotraveling_duration = "30 Minutes"


# Run tool
arcpy.intelligence.FindCotravelers(source_features,
                                   output_point_features,
                                   id_field_name,
                                   search_distance,
                                   time_difference,
                                   "TWO_FEATURECLASSES",
                                   unknown_features,
                                   unknown_id_field,
                                   summary_table,
                                   summary_table_name,
                                   filter_duration,
                                   cotraveling_duration)