Zusammenfassung
Erstellt aus Eingabedaten mit aktivierten Zeiteigenschaften Linien- oder Polygon-Tracks.
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 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.
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 Beispiele für Pufferausdrücke in ArcGIS Enterprise 10.5 und 10.5.1 oder Beispiele für Pufferausdrücke in ArcGIS Enterprise 10.6 und höher. In ArcGIS Enterprise 10.6.1 oder höher können Sie 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:
Option beim Teilen eines Features 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 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 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, 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. 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 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 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 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 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 Teilungsoptionen für Tracks sind in ArcGIS Enterprise 10.9 oder höher verfügbar. 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.
In den drei Beispielen der Zeitaufteilungen werden dieselben (gelben) Eingabepunkte angezeigt. Zeitaufteilungsoption Beschreibung 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
Beispiel mit einer Lücke zwischen den zwei Punkten, die geteilt werden. Der erste Track endet am dritten Punkt, und der zweite Track beginnt am vierten Punkt. 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. Diese Option ist in ArcGIS Enterprise 10.9 oder höher verfügbar.
Davor beginnen
Beispiel, in dem der Track vor der Teilung (am dritten Punkt) geteilt wird. Der zweite Track beginnt am dritten Punkt. Diese Option ist in ArcGIS Enterprise 10.9 oder höher verfügbar.
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.
- 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_datetime und end_datetime), 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 ArcGIS GeoAnalytics Server. Die Analyse wird auf dem GeoAnalytics Server ausgeführt, und die Ergebnisse werden in den eigenen Inhalten in ArcGIS Enterprise gespeichert.
Bei der Ausführung von GeoAnalytics Server-Werkzeugen wird die Analyse auf dem GeoAnalytics Server abgeschlossen. Für eine optimale Performance sollten die Daten dem GeoAnalytics Server über Feature-Layer zur Verfügung stehen, die auf Ihrem ArcGIS Enterprise-Portal gehostet werden. Alternativ können Big-Data-Dateifreigaben verwendet werden. Daten, auf die der GeoAnalytics Server nicht lokal zugreifen kann, werden vor Analysebeginn auf den GeoAnalytics Server verschoben. Dadurch dauert die Ausführung eines Werkzeugs länger. Es kann zudem vorkommen, dass das Verschieben der Daten von ArcGIS Pro zum GeoAnalytics Server fehlschlägt. Die Wahrscheinlichkeit eines Fehlers hängt dabei von der Netzwerkgeschwindigkeit sowie der Größe und Komplexität der Daten ab. Daher wird empfohlen, dass Sie Ihre Daten stets freigeben oder eine Big-Data-Dateifreigabe erstellen.
Weitere Informationen zum Freigeben von Daten in Ihrem Portal
Weitere Informationen zum Erstellen einer Big-Data-Dateifreigabe über Server Manager
Ähnliche Analysen können auch mit Folgendem durchgeführt werden:
- Mit dem Werkzeug Punkte in Linie in der Toolbox "Data Management".
Syntax
arcpy.geoanalytics.ReconstructTracks(input_layer, output_name, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {summary_fields}, {data_store}, {distance_split}, {time_boundary_split}, {time_boundary_reference}, {split_expression}, {split_type})
Parameter | Erklärung | 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 Set |
output_name | Der Name des Ausgabe-Feature-Service. | String |
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) | 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. In ArcGIS Enterprise 10.5 und 10.5.1 werden Ausdrücke folgendermaßen formatiert: as_kilometers(distance) * 2 + as_meters(15). Verwenden Sie ab ArcGIS Enterprise 10.6 Arcade-Ausdrücke wie as_kilometers($feature.distance) * 2 + as_meters(15). 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. In ArcGIS Enterprise 10.5 und 10.5.1 werden Ausdrücke folgendermaßen formatiert: as_kilometers(distance) * 2 + as_meters(15). Verwenden Sie ab ArcGIS Enterprise 10.6 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 |
summary_fields [summary_fields,...] (optional) | Die Statistiken, die für bestimmte Felder berechnet werden.
| Value Table |
data_store (optional) | Gibt den ArcGIS Data Store für das Speichern der Ausgabe an. Die Standardeinstellung ist SPATIOTEMPORAL_DATA_STORE. Alle in einem Big Data Store vom Typ "spatiotemporal" gespeicherten Ergebnisse werden im WGS84 gespeichert. Ergebnisse, die in einem Data Store vom Typ "relational" gespeichert werden, behalten ihr Koordinatensystem bei.
| String |
distance_split (optional) | Features, die weiter voneinander entfernt sind als der Entfernungsaufteilungswert, werden in zwei separate Tracks geteilt. Dieser Parameter ist nur in ArcGIS Enterprise 10.6 und höher verfügbar. | 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. Bei einer Zeitgrenze von einem Tag, beginnend am 1. Januar 1980, werden die Tracks jeweils zu Beginn des Tages geteilt. Dieser Parameter ist nur in ArcGIS Enterprise 10.7 und höher verfügbar. | 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. Dieser Parameter ist nur in ArcGIS Enterprise 10.7 und höher verfügbar. | Date |
split_expression (optional) | Ein Ausdruck, der Tracks basierend auf Werten, Geometrie oder Zeitwerten teilt. Mit "true" ausgewertete Ausdrücke werden geteilt. Dieser Parameter ist nur in ArcGIS Enterprise 10.9 und höher verfügbar. | 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. Dieser Parameter ist nur in ArcGIS Enterprise 10.9 und höher verfügbar.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output | Die Ausgabe-Linien- oder Polygon-Tracks. | Feature-Set |
Codebeispiel
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
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
trackIdentifier = "EVENTID"
outFS = "HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Execute Reconstruct Tracks
arcpy.geoanalytics.ReconstructTracks(inFeatures, outFS, trackIdentifier,
"GEODESIC", "EXPRESSION", None,
bufferExpression, None, statistics)
Umgebungen
- Ausgabe-Koordinatensystem
Das Koordinatensystem, das für die Analyse verwendet wird. Die Analyse wird im Eingabe-Koordinatensystem ausgeführt, sofern nicht anders durch diesen Parameter angegeben. Für GeoAnalytics Tools werden die Endergebnisse im Data Store vom Typ "spatiotemporal" in WGS84 gespeichert.
Lizenzinformationen
- Basic: Erfordert ArcGIS GeoAnalytics Server
- Standard: Erfordert ArcGIS GeoAnalytics Server
- Advanced: Erfordert ArcGIS GeoAnalytics Server