Classifier les événements de mouvement (Renseignement)

Synthèse

Identifie les événements de tournant, les événements d’accélération et la vitesse dans un jeu de données de piste de points en entrée.

Illustration

Illustration de l’outil Classifier les événements de mouvement

Utilisation

  • Pour que l’outil s’exécute, la valeur du paramètre Input Features (Entités en entrée) doit être dans un système de coordonnées projetées et elle doit être temporelle.

    L’outil identifie les événements suivants :

    • Tournant à droite ou à gauche
    • Demi-tour à droite ou à gauche
    • Acceleration (Accélération)
    • Décélération
    • Départ
    • Arrêter
    • Vitesse en miles par heure
    • Vitesse en kilomètres par heure
    • Relèvement de départ
    • Relèvement d’arrivée

    De plus, la différence de distance et la différence de temps entre le point actuel et le point précédent de la trace seront calculées.

    Un point de région d’intérêt peut éventuellement être localisé.

  • Les tournants sont annotés en fonction de la direction de déplacement. Les tournants peuvent être classés selon les catégories suivantes :

    • Tournant à droite
    • Tournant à gauche
    • Demi-tour à droite
    • Demi-tour à gauche
    • Arrêtée
    • Déplacement

    Les tournants sont calculés à l’aide des paramètres Curvature (Courbure) et Number Of Points (Nombre de points). Chaque point est évalué en fonction du relèvement du point précédent de trace au point actuel et du point actuel au point suivant de la trace. Si la valeur dépasse la valeur indiquée dans le paramètre Courbure, le résultat est considéré comme un tournant. Dans le cas contraire, il est considéré comme un déplacement. Pour les traces représentant de grands objets (par exemple des avions ou des bateaux), nous vous recommandons d’augmenter la valeur du paramètre Nombre de points pour tenir compte du délai supplémentaire nécessaire pour tourner.

    Calcul des relèvements

    Les relèvements sont calculés du point précédent au point actuel et du point actuel au point suivant, et la différence sert à déterminer les événements correspondant à des tournants.

  • Les valeurs par défaut des paramètres Courbure et Nombre de points sont optimisées pour les pistes automobiles standard, en prenant en compte un taux d’échantillonnage approximatif d’une seconde. Pour les véhicules qui se déplacent plus vite que les automobiles ou pour les données échantillonnées selon un intervalle autre qu'une fois par seconde, vous devrez peut-être modifier la valeur du paramètre Courbure ou Nombre de points. Par exemple, pour un GPS personnel qui effectue un échantillonnage une fois toutes les cinq secondes, augmentez la valeur Nombre de points. Pour les données représentant des avions, échantillonnées une fois par seconde, réduisez la valeur du paramètre Courbure à 10 (ou moins) pour tenir compte du fait qu’un avion a besoin de plus de temps et d’espace pour tourner.

    Différence de rayon de braquage entre les petits objets et les plus grands objets

    Les petits objets tels que les personnes et les voitures parcourent moins de distance pour tourner que les objets plus grands tels que les avions ou les bateaux.

  • La vitesse est calculée en divisant la distance entre les points par la durée nécessaire pour parcourir cette distance. Les arrêts sont identifiés lorsque la vitesse d’un véhicule est égale à zéro. Les démarrages sont déterminés lorsque les points accélèrent à partir d’une position d’arrêt.

    Le champ acc_event est calculé à partir de la différence entre le point actuel de la trace et le point précédent de la trace, et entre le point actuel de la trace et le point suivant de la trace. Les événements d’accélération spécifiques sont les suivants :

    • Début de l’événement d'accélération : point auquel la piste commence à accélérer. Le point actuel est précédé d’un point de même vitesse et suivi d’un point avec une vitesse plus élevée.
    • Début de l’événement de freinage : point auquel la piste commence à ralentir. Le point actuel est précédé d’un point de même vitesse et suivi d’un point avec une vitesse inférieure.
    • Accélération : la vitesse de la piste de points augmente entre le point précédent et le point actuel. Cet événement doit survenir après le début de l’accélération et avant la fin d’un événement d’accélération.
    • Freinage : la vitesse de la piste de points baisse entre le point précédent et le point actuel. Cet événement doit survenir après le début et avant la fin d’un événement de freinage.
    • Fin de l’événement d'accélération : point où se termine un événement d’accélération. Le point a une vitesse plus élevée que le point précédent, mais le point suivant a la même vitesse ou une vitesse inférieure. Cet événement est généralement suivi d’un événement de déplacement ou de freinage.
    • Fin de l’événement de freinage : point où se termine un événement de freinage. Le point actuel a une vitesse inférieure au point précédent, mais le point suivant a la même vitesse ou une vitesse plus élevée. Cet événement est généralement suivi d’un événement d’arrêt ou d’accélération.
    • Arrêt : la piste de points ne bouge pas. La vitesse doit être égale à 0 mile/h ou 0 km/h.
    • Déplacement : la piste de points se déplace à une vitesse qui n’entre dans aucune des catégories ci-dessus.

    Calcul des événements d’accélération et de freinage

    Les événements d’accélération et de freinage sont calculés à l’aide de la vitesse moyenne entre les points.

  • La classe d’entités en sortie contient les champs suivants :

    • track_id- Identifiant unique qui associe le point à une piste. Ce champ est dérivé du paramètre ID Field (Champ ID).
    • time- Temps associé à l’entité de piste de points. Ce champ est dérivé du champ de temps spécifié dans les propriétés de la couche.
    • POINT_X- Coordonnée x associée à l’entité actuelle.
    • POINT_Y- Coordonnée y associée à l’entité actuelle.
    • distance_diff- Distance entre l’entité précédente de la piste et l’entité actuelle. La distance est calculée dans les unités du système de coordonnées en entrée.
    • time_diff- Différence en secondes entre l’entité précédente de la piste et l’entité actuelle.
    • speed- Vitesse en unités linéaires du système de coordonnées en entrée par seconde.
    • speed_MPH- Vitesse en miles/heure de la piste, depuis la dernière entité de la piste jusqu’à l’entité actuelle.
    • speed_KMPH- Vitesse en kilomètres/heure de la piste, depuis la dernière entité de la piste jusqu’à l’entité actuelle.
    • acc_event- Événements d'accélération. Les événements d’accélération spécifiques sont les suivants :
      • Début de l’événement d’accélération
      • Début de l’événement de freinage
      • Acceleration (Accélération)
      • Freinage
      • Fin de l’événement d'accélération
      • Fin de l’événement de freinage
      • Arrêtée
      • Déplacement
    • turn_event- Événement de tournant. Les événements de tournant spécifiques sont les suivants :
      • Tournant à gauche
      • Tournant à droite
      • Demi-tour à gauche
      • Demi-tour à droite
      • Arrêtée
      • Déplacement
    • from_bearing- Relèvement du point précédent de la piste au point actuel.
    • to_bearing- Relèvement du point actuel de la piste au point suivant.

    Si la valeur de paramètre facultative Régions d’intérêt est associé à une classe d’entités, un champ roi_id est renseigné. Ce champ contient le nom de la région d’intérêt intersectée par le point.

  • Les champs from_bearing et to_bearing sont inclus et ont pour objectif principal de vous aider à comprendre la directionalité du déplacement et de vous aider à vous orienter correctement en fonction de la direction du déplacement. La principale différence avec ces champs est que le champ from_bearing représente un angle de retour du point actuel au point précédent de la trace.

