Tracks rekonstruieren (GeoAnalytics Desktop)

Zusammenfassung

Erstellt aus Eingabedaten mit aktivierten Zeiteigenschaften Linien- oder Polygon-Tracks.

Abbildung

Werkzeug "Tracks rekonstruieren"
Es werden Punkte mit aktivierten Zeiteigenschaften angezeigt, die in Tracks rekonstruiert wurden.

Verwendung

  • Tracks rekonstruieren wird für Punkt- oder Polygon-Features ausgeführt. Für den Eingabe-Layer müssen Zeiteigenschaften aktiviert sein, die einen Zeitpunkt darstellen.

  • Sie können ein oder mehrere Felder zum Identifizieren von Tracks angeben. Tracks werden durch die eindeutige Kombination aus mindestens einem Track-Feld dargestellt. Wenn beispielsweise die Felder flightID und Destination als Track-IDs verwendet werden, befinden sich die Features ID007, Solden und ID007, Tokyo in zwei getrennten Tracks, da sie verschiedene Werte für das Feld Destination aufweisen.

  • Features mit angewandtem Puffer ergeben polygonale Tracks. Eingabe-Punkt-Features ohne angewandtem Puffer ergeben Polylinien-Tracks.

  • Eingabe-Features bestehen aus Features mit aktivierten Zeiteigenschaften, die einen Zeitpunkt darstellen. Die Ergebnisse sind Linien- oder Flächen-Features, die ein Zeitintervall darstellen. Start und Ende des Intervalls werden durch die Zeit am ersten und letzten Feature in einem Track bestimmt.

    Eingabe-Features mit zwei eindeutigen Tracks (grün und rot) vom Zeittyp "Zeitpunkt" (links) und resultierende Tracks (rechts) oder Zeittyp "Intervall"
    Dargestellt sind die Eingabe-Features mit zwei eindeutigen Tracks (grün und rot) vom Zeittyp "Zeitpunkt" (links) und die resultierenden Tracks (rechts) oder der Zeittyp "Intervall".

  • Für lineare Ergebnisse werden nur Tracks zurückgegeben, die mehrere Punkte enthalten. Wenn Sie einen Puffer anwenden, werden alle Features zurückgegeben.

  • Sie können auch einen Puffer auf Ihrer Eingabe-Features anwenden. Wenn Sie einen Puffer anwenden, handelt es sich bei den resultierenden Tracks um Polygon-Features.

    In Tracks rekonstruierte Eingabepunkte, auf die ein Puffer angewendet wurde
    Eingabepunkte, auf die ein Puffer angewendet wurde, werden in Tracks rekonstruiert.

  • Beim Puffern von Eingabe-Features wird jedes Eingabe-Feature gepuffert. Anschließend wird eine konvexe Hülle generiert, um einen Polygon-Track zu erstellen.

    Eingabepunkte (grün), Zwischenpuffer für Visualisierung (blaue Schraffur) und resultierendem polygonalem Track (blau)
    Dargestellt wird ein Beispiel für Eingabepunkte (grün), einen Zwischenpuffer für Visualisierung (blaue Schraffur) und den resultierenden polygonalen Track (blau).

  • Felder, die im Pufferausdruck verwendet werden, müssen numerisch sein und werden zusammen mit den Einheiten des Raumbezugs der Eingabe angewendet. Weitere Informationen finden Sie unter Arcade-Ausdrücke in der Toolbox "GeoAnalytics Desktop". Sie können Tracking-bezogene Gleichungen verwenden.

  • Standardmäßig wird nur die Anzahl der Punkte oder Polygone eines Tracks berechnet. Eine zusätzliche Statistik kann durch Angabe des Parameterwertes für Summenfelder berechnet werden.

  • Tracks werden standardmäßig mit einer geodätischen Methode erstellt. Die Methode wird auf die folgenden beiden Komponenten der Analyse angewendet:

    • Tracks, die die internationale Datumslinie überqueren: Bei Verwendung der geodätischen Methode überqueren die Tracks der Eingabe-Layer, die die internationale Datumslinie überqueren, die Datumslinie korrekt. Dies ist die Standardeinstellung. Der Eingabe-Layer oder Raumbezug für die Bearbeitung muss auf einen Raumbezug festgelegt sein, der den Umbruch der internationalen Datumsgrenze unterstützt, z. B. eine globale Projektion wie "Weltweite flächentreue Zylinderprojektion".
    • Puffer: Eingabe-Features können optional gepuffert werden. Weitere Informationen dazu, wann ein geodätischer bzw. planarer Puffer angewendet werden soll, finden Sie unter Puffer erstellen.

  • Sie haben folgende Möglichkeiten, Tracks aufzuteilen:

    • Zeitaufteilung: Basierend auf einer Zeit zwischen Eingaben. Durch die Anwendung einer Zeitaufteilung wird ein Track abgeteilt, wenn der Abstand der Eingabedaten größer als die angegebene Zeit ist. Wenn Sie beispielsweise über fünf Features mit derselben Track-ID und den Uhrzeiten [01:00, 02:00, 03:30, 06:00, 06:30] verfügen und eine Zeitaufteilung von 2 Stunden festlegen, werden alle Features geteilt, deren Messung um mehr als 2 Stunden differiert. In diesem Beispiel ist das Ergebnis ein Track mit [01:00, 02:00, 03:30] und [06:00, 06:30], da die Differenz zwischen 03:30 und 6:00 mehr als 2 Stunden beträgt.
    • Aufteilung nach Zeitgrenze: Basierend auf definierten Zeitintervallen. Bei Anwendung einer Zeitgrenze werden Tracks in definierten Intervallen aufgeteilt und segmentiert. Wenn Sie die Zeitgrenze beispielsweise auf 1 Tag festlegen, beginnend am 1. Januar 1990 um 9:00 Uhr, werden alle Tracks jeden Tag um 9:00 Uhr abgeschnitten. Durch diese Teilung wird die Rechenzeit beschleunigt, da für die Analyse kleinere Tracks erstellt werden. Wenn die Unterteilung nach einer regelmäßig auftretenden Zeitgrenze sinnvoll für Ihre Analyse ist, empfiehlt sie sich für die Big-Data-Verarbeitung.
    • Entfernungsaufteilung: Basierend auf einer Entfernung zwischen Eingaben. Durch die Anwendung einer Entfernungsaufteilung wird ein Track abgeteilt, wenn der Abstand der Eingabedaten größer als die angegebene Entfernung ist. Wenn Sie zum Beispiel eine Entfernungsaufteilung von 5 Kilometern festlegen, werden nachfolgende Features, die mehr als 5 Kilometer entfernt sind, zu einem Teil eines anderen Tracks.
    • Teilungsausdruck: Basiert auf einem Arcade-Ausdruck. Durch Anwenden eines Teilungsausdrucks werden Tracks basierend auf Werten, Geometrie oder Zeitwerten geteilt. Beispielsweise können Sie Tracks teilen, wenn ein Feldwert mehr als doppelt so groß ist wie der vorherige Wert im Track. Bei Verwendung eines Beispielfeldes mit dem Namen WindSpeed können Sie hierzu den folgenden Ausdruck verwenden: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Tracks werden aufgeteilt, wenn der vorherige Wert (speed[0]) niedriger ist als das Zweifache des aktuellen Wertes.

  • Sie können bis zu vier Teilungsoptionen gleichzeitig anwenden. In allen nachfolgenden Beispielen wird eine Lückenaufteilung verwendet. Bei einer Zeitaufteilung von sechs Stunden, einer Zeitgrenze von einem Tag und einer Entfernungsaufteilung von 16 Kilometern lauten die jeweiligen Ergebnisse wie folgt:

    Fünf Beispiele für Eingabepunkte (grün) mit unterschiedlichen Zeit- und Entfernungsaufteilungen
    Dargestellt werden fünf Beispiele für Eingabepunkte (gelb) mit unterschiedlichen Zeit- und Entfernungsaufteilungen.

    Option beim Teilen eines FeaturesBeschreibung

    Sechs Eingabepunkte mit Zeit und Position

    Eingabepunkte mit der gleichen Kennung. Die Entfernung zwischen den Punkten ist über der gepunkteten Linie angegeben, und die Zeit jeder Punktmessung ist unter den Punkten angegeben. Auf der Zeitachse befinden sich vier Aufteilungen. Die rote Unterteilung stellt die Zeitgrenze von einem Tag dar, die um 00:00 Uhr beginnt. Die blaue Unterteilung stellt die Entfernungsaufteilung dar, wenn die Entfernung zwischen den zwei Punkten größer als 16 Kilometer ist. Die violette Unterteilung stellt die Zeitaufteilung dar, wenn die zeitliche Entfernung zwischen zwei aufeinanderfolgenden Punkten mehr als sechs Stunden beträgt.

    Beispiel ohne Zeitaufteilung und ohne Entfernungsaufteilung

    Beispiel ohne Zeitaufteilung und ohne Entfernungsaufteilung.

    Beispiel mit einer Zeitaufteilung von 6 Stunden

    Beispiel mit einer Zeitaufteilung von 6 Stunden. Alle Features mit einem zeitlichen Abstand von mehr als zwei Stunden werden in separaten Tracks abgeteilt.

    Beispiel mit einer Zeitgrenze von einem Tag

    Beispiel mit einer Zeitgrenze von einem Tag, beginnend um Mitternacht. Ab der angegebenen Zeit (hier 00:00 Uhr) wird in Intervallen von einem Tag jeweils ein Track erstellt.

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern. Alle Features mit einem räumlichen Abstand von mehr als 16 Kilometern (die Features um 05:00 und 06:00 Uhr) werden in separaten Tracks abgeteilt.

    Beispiel mit einer Zeitaufteilung von 6 Stunden und einer Zeitgrenze von 1 Tag um 00:00 Uhr

    Beispiel mit einer Zeitaufteilung von sechs Stunden und einer Zeitgrenze von einem Tag, beginnend um 00:00 Uhr. Alle Features mit einem zeitlichen Abstand von mehr als sechs Stunden, die sich mit der Zeitaufteilung um 12:00 Uhr überschneiden, werden in separaten Tracks abgeteilt.

    Beispiel mit einer Zeitaufteilung von 6 Stunden und einer Entfernungsaufteilung von 16 Kilometern

    Beispiel mit einer Zeitaufteilung von sechs Stunden und einer Entfernungsaufteilung von 16 Kilometern. Alle Features mit einem zeitlichen Abstand von mehr als sechs Stunden (die Features um 06:00 und 19:00 Uhr) oder mit einem räumlichen Abstand von mehr als 16 Kilometern werden in separaten Tracks abgeteilt.

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern und einer Zeitgrenze von einem Tag, beginnend um 00:00 Uhr

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern und einer Zeitgrenze von einem Tag, beginnend um 00:00 Uhr Alle Features mit einem räumlichen Abstand von mehr als 16 Kilometern, die sich mit der Zeitaufteilung um 00:00 Uhr überschneiden, werden in separaten Tracks abgeteilt.

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern, einer Zeitaufteilung von 6 Stunden und einer Zeitgrenze von 1 Tag, beginnend um 00:00 Uhr

    Beispiel mit einer Entfernungsaufteilung von 16 Kilometern, einer Zeitaufteilung von sechs Stunden und einer Zeitgrenze von einem Tag, beginnend um 00:00 Uhr. Alle Features mit einem räumlichen Abstand von mehr als 16 Kilometern oder einem zeitlichen Abstand von mehr als sechs Stunden, die sich mit der Zeitaufteilung um 00:00 Uhr überschneiden, werden in separaten Tracks abgeteilt.

  • Falls Sie einen Track mithilfe einer Zeitaufteilung, einer Entfernungsaufteilung oder eines Teilungsausdrucks teilen, können Sie angeben, wie Segmente zwischen der Teilung erstellt werden. Die folgenden Optionen sind verfügbar:

    • Lücke: Zwischen zwei Features, die geteilt wurden, wird eine Lücke erstellt.
    • Danach beenden: Ein Segment wird erstellt, das nach der Teilung endet.
    • Davor beginnen: Ein Segment wird erstellt, das vor der Teilung endet und beginnt.

    Das folgende Diagramm zeigt ein Beispiel der Teilungstypen.

    Drei Arten von Zeitaufteilungen

    In den drei Beispielen der Zeitaufteilungen werden dieselben (gelben) Eingabepunkte angezeigt.

    ZeitaufteilungsoptionBeschreibung

    Fünf Eingabepunkte mit Zeit und Position

    Fünf Eingabepunkte mit der gleichen Kennung. Die Zeit jedes Punktes ist unter der gepunktete Linie angegeben. Bei allen Beispielen gibt es eine Teilung um 2:00 Uhr und eine um 5:00 Uhr. Jeder Track wird zwischen dem dritten und dem vierten Punkt des Tracks in zwei Segmente geteilt. Der erste Track ist grün, der zweite violett. Der Parameter "Teilungstyp" legt fest, wie die Tracks aufgeteilt werden.

    Lücke Lückenaufteilung

    Beispiel mit einer Lücke zwischen den zwei Punkten, die geteilt werden. Dies ist die Standardeinstellung.

    Danach beenden Nach der Teilung beenden

    Beispiel, in dem der Track nach der Teilung (am vierten Punkt) endet. Der zweite Track beginnt am vierten Punkt.

    Davor beginnen Vor der Teilung beginnen

    Beispiel, in dem der Track vor der Teilung (am dritten Punkt) geteilt wird. Der zweite Track beginnt am dritten Punkt.

  • In den folgenden Szenarien wird anhand des Beispiels eines Linienflugs verdeutlicht, warum es sinnvoll ist, Tracks mit den Aufteilungsparametern und dem Feldkennungsparameter zu definieren:

    • Ein Flugzeug-Feature verfügt über die Felder aircraft ID, flight ID, pilot name, start time und flight_maneuver. Im Feld flight_maneuver wird angegeben, ob das Flugzeug gelandet ist, sich im Steig- bzw. Sinkflug befindet oder auf einer konstanten Höhe fliegt.
      • Verwenden Sie das Feld aircraft ID als Kennung, um die von den einzelnen Flugzeugen zurückgelegte Route zu ermitteln.
      • Verwenden Sie die Felder aircraft ID und flight ID als Kennung, um verschiedene Routen miteinander zu vergleichen.
      • Verwenden Sie das Feld aircraft ID und die Zeitgrenze von einem Jahr, um die Flüge der einzelnen Flugzeuge während eines Jahres zu vergleichen.
      • Verwenden Sie die Felder pilot name, aircraft ID und start time, um die Flüge der einzelnen Piloten anzuzeigen.
      • Verwenden Sie das Feld aircraft ID als Kennung, und teilen Sie Entfernungen von mehr als 1.000 Kilometern auf, um neue Tracks zu bestimmen. Dabei gilt die Vorgabe, dass eine Differenz von 1.000 Kilometern in den Messungen nicht zu demselben Track gehören darf.
      • Verwenden Sie das Feld aircraft ID als Kennung und teilen Sie mithilfe eines Ausdrucks, wenn der Wert im Feld flight_maneuver sich ändert. var flight_manuever = TrackFieldWindow("maneuver", -1, 1); flight_maneuver[0] != flight_maneuver[1] prüft beispielsweise, ob der aktuelle Wert in einem Track mit dem vorherigen Wert übereinstimmt. Wenn nicht, wird der Track geteilt.

  • Ausgabe-Tracks geben die als Track-ID verwendeten Felder, die Anzahl der Features in einem Track (count), die Start- und Endzeit jedes Tracks (start_date und end_date), die Dauer des Tracks in Millisekunden (duration) sowie alle anderen optionalen Statistiken (Format: statisticstype_fieldname) zurück.

  • Wenn Sie einen oder mehrere der folgenden Schritte durchführen, können Sie die Performance des Werkzeugs Tracks rekonstruieren verbessern:

    • Legen Sie die Ausdehnungsumgebung so fest, dass nur die gewünschten Daten analysiert werden.
    • Verwenden Sie anstelle der Methode "Geodätisch" die Methode "Planar".
    • Wenden Sie keinen Puffer an.
    • Teilen Sie die Tracks mit dem Parameter Zeitaufteilung, Aufteilung nach Zeitgrenze, Entfernungsaufteilung oder Teilungsausdruck. Mit dem Parameter Aufteilung nach Zeitgrenze sind die größten Performance-Steigerungen möglich.
    • Verwenden Sie lokale Daten an der Stelle, an der die Analyse ausgeführt wird.

  • Dieses Geoverarbeitungswerkzeug wird unterstützt durch Spark. Bei Analysen auf Ihrem Desktop-Computer werden mehrere Kerne parallel verwendet. Weitere Informationen über die Ausführung der Analyse finden Sie unter Überlegungen zu GeoAnalytics Desktop-Werkzeugen.

  • Bei der Ausführung von GeoAnalytics Desktop-Werkzeugen wird die Analyse auf Ihrem Desktop-Computer durchgeführt. Für eine optimale Performance sollten die Daten auf Ihrem Desktop verfügbar sein. Wenn Sie einen gehosteten Feature-Layer verwenden, wird empfohlen, ArcGIS GeoAnalytics Server zu verwenden. Wenn Ihre Daten nicht lokal verfügbar sind, dauert die Ausführung eines Werkzeugs bedeutend länger. Informationen zur Verwendung von ArcGIS GeoAnalytics Server für Analysen finden Sie unter GeoAnalytics Tools.

  • Ähnliche Analysen können auch mit Folgendem durchgeführt werden:

Syntax

arcpy.gapro.ReconstructTracks(input_layer, out_feature_class, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference}, {summary_fields}, {split_expression}, {split_type})
ParameterErklärungDatentyp
input_layer

Die Punkte oder Polygone, die in Tracks rekonstruiert werden sollen. Die Eingabe muss ein Layer mit aktivierten Zeiteigenschaften sein, der einen Zeitpunkt darstellt.

Feature Layer
out_feature_class

Eine neue Feature-Class mit den resultierenden Tracks.

Feature Class
track_fields
[track_fields,...]

Ein oder mehrere Felder, die zum Identifizieren eindeutiger Tracks verwendet werden.

Field
method

Gibt die Kriterien an, nach denen die Tracks rekonstruiert werden. Wenn ein Puffer verwendet wird, bestimmt der Parameter method den Typ des Puffers.

  • GEODESIC Wenn der Raumbezug geschwenkt werden kann, überqueren die Tracks bei Bedarf die Datumsgrenze. Wenn der Raumbezug nicht geschwenkt werden kann, sind die Tracks auf die Ausdehnung des Koordinatensystems beschränkt und werden nicht umbrochen.
  • PLANARDie Tracks überqueren nicht die Datumsgrenze.
String
buffer_type

Gibt an, wie der Pufferabstand definiert wird.

  • FIELDDer Pufferabstand wird anhand eines einzelnen Feldes definiert.
  • EXPRESSIONDer Pufferabstand wird anhand einer Gleichung mit Feldern und mathematischen Operatoren definiert.
String
buffer_field
(optional)

Das Feld, das zur Pufferung der Eingabe-Features verwendet wird. Feldwerte werden in den Einheiten des Raumbezugs der Eingabe angewendet, es sei denn, Sie verwenden ein geographisches Koordinatensystem. In diesem Fall werden Meter verwendet.

Field
buffer_expression
(optional)

Die Methode, die zur Pufferung der Eingabe-Features verwendet wird. Die Felder müssen numerisch sein, und der Ausdruck kann die Operatoren [+ - * / ] und mehrere Felder enthalten. Berechnete Feldwerte werden in den Einheiten des Raumbezugs der Eingabe angewendet, es sei denn, Sie verwenden ein geographisches Koordinatensystem. In diesem Fall werden Meter verwendet.

Verwenden Sie Arcade-Ausdrücke wie as_kilometers($feature.distance) * 2 + as_meters(15).

Calculator Expression
time_split
(optional)

Features, die zeitlich weiter voneinander entfernt sind als die Zeitteilungsdauer, werden in zwei separate Tracks geteilt.

Time Unit
distance_split
(optional)

Features, die weiter voneinander entfernt sind als der Entfernungsaufteilungswert, werden in zwei separate Tracks geteilt.

Linear Unit
time_boundary_split
(optional)

Zeitspanne zur Aufteilung der Eingabedaten für die Analyse. Bei Angabe einer Zeitgrenze können Sie Werte innerhalb einer bestimmten Zeitspanne analysieren. Wenn Sie als Zeitgrenze einen Tag und als Bezug für die Zeitgrenze den 1. Januar 1980 festlegen, werden die Tracks jeweils zu Beginn des Tages geteilt.

Time Unit
time_boundary_reference
(optional)

Bezugszeit zur Aufteilung der Eingabedaten für die Analyse. Zeitgrenzen werden für die gesamte Zeitspanne erstellt, wobei der Bezugszeitpunkt nicht zwangsläufig am Beginn der Zeitspanne liegen muss. Ohne Angabe einer Bezugszeit wird der 1. Januar 1970 verwendet.

Date
summary_fields
[summary_fields,...]
(optional)

Die Statistiken, die für bestimmte Felder berechnet werden.

  • COUNT: Die Anzahl der Nicht-NULL-Werte. Es kann für numerische Felder oder Zeichenfolgen verwendet werden. Die Anzahl von [null, 0, 2] ist 2.
  • SUM: Die Summe der numerischen Werte in einem Feld. Die Summe von [null, null, 3] ist 3.
  • MEAN: Der Mittelwert der numerischen Werte. Der Mittelwert von [0,2, null] ist 1.
  • MIN: Der Minimalwert eines numerischen Feldes. Das Minimum von [0, 2, null] ist 0.
  • MAX: Der Maximalwert eines numerischen Feldes. Der Maximalwert von [0, 2, null] ist 2.
  • STDDEV: Die Standardabweichung eines numerischen Feldes. Die Standardabweichung von [1] ist null. Die Standardabweichung von [null, 1,1,1] ist null.
  • VAR: Die Varianz eines numerischen Feldes in einem Track. Die Varianz von [1] ist null. Die Varianz von [null, 1,1,1] ist null.
  • RANGE: Der Bereich eines numerischen Feldes. Dieser wird durch die Subtraktion der Minimalwerte vom Maximalwert berechnet. Der Bereich von [0, null, 1] ist 1. Der Bereich von [null, 4] ist 0.
  • ANY: Dies ist eine Beispielzeichenfolge aus einem Feld vom Typ "Zeichenfolge".
  • FIRST: Der erste Wert eines angegebenen Feldes in einem Track.
  • LAST: Der letzte Wert eines angegebenen Feldes in einem Track.

Value Table
split_expression
(optional)

Ein Ausdruck, der Tracks basierend auf Werten, Geometrie oder Zeitwerten teilt. Mit "true" ausgewertete Ausdrücke werden geteilt.

Calculator Expression
split_type
(optional)

Gibt an, wie das Track-Segment bei der Aufteilung eines Tracks zwischen zwei Features erstellt wird. Der Teilungstyp wird auf Teilungsausdrücke, Entfernungsaufteilungen und Zeitaufteilungen angewendet.

  • GAPZwischen den beiden Features wird kein Segment erstellt. Dies ist die Standardeinstellung.
  • FINISH_LASTZwischen den beiden Features wird ein Segment erstellt, das nach der Teilung endet.
  • START_NEXTZwischen den beiden Features wird ein Segment erstellt, das vor der Teilung endet.
String

Codebeispiel

ReconstructTracks – Beispiel 1 (eigenständiges Skript)

Das folgende Skript veranschaulicht die Verwendung des Werkzeugs ReconstructTracks im Python-Fenster.

# Name: ReconstructTracks.py
# Description: Reconstruct hurricane points into hurricane tracks, where each 
#              location is buffered by the wind speed * 100.
# Import system modules
import arcpy
# Set local variables
inFeatures = "c:/mydata/Hurricanes.shp"
trackIdentifier = "EVENTID"
out = "c:/mydata/OutputDatasets.gdb/HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Execute Reconstruct Tracks
arcpy.gapro.ReconstructTracks(inFeatures, out, trackIdentifier, 
                              "GEODESIC", "EXPRESSION", None, 
                              bufferExpression, None, statistics)

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen