Zusammenfassung
Erstellt einen Layer mit den Features, die eine bestimmte Bedingung erfüllen.
Abbildung
Verwendung
Dieses Geoverarbeitungswerkzeug ist in ArcGIS Enterprise 10.6 oder höher verfügbar.
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 Tabellen sowie 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 zu Arcade-Ausdrücken in GeoAnalytics Server mit Ereignisse ermitteln
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 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
Syntax
arcpy.geoanalytics.DetectIncidents(input_layer, output_name, track_fields, start_condition, {end_condition}, {output_mode}, {data_store}, {time_boundary_split}, {time_boundary_reference})
Parameter | Erklärung | Datentyp |
input_layer | Die Eingabe-Features, die potenzielle Ereignisse enthalten. | Record 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 |
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 |
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 |
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 |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output | Die Ausgabe-Features, die eine bestimmte Bedingung erfüllen. | Datensatz |
Codebeispiel
Das folgende Skript veranschaulicht die Verwendung des Werkzeugs DetectIncidents im Python-Fenster.
#-------------------------------------------------------------------------------
# Name: DetectIncidents.py
# Description: Detect Incidents when wind speed is greater than 100 miles per hour
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
outFS = "HurricaneTracks_Incidents"
trackIdentifier = "STAGE"
start_condition = "$feature['WINDSPEED'] > 100"
# Execute Reconstruct Tracks
arcpy.geoanalytics.DetectIncidents(inFeatures, outFS, trackIdentifier, calcExpression)
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