Beschriftung | Erläuterung | Datentyp |
Eingabe-Layer | Die Eingabe-Features, die potenzielle Ereignisse enthalten. | Table View |
Ausgabe-Dataset | Ein neues Ausgabe-Dataset, das Ereignisse enthält. | Feature Class;Table |
Track-Felder | Ein oder mehrere Felder, die zum Identifizieren eindeutiger Tracks verwendet werden. | Field |
Startbedingung | Die Bedingung, die zum Identifizieren von Ereignissen verwendet wird. Die Ausdrücke werden in Arcade geschrieben und können die Operatoren [+ - * / ] und mehrere Felder enthalten. Wenn der Layer der Karte hinzugefügt wird, können die Filter Felder und Helper zum Erstellen eines Ausdrucks verwendet werden. Weitere Informationen zu Ausdrücken in "Ereignisse ermitteln" | Calculator Expression |
Endbedingung (optional) | Die Bedingung, die zum Beenden von Ereignissen verwendet wird. Wenn keine Endbedingung angegeben wurde, enden Ereignisse, sobald die Startbedingung nicht mehr erfüllt ist. Die Ausdrücke werden in Arcade geschrieben und können Operatoren und mehrere Felder enthalten. Wenn der Layer der Karte hinzugefügt wird, können die Filter Felder und Helper zum Erstellen eines Ausdrucks verwendet werden. | Calculator Expression |
Ausgabemodus (optional) | Gibt die Features an, die zurückgegeben werden.
| String |
Zeitgrenze – Unterteilung (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 |
Zeitgrenze – Referenz (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 |
Zusammenfassung
Erstellt einen Layer mit den Features, die eine bestimmte Bedingung erfüllen.
Abbildung
Verwendung
Der folgenden Tabelle können Sie die Terminologie zum Werkzeug Ereignisse ermitteln entnehmen:
Begriff Beschreibung Track
Eine Sequenz aus Features mit aktivierten Zeiteigenschaften vom Typ "Zeitpunkt". Ob sich Features in der Sequenz befinden, wird durch ein Track-Kennungsfeld bestimmt. Die Features werden nach Zeit geordnet. Nehmen wir als Beispiel eine Stadt mit einer Flotte aus Schneepflügen, die alle 10 Minuten ihre Position aufzeichnen. Die Fahrzeug-ID könnte die unterschiedlichen Tracks repräsentieren.
Ereignis
Features, die eine gewünschte Bedingung erfüllen.
Zeitpunkt
Ein einzelner Zeitpunkt, der durch eine Startzeit, aber keine Endzeit dargestellt wird. Eingaben in das Werkzeug Ereignisse ermitteln müssen Zeitdaten vom Typ "Zeitpunkt" sein.
Intervall
Ein Zeitraum, der durch eine Start- und Endzeit dargestellt wird.
Betrachtetes Feature
Beschreibt das Feature, das analysiert wird. Während der Analyse werden alle Features analysiert.
Ereignisse sind Features, die eine bestimmte Bedingung erfüllen.
Ereignisse ermitteln erstellt eine neue Ausgabe. Die Eingabe wird nicht modifiziert.
Ereignisse ermitteln kann für Punkt-, Linien- oder Polygon-Features ausgeführt werden. Für den Eingabe-Layer müssen Zeiteigenschaften aktiviert sein, die einen Zeitpunkt darstellen.
Verwendet werden nur Eingabe-Features, die einen Zeiteintrag enthalten. Features, die keinen Zeiteintrag enthalten, werden ausgeschlossen.
Tracks werden durch die eindeutige Kombination von Track-Feldern 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.
Bedingungen werden unter Verwendung von Arcade-Ausdrücken erstellt. Eine Startbedingung ist erforderlich, und eine Endbedingung ist optional. Wenn Sie nur eine Startbedingung verwenden, beginnt das Ereignis, wenn die Startbedingung als "wahr" ausgewertet wird, und endet, wenn die Startbedingung als "falsch" ausgewertet wird. Wenn zum Beispiel ein Track die Werte [0, 10, 15, 20, 40, 10, 12, -2, -12] enthält und die Startbedingung $feature["values"] > 15 lautet, gelten die Features mit [True] als Ereignisse. In diesem Fall ergibt sich [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False], wobei nur Werte über 15 Ereignisse sind. Wenn Sie die Endbedingung $feature["values"] < 0 verwenden, ergibt sich [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. In diesem Beispiel beginnt das Ereignis, wenn die Startbedingung erfüllt ist. Jedes folgende Feature ist ein Ereignis, bis die Endbedingung erfüllt ist. Diese Beispiele werden in der folgenden Tabelle veranschaulicht:
Position 1 2 3 4 5 6 7 8 9 Wert
0
10
15
20
40
10
12
-2
-12
Start: $feature["values"] > 15 und kein Ende
False
False
False
True
True
False
False
False
False
Start: $feature["values"] > 15 und Ende: $feature["values"] < 0
False
False
False
True
True
True
True
False
False
Bei Anwendung eines Zeitintervalls werden Tracks in einem festgelegten Intervall segmentiert. Wenn Sie die Zeitintervallgrenze 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 wiederholt auftretenden Zeitintervallgrenze sinnvoll für Ihre Analyse ist, ist sie für die Big-Data-Verarbeitung zu empfehlen.
Die Bedingungen werden mithilfe von Arcade-Ausdrücken erstellt und können Tracking-bezogen sein. Weitere Informationen finden Sie unter Arcade-Ausdrücke in der Toolbox "GeoAnalytics Desktop".
Ein Track kann mehrere Ereignisse aufweisen.
Ausgabe-Features geben dann die Felder der Eingabe sowie die folgenden zusätzlichen Felder aus:
- IncidentID: Eine eindeutige ID, die jedes Feature, das ein Ereignis ist, erhält.
- IncidentStatus: Ein Zeichenfolgefeld, das den Status eines Ereignisses angibt. Der Wert ist dann null, wenn das Feature kein Ereignis ist, Started, wenn das Feature das erste Ereignis ist, das die Startbedingung erfüllt, OnGoing, wenn das Feature noch ein Ereignis ist, und Ended, wenn ein Feature kein Ereignis mehr ist. Ein einzelner Track kann mehrere Ereignissegmente aufweisen. Zum Beispiel ergeben sich bei einem Track mit Werten [0, 10, 15, 20, 40, 10, 12, -2, -12] und der Startbedingung $feature["values"] > 15 als IncidentStatus die Werte [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
- IncidentDuration: Die Zeit in Millisekunden, während der ein Ereignis auftritt. Dies wird als Differenz zwischen dem gewünschten Feature und dem Feature, das das Ereignis gestartet hat, berechnet.
- Instant_Datetime: Der Zeitpunkt, zu dem das Feature auftritt.
Features sind in jedem Track in zeitlicher Reihenfolge angeordnet. Die Startbedingung wird beginnend beim ersten Feature ausgewertet, bis sich "true" ergibt. Sobald ein Feature die Startbedingung erfüllt, werden die nächsten Features ausgewertet, bis die Startbedingung "false" ergibt (wenn keine Endbedingung angegeben wurde) oder bis die Endbedingung "true" ergibt (wenn eine Endbedingung angegeben wurde). Sobald diese Bedingung erfüllt ist, endet das Ereignis und der Prozess beginnt von vorn. Ein Track kann mehrere Ereignissegmente enthalten. Zum Beispiel ergeben sich bei einem Track mit Werten [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] und der Startbedingung $feature["values"] > 20 zwei Segmente aus Ereignissen: [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null].
Zur Berechnung der Dauer eines Ereignisses in Millisekunden wird von der Zeit des Features der Start eines Ereignisses subtrahiert. Die Dauer wird nur dann berechnet, wenn das Feature den Status Started, OnGoing, oder Ended aufweist. Die Dauer für ein Feature mit dem Status Started ist immer 0.
Wenn Sie einen oder mehrere der folgenden Schritte durchführen, können Sie die Performance des Werkzeugs Ereignisse ermitteln verbessern:
- Legen Sie die Ausdehnungsumgebung so fest, dass nur die gewünschten Daten analysiert werden.
- Geben Sie nur die Ereignis-Features aus.
- Teilen Sie die Tracks mit dem Parameter Aufteilung nach Zeitgrenze.
- 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.
Parameter
arcpy.gapro.DetectIncidents(input_layer, output, track_fields, start_condition, {end_condition}, {output_mode}, {time_boundary_split}, {time_boundary_reference})
Name | Erläuterung | Datentyp |
input_layer | Die Eingabe-Features, die potenzielle Ereignisse enthalten. | Table View |
output | Ein neues Ausgabe-Dataset, das Ereignisse enthält. | Feature Class;Table |
track_fields [track_fields,...] | Ein oder mehrere Felder, die zum Identifizieren eindeutiger Tracks verwendet werden. | Field |
start_condition | Die Bedingung, die zum Identifizieren von Ereignissen verwendet wird. Die Ausdrücke werden in Arcade geschrieben und können die Operatoren [+ - * / ] und mehrere Felder enthalten. | Calculator Expression |
end_condition (optional) | Die Bedingung, die zum Beenden von Ereignissen verwendet wird. Wenn keine Endbedingung angegeben wurde, enden Ereignisse, sobald die Startbedingung nicht mehr erfüllt ist. | Calculator Expression |
output_mode (optional) | Gibt die Features an, die zurückgegeben werden.
| String |
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 |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie die Funktion DetectIncidents verwendet wird.
# Name: DetectIncidents.py
# Description: Detect incidents when wind speed is greater than 100 miles per hour
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# 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
out = "Hurricane_Incidents"
trackIdentifier = "STAGE"
startCondition = "$feature['WINDSPEED'] > 100"
# Run Detect Incidents
arcpy.gapro.DetectIncidents(hurricanesLayer, out, trackIdentifier, startCondition)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja