Beschriftung | Erläuterung | Datentyp |
Eingabe-Features | Ein Punkt-Feature-Layer mit aktivierten Zeiteigenschaften und einem Feld, mit dem der Track gekennzeichnet wird, mit dem die einzelnen Punkte verknüpft sind. Geometrie, Objektkennung, Track-Name und Zeit werden auf die Ausgabe-Feature-Class übertragen. Die Eingabe muss sich in einem projizierten Koordinatensystem befinden. | Feature Layer |
ID-Feld | Ein Feld der Eingabe-Features, das zum Abrufen der eindeutigen Kennung pro Punkt-Track verwendet wird. Das Feld wird in die Ausgabe-Feature-Class kopiert. | Field |
Ausgabe-Feature-Class | Die Ausgabe-Feature-Class, in die die berechneten Bewegungsereignisse aufgenommen werden. | Feature Class |
Krümmung (optional) | Der Minimalwert, der erforderlich ist, damit ein Ereignis als Richtungswechselereignis klassifiziert wird. Nachdem die Krümmung berechnet wurde, führt jede berechnete Krümmung über diesem Wert dazu, dass das Feld turn_event mit dem relevanten Richtungswechselereignis gefüllt wird. Durch niedrigere Werte wird das Feld turn_event dagegen als "Bewegung" klassifiziert. Richtungswechsel werden mit den Parametern Krümmung und Anzahl an Punkten berechnet. Jeder Punkt wird auf Basis der Peilung vom vorherigen Punkt im Track zum aktuellen Punkt und vom aktuellen Punkt zum nächsten Punkt im Track evaluiert. Wenn der Wert den im Parameter Krümmung angegebenen Wert überschreitet, wird er als Richtungswechsel eingestuft. Andernfalls wird er als Bewegung betrachtet. Bei Tracks, die große Objekte darstellen, empfiehlt es sich, dass Sie den Wert für Anzahl der Punkte erhöhen, um zu berücksichtigen, dass für die Durchführung eines Richtungswechsels mehr Zeit benötigt wird. | Double |
Anzahl an Punkten (optional) | Die Anzahl an Punkten, die vor oder nach einem bestimmten Punkt ausgewertet werden, wenn die Peilungsdifferenz berechnet wird. Wenn Sie Daten mit einer hohen Aufzeichnungs-Frequenz (Sekundenbruchteile) verwenden, müssen Sie möglicherweise den Wert des Parameters Anzahl an Punkten erhöhen, um der verringerten Bewegung Rechnung zu tragen, die in einem kürzeren Zeitraum möglich ist. Der Wert 1 ist für Autos und Fußgänger geeignet, wenn Eingabedaten einmal pro Sekunde aufgezeichnet werden. Für Flugzeuge und Schiffe sind größere Werte erforderlich. Verwenden Sie in diesen Fällen den Wert 5. | Long |
Interessenregionen (optional) | Die Interessenregionen. Dieser Eingabe-Feature-Layer muss eine Polygon-Feature-Class sein. Wird ein Wert bereitgestellt, wird ein roi-Feld zum Parameter Ausgabe-Feature-Class hinzugefügt. | Feature Layer |
ID-Feld der Interessenregion (optional) | Ein Feld des Parameters Relevante Regionen, der die eindeutigen Kennungen für jede Interessenregion enthält. | Field |
Richtungswechselereignis-IDs erstellen (optional) | Gibt an, ob Richtungswechselereignis-IDs für die Ausgabe-Feature-Class erstellt werden sollen.
| Boolean |
Ereignisse ohne Richtungswechsel ausschließen (optional) | Gibt an, ob Features, bei denen das Feld turn_event den Wert "Bewegung" hat, ausgeschlossen werden sollen.
| Boolean |
Richtungswechselereignis-Feature-Repräsentation (optional) | Gibt an, wie die Ausgabe-Richtungswechselereignisse dargestellt werden sollen.
| String |
Zusammenfassung
Identifiziert Richtungswechsel- und Beschleunigungsereignisse sowie die Geschwindigkeit in einem Eingabepunkt-Track-Dataset.
Abbildung
Verwendung
Damit das Werkzeug ausgeführt werden kann, muss der Wert des Parameters Eingabe-Features in einem projizierten Koordinatensystem vorliegen, und Zeiteigenschaften müssen aktiviert sein.
Das Werkzeug identifiziert die folgenden Ereignisse:
- Richtungswechsel nach rechts oder links
- Rechte oder linke Wende
- Beschleunigung
- Verlangsamung
- Start
- Stop
- Geschwindigkeit in Meilen pro Stunde
- Geschwindigkeit in Kilometer pro Stunde
- Von Peilung
- Bis Peilung
Außerdem wird die Entfernungsdifferenz und Zeitdifferenz zwischen dem aktuellen Punkt und dem vorherigen Punkt im Track berechnet.
Optional wird ein Punkt der Interessensregion verortet.
Richtungswechsel werden auf Basis der Bewegungsrichtung beschriftet. Richtungswechsel können wie folgt kategorisiert werden:
- Rechts
- Links
- Wende rechts
- Wende links
- Beendet
- Bewegung
Richtungswechsel werden mit den Parametern Krümmung und Anzahl an Punkten berechnet. Jeder Punkt wird auf Basis der Peilung vom vorherigen Punkt im Track zum aktuellen Punkt und vom aktuellen Punkt zum nächsten Punkt im Track evaluiert. Wenn der Wert den im Parameter Krümmung angegebenen Wert überschreitet, wird er als Richtungswechsel eingestuft. Andernfalls wird er als Bewegung betrachtet. Bei Tracks, die große Objekte darstellen, wie Flugzeuge oder Schiffe, empfiehlt es sich, dass Sie den Wert des Parameters Anzahl der Punkte erhöhen, um zu berücksichtigen, dass für die Durchführung eines Richtungswechsels mehr Zeit benötigt wird.
Die Standardwerte für die Parameter Krümmung und Anzahl an Punkten sind für typische Auto-Tracks optimiert. Dabei wird eine Aufzeichnungs-Frequenz von etwa einer Sekunde angenommen. Bei Fahrzeugen, die schneller als Autos sind, oder bei Daten, die in einem anderen Intervall als einmal pro Sekunde erhoben werden, kann eine Änderung des Parameterwerts Krümmung oder Anzahl an Punkten erforderlich sein. Beispielsweise kann für ein persönliches GPS-Gerät, das einmal alle fünf Sekunden aufzeichnet, der Wert Anzahl an Punkten erhöht werden. Passen Sie bei Daten, die ein Flugzeug darstellen, das einmal jede Sekunde aufgezeichnet wird, den Wert des Parameters Krümmung auf 10 oder einen niedrigeren Wert an, um zu berücksichtigen, dass das Flugzeug mehr Zeit und Platz für einen Richtungswechsel benötigt.
Die Geschwindigkeit wird aus der Entfernung zwischen Punkten geteilt durch die Zeit, die für das Zurücklegen dieser Entfernung benötigt wird, berechnet. Stopps bedeuten, dass ein Fahrzeug eine Geschwindigkeit von null hat. Starts werden festgelegt, wenn Punkte von einer Stoppposition beschleunigen.
Das acc_event-Feld wird anhand der Differenz zwischen dem aktuellen Punkt und dem vorherigen Punkt im Track und zwischen dem aktuellen Punkt und dem nächsten Punkt im Track berechnet. Zu den Beschleunigungsereignissen gehören die folgenden:
Ereignis "Start der Beschleunigung": Der Punkt, an dem die Beschleunigung auf dem Track beginnt. Der aktuelle Punkt folgt auf einen Punkt mit gleicher Geschwindigkeit und wird von einem Punkt mit höherer Geschwindigkeit gefolgt.
Ereignis "Start der Verlangsamung": Der Punkt, an dem die Verlangsamung auf dem Track beginnt. Der aktuelle Punkt folgt auf einen Punkt mit gleicher Geschwindigkeit und wird von einem Punkt mit geringerer Geschwindigkeit gefolgt.
Beschleunigung: Der Punkt-Track weist zwischen dem vorherigen und dem aktuellen Punkt eine zunehmende Geschwindigkeit auf. Dies muss nach dem Start der Beschleunigung und vor dem Ende eines Beschleunigungsereignisses erfolgen.
Verlangsamung: Der Punkt-Track weist zwischen dem vorherigen und dem aktuellen Punkt eine abnehmende Geschwindigkeit auf. Dies muss nach dem Start eines Verlangsamungsereignisses und vor dem Ende eines Verlangsamungsereignisses erfolgen.
Ereignis "Ende der Beschleunigung": Der Punkt, an dem ein Beschleunigungsereignis endet. Der aktuelle Punkt weist eine höhere Geschwindigkeit als der vorherige Punkt auf, aber der folgende Punkt weist dieselbe oder eine geringere Geschwindigkeit auf. Darauf folgt üblicherweise ein Bewegungs- oder ein Verlangsamungsereignis.
Ereignis "Ende der Verlangsamung": Der Punkt, an dem ein Verlangsamungsereignis endet. Der aktuelle Punkt weist eine geringere Geschwindigkeit als der vorherige Punkt auf, aber der folgende Punkt weist dieselbe oder eine höhere Geschwindigkeit auf. Darauf folgt üblicherweise ein Gestoppt- oder ein Beschleunigungsereignis.
Gestoppt: Der Punkt-Track bewegt sich nicht. Die Geschwindigkeit muss 0 mph oder 0 km/h betragen.
Bewegung: Der Punkt-Track bewegt sich mit einer Geschwindigkeit, die nicht zu einer der vorherigen Kategorien gehört.
Die Ausgabe-Feature-Class enthält die folgenden Felder:
- track_id: Die eindeutige Kennung, mit der der Punkt mit einem Track verknüpft wird. Dieses Feld wird vom Parameter ID-Feld abgeleitet.
- time: Die Zeit, die mit dem Punkt-Track-Feature verknüpft ist. Dieses Feld wird vom Zeitfeld abgeleitet, das in den Layer-Eigenschaften angegeben wurde.
- source_OID: Die Objekt-ID des Features, das aus dem Parameter Eingabe-Features abgeleitet wurde.
- POINT_X: Die X-Koordinate, die mit dem aktuellen Feature verknüpft ist.
- POINT_Y: Die Y-Koordinate, die mit dem aktuellen Feature verknüpft ist.
- distance_diff: Die Entfernung zwischen dem vorherigen Feature im Track und dem aktuellen Feature. Die Entfernung wird in den Einheiten des Koordinatensystems der Eingabe berechnet.
- time_diff: Die Differenz in Sekunden zwischen dem vorherigen Feature im Track und dem aktuellen Feature.
- speed: Die Geschwindigkeit in den linearen Einheiten des Eingabe-Koordinatensystem pro Sekunde.
- speed_mph: Die Geschwindigkeit in Meilen pro Stunde des Tracks vom vorherigen Feature im Track zum aktuellen Feature.
- speed_kph: Die Geschwindigkeit in Kilometer pro Stunde des Tracks vom vorherigen Feature im Track zum aktuellen Feature.
- acc_event: Beschleunigungsereignisse. Zu den Beschleunigungsereignissen gehören die folgenden:
- Ereignis "Start der Beschleunigung"
- Ereignis "Start der Verlangsamung"
- Beschleunigung
- Verlangsamung
- Ereignis "Ende der Beschleunigung"
- Ereignis "Ende der Verlangsamung"
- Beendet
- Bewegung
- turn_event: Ein Richtungswechselereignis. Zu den Richtungswechselereignissen gehören die folgenden:
- Links
- Rechts
- Wende links
- Wende rechts
- Beendet
- Bewegung
- from_bearing: Die Peilung vom vorherigen Punkt zum aktuellen Punkt im Track.
- to_bearing: Die Peilung vom aktuellen Punkt zum nächsten Punkt im Track
Wenn der Wert des Parameters Interessenregionen eine verknüpfte Feature-Class aufweist, wird ein roi_id-Feld ausgefüllt. Dieses Feld enthält die Interessenregion, die der Punkt schneidet.
Wenn der Parameter Richtungswechselereignis-IDs erstellen aktiviert wurde, dann enthält die Ausgabeattributtabelle das Feld turn_event_id mit der eindeutigen Kennung, die für ein Richtungswechselereignis erstellt wurde. Wenn mit einem Richtungswechselereignis mehrere Features verknüpft sind, verwendet jedes Feature denselben Wert von turn_event_id.
Die Felder from_bearing und to_bearing werden einbezogen und dienen in erster Linie dazu, die Richtungsabhängigkeit der Bewegung zu erkennen und die Anwendung der Symbolisierung für eine korrekte Ausrichtung mit der Bewegungsrichtung zu unterstützen. Der wesentliche Unterschied zwischen diesen Feldern besteht darin, dass das from_bearing-Feld einen Rückwärtswinkel vom aktuellen Punkt zum vorherigen Punkt des Tracks darstellt.
Wenn der Parameter Ereignisse ohne Richtungswechsel ausschließen aktiviert ist, entfernt das Werkzeug alle Features im turn_event-Feld mit dem Wert "Bewegung". Dadurch kann die Größe der Ausgabe-Feature-Class verringert und die Performance verbessert werden. Empfohlen wird dies, wenn Sie für die forensische Analyse ermitteln möchten, wo und wie oft eine Kreuzung überquert wurde oder wo auf einem bestimmten Track ein Richtungswechsel stattgefunden hat.
Wenn der Parameter Richtungswechselereignis-Feature-Repräsentation auf Mittelpunkt der Kurve festgelegt ist, werden alle Richtungswechselereignis-Features mit dem gleichen Wert des Feldes turn_event_id am Mittelpunkt des Features aggregiert. Bei diesem reduktiven Prozess werden alle verknüpften Features entfernt, sodass nur noch ein Feature am berechneten Mittelpunkt des Richtungswechselereignisses vorhanden ist. Wegen seiner destruktiven Wirkung sollte dieser Parameter am besten nur dann verwendet werden, wenn gleichzeitig der Parameter Ereignisse ohne Richtungswechsel ausschließen aktiviert ist.
Parameter
arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field}, {include_turn_ids}, {exclude_non_turn_events}, {turn_events_representation})
Name | Erläuterung | Datentyp |
in_features | Ein Punkt-Feature-Layer mit aktivierten Zeiteigenschaften und einem Feld, mit dem der Track gekennzeichnet wird, mit dem die einzelnen Punkte verknüpft sind. Geometrie, Objektkennung, Track-Name und Zeit werden auf die Ausgabe-Feature-Class übertragen. Die Eingabe muss sich in einem projizierten Koordinatensystem befinden. | Feature Layer |
id_field | Ein Feld der Eingabe-Features, das zum Abrufen der eindeutigen Kennung pro Punkt-Track verwendet wird. Das Feld wird in die Ausgabe-Feature-Class kopiert. | Field |
out_featureclass | Die Ausgabe-Feature-Class, in die die berechneten Bewegungsereignisse aufgenommen werden. | Feature Class |
curvature (optional) | Der Minimalwert, der erforderlich ist, damit ein Ereignis als Richtungswechselereignis klassifiziert wird. Nachdem die Krümmung berechnet wurde, führt jede berechnete Krümmung über diesem Wert dazu, dass das Feld turn_event mit dem relevanten Richtungswechselereignis gefüllt wird. Durch niedrigere Werte wird das Feld turn_event dagegen als "Bewegung" klassifiziert. Richtungswechsel werden mit den Parametern curvature und number_of_points berechnet. Jeder Punkt wird auf Basis der Peilung vom vorherigen Punkt im Track zum aktuellen Punkt und vom aktuellen Punkt zum nächsten Punkt im Track evaluiert. Wenn der Wert den im Parameter curvature angegebenen Wert überschreitet, wird er als Richtungswechsel eingestuft. Andernfalls wird er als Bewegung betrachtet. Bei Tracks, die große Objekte darstellen, empfiehlt es sich, dass Sie den Wert für number_of_points erhöhen, um zu berücksichtigen, dass für die Durchführung eines Richtungswechsels mehr Zeit benötigt wird. | Double |
number_of_points (optional) | Die Anzahl an Punkten, die vor oder nach einem bestimmten Punkt ausgewertet werden, wenn die Peilungsdifferenz berechnet wird. Wenn Sie Daten mit einer hohen Aufzeichnungs-Frequenz (Sekundenbruchteile) verwenden, müssen Sie möglicherweise den Wert des Parameters number_of_points erhöhen, um der verringerten Bewegung Rechnung zu tragen, die in einem kürzeren Zeitraum möglich ist. Der Wert 1 ist für Autos und Fußgänger geeignet, wenn Eingabedaten einmal pro Sekunde aufgezeichnet werden. Für Flugzeuge und Schiffe sind größere Werte erforderlich. Verwenden Sie in diesen Fällen den Wert 5. | Long |
regions_of_interest (optional) | Die Interessenregionen. Dieser Eingabe-Feature-Layer muss eine Polygon-Feature-Class sein. Wird ein Wert bereitgestellt, wird ein roi-Feld zum Parameter out_featureclass hinzugefügt. | Feature Layer |
roi_id_field (optional) | Ein Feld des Parameters regions_of_interest, der die eindeutigen Kennungen für jede Interessenregion enthält. | Field |
include_turn_ids (optional) | Gibt an, ob Richtungswechselereignis-IDs für die Ausgabe-Feature-Class erstellt werden sollen.
| Boolean |
exclude_non_turn_events (optional) | Gibt an, ob Features, bei denen das Feld turn_event den Wert "Bewegung" hat, gefiltert werden sollen.
| Boolean |
turn_events_representation (optional) | Gibt an, wie die Ausgabe-Richtungswechselereignisse dargestellt werden sollen. | String |
Codebeispiel
Das folgende eigenständige Python-Skript veranschaulicht, wie die Funktion ClassifyMovementEvents verwendet wird.
# 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"
# Run tool
arcpy.intelligence.ClassifyMovementEvents(source_features,
output_point_features,
id_field,
regions_of_interest,
roi_name)