Paramètres

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

Couche d’entités ponctuelles temporelles avec un champ annotant la piste à laquelle chaque point est associé. La géométrie, l’identifiant d’objet, le nom de piste et l’heure sont transférés vers la classe d’entités en sortie. L’entrée doit être dans un système de coordonnées projetées.

Feature Layer
Champ ID

Champ des entités en entrée utilisé pour obtenir les identifiants uniques par piste de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
Classe d’entités en sortie

Classe d’entités en sortie devant contenir les événements de mouvement calculés.

Feature Class
Courbure
(Facultatif)

Valeur minimale requise pour qu’un événement soit considéré comme un événement de tournant. Après le calcul de la courbure, toute courbure calculée supérieure à cette valeur entraîne l’insertion dans le champ turn_event de l’événement de tournant approprié, alors qu’avec des valeurs inférieures, le champ turn_event est considéré comme un événement de déplacement.

Les tournants sont calculés à l’aide des paramètres Curvature (Courbure) et Number Of Points (Nombre de points). Chaque point est évalué en fonction du relèvement du point précédent de trace au point actuel et du point actuel au point suivant de la trace. Si la valeur dépasse la valeur indiquée dans le paramètre Courbure, le résultat est considéré comme un tournant. Dans le cas contraire, il est considéré comme un déplacement. Pour les traces représentant des objets de grande taille, nous vous recommandons d’augmenter la valeur Nombre de points pour tenir compte du délai supplémentaire nécessaire pour tourner.

Double
Nombre de points
(Facultatif)

Nombre de points qui seront évalués avant et après un point donné lors du calcul de la différence de relèvement. Si vous utilisez des données avec un taux d’échantillonnage élevé (inférieur à la seconde), vous devrez peut-être augmenter la valeur du paramètre Number Of Points (Nombre de points) pour tenir compte du fait que seuls des mouvements réduits sont possibles au cours d’une période aussi brève. Une valeur de 1 convient pour les automobiles et les piétons, à condition que le taux d’échantillonnage des données en entrée soit d’une seconde. Des valeurs plus élevées sont requises pour les avions et les bateaux, et une valeur par défaut de 5 doit alors être utilisée.

Long
Régions d’intérêt
(Facultatif)

Régions d’intérêt. Cette couche d’entités en entrée doit être une classe d’entités surfaciques. Si une valeur est indiquée, un champ roi est ajouté au paramètre Classe d’entités en sortie.

Feature Layer
Champ ID de régions d’intérêt
(Facultatif)

Champ du paramètre Régions d’intérêt qui contient les identifiants uniques de chaque région d’intérêt.

Field

arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field})
NomExplicationType de données
in_features

Couche d’entités ponctuelles temporelles avec un champ annotant la piste à laquelle chaque point est associé. La géométrie, l’identifiant d’objet, le nom de piste et l’heure sont transférés vers la classe d’entités en sortie. L’entrée doit être dans un système de coordonnées projetées.

Feature Layer
id_field

Champ des entités en entrée utilisé pour obtenir les identifiants uniques par piste de points. Ce champ sera copié dans la classe d’entités en sortie.

Field
out_featureclass

Classe d’entités en sortie devant contenir les événements de mouvement calculés.

Feature Class
curvature
(Facultatif)

Valeur minimale requise pour qu’un événement soit considéré comme un événement de tournant. Après le calcul de la courbure, toute courbure calculée supérieure à cette valeur entraîne l’insertion dans le champ turn_event de l’événement de tournant approprié, alors qu’avec des valeurs inférieures, le champ turn_event est considéré comme un événement de déplacement.

Les tournants sont calculés à l’aide des paramètres curvature et number_of_points. Chaque point est évalué en fonction du relèvement du point précédent de trace au point actuel et du point actuel au point suivant de la trace. Si la valeur dépasse la valeur spécifiée dans le paramètre curvature, l’événement est considéré comme un tournant. Dans le cas contraire, il est considéré comme un déplacement. Pour les traces représentant de grands objets, nous vous recommandons d’augmenter la valeur number_of_points pour tenir compte du délai supplémentaire nécessaire pour tourner.

Double
number_of_points
(Facultatif)

Nombre de points qui seront évalués avant et après un point donné lors du calcul de la différence de relèvement. Si vous utilisez des données avec un taux d’échantillonnage élevé (inférieur à la seconde), vous devrez peut-être augmenter la valeur du paramètre number_of_points pour tenir compte du fait que seuls des mouvements réduits sont possibles au cours d’une période aussi brève. Une valeur de 1 convient pour les automobiles et les piétons, à condition que le taux d’échantillonnage des données en entrée soit d’une seconde. Des valeurs plus élevées sont requises pour les avions et les bateaux, et une valeur par défaut de 5 doit alors être utilisée.

Long
regions_of_interest
(Facultatif)

Régions d’intérêt. Cette couche d’entités en entrée doit être une classe d’entités surfaciques. Si une valeur est indiquée, un champ roi est ajouté au paramètre out_featureclass.

Feature Layer
roi_id_field
(Facultatif)

Champ du paramètre regions_of_interest qui contient les identifiants uniques de chaque région d’intérêt.

Field

Exemple de code

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

Le script autonome Python ci-dessous illustre l’utilisation de la fonction ClassifyMovementEvents.

# Name: ClassifyMovementEvents.py
# Description: Identify movement events 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_movement_events = "MovementEvents"
id_field = "device_id"
regions_of_interest = "Named_Areas_Of_Interest"
roi_name = "counties"

# Execute tool
arcpy.ClassifyMovementEvents_intelligence(source_features,
                                          output_point_features,
                                          id_field,
                                          regions_of_interest,
                                          roi_name)

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes