Beschriftung | Erläuterung | Datentyp |
Eingabe-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 |
Ausgabe-Feature-Class | Eine neue Feature-Class mit den resultierenden Tracks. | Feature Class |
Track-Felder | Ein oder mehrere Felder, die zum Identifizieren eindeutiger Tracks verwendet werden. | Field |
Methode | Gibt die Kriterien an, nach denen die Tracks rekonstruiert werden. Wenn ein Puffer verwendet wird, bestimmt der Parameter Methode den Typ des Puffers.
| String |
Puffertyp | Gibt an, wie der Pufferabstand definiert wird.
| String |
Pufferfeld (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 |
Pufferausdruck (optional) | Der Ausdruck, der zur Pufferung der Eingabe-Features verwendet wird. 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 des folgenden Formats: as_kilometers($feature.distance) * 2 + as_meters(15). Wenn der Layer der Karte hinzugefügt wird, können die Filter Felder und Helper zum Erstellen eines Ausdrucks verwendet werden. | Calculator Expression |
Aufteilung nach Zeit (optional) | Features, die zeitlich weiter voneinander entfernt sind als die Dauer der Aufteilung nach Zeit werden in separate Tracks aufgeteilt. | Time Unit |
Aufteilung nach Entfernung (optional) | Features, die weiter voneinander entfernt sind als der Wert der Aufteilung nach Entfernung, werden in separate Tracks aufgeteilt. | Linear Unit |
Aufteilung nach Zeitgrenze (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 |
Bezugszeit der Zeitgrenze (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 |
Zusammenfassungsfelder (optional) | Die Statistiken, die für bestimmte Felder berechnet werden.
| Value Table |
Teilungsausdruck (optional) | Ein Ausdruck, der Tracks basierend auf Werten, Geometrie oder Zeitwerten teilt. Mit "true" ausgewertete Ausdrücke werden geteilt. | Calculator Expression |
Teilungstyp (optional) | Gibt an, wie das Track-Segment bei der Teilung eines Tracks in zwei Features erstellt wird. Der Teilungstyp wird auf Teilungsausdrücke, Aufteilungen nach Entfernung und Aufteilungen nach Zeit angewendet.
| String |
Zusammenfassung
Erstellt Linien- oder Polygon-Tracks aus Eingabedaten mit aktivierten Zeiteigenschaften.
Abbildung
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 angewandten 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.
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.
Beim Puffern von Eingabe-Features wird jedes Eingabe-Feature gepuffert. Anschließend wird eine konvexe Hülle generiert, um einen Polygon-Track zu erstellen.
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 in einem Track berechnet. Zusätzliche Statistiken können durch Angabe des Parameterwertes für Zusammenfassungsfelder 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:
- Aufteilung nach Zeit: Basierend auf einer Zeit zwischen Eingaben. Durch die Anwendung einer Aufteilung nach Zeit wird ein Track aufgeteilt, 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 Aufteilung nach Zeit 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 Aufteilung nach 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 Aufteilung wird die Rechenzeit beschleunigt, da für die Analyse kleinere Tracks erstellt werden. Wenn die Aufteilung nach einer regelmäßig auftretenden Zeitgrenze sinnvoll für Ihre Analyse ist, empfiehlt sie sich für die Big-Data-Verarbeitung.
- Aufteilung nach Entfernung: Basierend auf einer Entfernung zwischen Eingaben. Durch die Anwendung einer Aufteilung nach Entfernung wird ein Track aufgeteilt, wenn der Abstand der Eingabedaten größer als die angegebene Entfernung ist. Wenn Sie zum Beispiel eine Aufteilung nach Entfernung von 5 Kilometern festlegen, gehören nachfolgende Features, die mehr als 5 Kilometer entfernt sind, zu einem anderen Track.
- 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 geteilt, 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 Aufteilung nach Zeit von sechs Stunden, einer Zeitgrenze von einem Tag und einer Aufteilung nach Entfernung von 16 Kilometern lauten die Ergebnisse wie folgt:
Teilungsoption Beschreibung 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 Aufteilungen in Rot stellen die Zeitgrenze von einem Tag dar, die um 0:00 Uhr beginnt. Die Aufteilung in Blau stellt die Aufteilung nach Entfernung dar, wenn die Entfernung zwischen den zwei Punkten größer als 16 Kilometer ist. Die Aufteilung in Violett stellt die Aufteilung nach Zeit dar, wenn die zeitliche Entfernung zwischen zwei aufeinanderfolgenden Punkten größer als sechs Stunden ist.
Beispiel ohne Aufteilung nach Zeit und ohne Aufteilung nach Entfernung
Beispiel mit einer Aufteilung nach Zeit von sechs Stunden Alle Features mit einem zeitlichen Abstand von mehr als zwei Stunden werden in separate Tracks aufgeteilt.
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 Aufteilung nach Entfernung 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 separate Tracks aufgeteilt.
Beispiel mit einer Aufteilung nach Zeit von sechs Stunden und einer Zeitgrenze von einem Tag, beginnend um 0:00 Uhr. Alle Features mit einem zeitlichen Abstand von mehr als sechs Stunden oder mit einer Überschneidung mit der Aufteilung nach Zeit um 0:00 Uhr werden in separate Tracks aufgeteilt.
Beispiel mit einer Aufteilung nach Zeit von sechs Stunden und einer Aufteilung nach Entfernung 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 separate Tracks aufgeteilt.
Beispiel mit einer Aufteilung nach Entfernung von 16 Kilometern und einer Zeitgrenze von einem Tag, beginnend um 0:00 Uhr. Alle Features mit einem räumlichen Abstand von mehr als 16 Kilometern oder mit einer Überschneidung mit der Aufteilung nach Zeit um 0:00 Uhr werden in separate Tracks aufgeteilt.
Beispiel mit einer Aufteilung nach Entfernung von 16 Kilometern, einer Aufteilung nach Zeit von sechs Stunden und einer Zeitgrenze von einem Tag, beginnend um 0:00 Uhr. Alle Features mit einem räumlichen Abstand von mehr als 16 Kilometern oder einem zeitlichen Abstand von mehr als sechs Stunden oder mit einer Überschneidung mit der Aufteilung nach Zeit um 0:00 Uhr werden in separate Tracks aufgeteilt.
Falls Sie einen Track mithilfe einer Aufteilung nach Zeit, einer Aufteilung nach Entfernung 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.
Angezeigt werden drei Beispiele der Aufteilung nach Zeit, die auf dieselben Eingabepunkte (gelb) angewendet werden. Option zur Aufteilung nach Zeit Beschreibung Fünf Eingabepunkte mit Zeit und Position
Fünf Eingabepunkte mit der gleichen Kennung. Die Zeit jedes Punktes ist unter der gepunkteten 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
Beispiel mit einer Lücke zwischen den zwei Punkten, die geteilt werden. Dies ist die Standardeinstellung.
Danach beenden
Beispiel, in dem der Track nach der Teilung (am vierten Punkt) endet. Der zweite Track beginnt am vierten Punkt.
Davor beginnen
Beispiel, in dem der Track vor der Teilung (am dritten Punkt) geteilt wird. Der zweite Track beginnt am dritten Punkt.
In den folgenden Beispielen wird anhand eines Linienflugs gezeigt, wie mit den Aufteilungsparametern und dem Feldkennungsparameter Tracks definiert werden können:
- 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 eine 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, der bei Wertänderungen im Feld flight_maneuver angewendet wird. 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.
- 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.
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 (im 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 Aufteilung nach Zeit, Aufteilung nach Zeitgrenze, Aufteilung nach Entfernung 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:
- Das Werkzeug Punkte in Linie in der Toolbox "Data Management"
Parameter
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})
Name | Erläuterung | Datentyp |
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.
| String |
buffer_type | Gibt an, wie der Pufferabstand definiert wird.
| 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) |
Der Ausdruck, der zur Pufferung der Eingabe-Features verwendet wird. 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 des folgenden Formats: as_kilometers($feature.distance) * 2 + as_meters(15). | Calculator Expression |
time_split (optional) | Features, die zeitlich weiter voneinander entfernt sind als die Dauer der Aufteilung nach Zeit werden in separate Tracks aufgeteilt. | Time Unit |
distance_split (optional) | Features, die weiter voneinander entfernt sind als der Wert der Aufteilung nach Entfernung, werden in separate Tracks aufgeteilt. | 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.
| 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 Teilung eines Tracks in zwei Features erstellt wird. Der Teilungstyp wird auf Teilungsausdrücke, Aufteilungen nach Entfernung und Aufteilungen nach Zeit angewendet.
| String |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie die Funktion ReconstructTracks verwendet wird.
# 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
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Hurricanes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
hurricanesLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Hurricanes Layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(hurricanesLayer, inputLyrx)
# Set local variables
trackIdentifier = "EVENTID"
out = "c:/mydata/OutputDatasets.gdb/HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Run Reconstruct Tracks
arcpy.gapro.ReconstructTracks(hurricanesLayer, out, trackIdentifier,
"GEODESIC", "EXPRESSION", None,
bufferExpression, None, statistics)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja