Classifier les événements de mouvement (Renseignement)

Résumé

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.

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
    • Commencer
    • Stop
    • Vitesse en miles par heure
    • Vitesse en kilomètres par heure
    • Différence spatiale entre le point actuel et le point précédent de la piste
    • Différence temporelle entre le point actuel et le point précédent de la piste
    • Nom de la région d’intérêt où se trouve le point actuel, si la classe d’entités Regions Of Interest (Régions d’intérêt) est indiquée

  • Les tournants sont calculés à l’aide des paramètres Curvature (Courbure) et Number Of Points (Nombre de points). Chaque point est évalué en tant que groupe de triangles calculés en utilisant le point actuel et les points situés devant et derrière celui-ci, selon la valeur du paramètre Number Of Points (Nombre de points). La courbe de Menger est ensuite calculée, ce qui permet de détecter les tournants.

  • Les valeurs par défaut des paramètres Curvature (Courbure) et Number Of Points (Nombre de points) sont optimisées pour les pistes automobiles standard, en prenant en compte un taux d’échantillonnage approximatif d’une seconde. Les véhicules qui se déplacent plus vite que les automobiles ou les données échantillonnées selon un intervalle différent d’une fois par seconde peuvent nécessiter une modification des paramètres Curvature (Courbure) ou Number Of Points (Nombre de points). Par exemple, une personne qui utilise un GPS personnel qui effectue un échantillonnage une fois toutes les cinq secondes peut réduire la valeur de Number Of Points (Nombre de points). Pour les données représentant des avions, échantillonnées une fois par seconde, la valeur du paramètre Curvature (Courbure) peut être réduite à 1,5 (ou moins) pour tenir compte du fait qu’un avion a besoin de plus de temps et d’espace pour tourner.

  • 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.

  • 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’accélération : point auquel la piste commence à accélérer.
      • Début du freinage : point auquel la piste commence à ralentir.
      • 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 intervenir après le début de l’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 intervenir après la fin du freinage.
      • Fin de l’accélération : point où se termine un événement d’accélération. Cet événement est généralement suivi d’un événement de déplacement ou de freinage.
      • Fin du freinage : point où se termine un événement de freinage. 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.
    • 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 et déplacement.

    Si le paramètre facultatif Regions Of Interest (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.

Syntaxe

arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field})
ParamètreExplicationType 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.

Pour déterminer si un événement est considéré comme un événement de tournant, une courbe de Menger basée sur trois points est calculée. La distance entre ces points est spécifiée dans le paramètre Number Of Points (Nombre de points). La valeur par défaut du paramètre Curvature (Courbure), 2, convient pour les automobiles et les piétons. Pour les véhicules plus rapides, tels que les avions, vous devrez peut-être utiliser une valeur inférieure ou augmenter la valeur du paramètre Number Of Points (Nombre de points).

Double
number_of_points
(Facultatif)

Nombre de points à évaluer avant et après un point donné lors du calcul de la courbe de Menger. 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. La valeur par défaut, 5, convient pour les automobiles et les piétons, à condition que le taux d’échantillonnage des données en entrée soit d’une seconde.

Long
regions_of_interest
(Facultatif)

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

Feature Layer
roi_id_field
(Facultatif)

Champ du paramètre Regions Of Interest (Régions d’intérêt) 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 Python autonome 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