Das Werkzeug Ereignisse ermitteln untersucht zeitlich aufeinanderfolgende Features anhand einer bestimmten Bedingung. Features, die die angegebene Bedingung erfüllen, werden als Ereignisse markiert. Der Ergebnis-Layer stellt die Eingabe-Features in demselben Format wie die Eingabe dar und enthält zusätzliche Felder, die angeben, ob das Feature ein Ereignis ist, den Status des Ereignisses, die Dauer des Ereignisses und eine eindeutige Kennung für das Ereignis.
Workflow-Diagramm
Durchführen von Analysen mit GeoAnalytics Tools
Mit GeoAnalytics Tools durchgeführte Analysen werden mittels verteilter Verarbeitung auf mehreren ArcGIS GeoAnalytics Server-Computern und Kernen durchgeführt. GeoAnalytics Tools und Standard-Feature-Analysewerkzeuge in ArcGIS Enterprise verfügen über verschiedene Parameter und Funktionen. Weitere Informationen zu diesen Unterschieden finden Sie unter Unterschiede zwischen Feature-Analysewerkzeugen.
Terminologie
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. Es ist erforderlich, dass die Eingaben für Ereignisse ermitteln Zeitangaben vom Typ "Zeitpunkt" verwenden. |
Intervall | Ein Zeitraum, der durch eine Start- und Endzeit dargestellt wird. |
Betrachtetes Feature | Wird zum Beschreiben des Features, das analysiert wird, verwendet. Während der Analyse werden alle Features analysiert. |
Beispiele
Eine wichtige Rolle, die Sensoren spielen, ist die Überwachung des Wassers und seiner Fremdstoffe. Jede Sensormessung enthält einen Zeitstempel zur Angabe des Zeitpunktes der Messung sowie einen Wert für die betrachteten Fremdstoffe. Sie haben Zugriff auf Daten zu Wassermessungen in Ihrem lokalen Gebiet mit Messung und Zeitstempeln an jedem Standort. Sie suchen nach Sensoren, die eine starke Zunahme eines Fremdstoffs in vorherigen Zeitschritten melden.
Verwendungshinweise
Ereignisse ermitteln wird für Tabellen, Punkt-, Linien- oder Flächen-Features ausgeführt. Für den Eingabe-Layer müssen Zeiteigenschaften aktiviert sein, die einen Zeitpunkt darstellen.
Verwendet werden nur Eingabe-Features, die einen Zeiteintrag enthalten. Features ohne Zeitangabe werden weder verwendet noch in die Ausgabeergebnisse einbezogen.
Das/die zum Identifizieren von Tracks verwendete(n) Feld(er) werden in den Ergebnissen zurückgegeben.
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 die Felder flightID und Destination beispielsweise als Track-IDs verwendet werden, befinden sich die folgenden Features [ID007, Solden] und [ID007, Tokoyo] in zwei getrennten Tracks, da sie verschiedene Werte für das Feld Destination aufweisen.
Start- und Endbedingungen werden mit einem Ausdruck erstellt.
Das Anwenden einer Endbedingung ist optional. Wenn Sie nur eine Startbedingung verwenden, beginnt das Ereignis, wenn die Startbedingung als "true" ausgewertet wird, und endet, wenn die Startbedingung als "false" 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 zusätzlich 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. Danach ist jedes folgende Feature ein Ereignis, bis die Endbedingung erfüllt ist. Diese Beispiele sind in der folgenden Tabelle dargestellt:
Position: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Werte | 0 | 10 | 15 | 20 | 40 | 10 | 12 | -2 | -12 |
Start: $feature["values"] > 15 und kein Ende | False | False | False | True | True | True | 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, wird jeder Track für jeden Tag um 9:00 Uhr abgeschnitten. . Diese Teilung bietet eine bequeme Möglichkeit, die Rechenzeit zu beschleunigen, da kleinere Tracks schnell für die Analyse 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.
Ausgabe-Features geben dann die Felder der Eingabe sowie zusätzliche 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 Track kann mehrere Segmente aus Ereignissen enthalten. 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, an dem das Feature aufgetreten ist.
Wenn die Option Aktuelle Kartenausdehnung verwenden aktiviert ist, werden nur die Features analysiert, die in der aktuellen Kartenausdehnung sichtbar sind. Wenn diese Option nicht aktiviert ist, werden alle Beobachterpunkte im Eingabe-Layer analysiert, auch diejenigen, die sich außerhalb der aktuellen Kartenausdehnung befinden.
Beschränkungen
Eingaben müssen Features mit aktivierten Zeiteigenschaften vom Typ "Zeitpunkt" sein. Features ohne Zeitangabe werden nicht in die Ausgabe einbezogen.
Funktionsweise des Werkzeugs "Ereignisse ermitteln"
Berechnungen
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 den 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 und Ended besitzt. Die Dauer für ein Feature mit dem Status Started ist immer 0.
Beispiel für ArcGIS API for Python
Das Werkzeug "Ereignisse ermitteln" ist über ArcGIS API for Python verfügbar.
In diesem Beispiel wird ermittelt, wann und wo Schneepflüge sich mit einer Geschwindigkeit von weniger als 10 Meilen pro Stunde fortbewegt haben, indem der Mittelwert eines beweglichen Fensters mit fünf Geschwindigkeitswerten berechnet wird.
# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and check that GeoAnalytics is supported portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False) if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported") exit(1)
# Find the big data file share dataset you're interested in using for analysis search_result = portal.content.search("", "Big Data File Share")
# Look through search results for a big data file share with the matching name bd_file = next(x for x in search_result if x.title == "bigDataFileShares_VehicleData")
# Look through the big data file share for snowplow track data snowplows = next(x for x in bd_file.layers if x.properties.name == "Snowplow_tracks")
# Set the tool environment settings arcgis.env.verbose = True arcgis.env.defaultAggregations = True
# Run the tool Detect Incidents output = find_locations.detect_incidents(input_layer = snowplows, track_fields = "plowID, dayOfYear",
start_condition_expression = "Mean($track.field["speed"].window(-5, 0)) < 10", output_name = "Slow_Plow_Incidents")
# Visualize the tool results if you are running Python in a Jupyter Notebook processed_map = portal.map('Fairbanks, AK', 10) processed_map.add_layer(output) processed_map
Ähnliche Werkzeuge
Verwenden Sie Ereignisse ermitteln, um Features, die Ereignisse sind, zu finden. Andere Werkzeuge können bei ähnlichen, aber leicht abweichenden Problemstellungen hilfreich sein.
Map Viewer-Analysewerkzeuge
Wenn Sie Features mit aktivierten Zeiteigenschaften in Tracks rekonstruieren möchten, dann verwenden Sie das GeoAnalytics Tools Tracks rekonstruieren.
Wenn Sie Werte eines Feldes berechnen möchten, dann verwenden Sie das GeoAnalytics Tools Wert berechnen.
ArcGIS Desktop-Analysewerkzeuge
Das GeoAnalytics Tools Tracks rekonstruieren ist auch in ArcGIS Pro verfügbar.
Das GeoAnalytics Tools Feld berechnen ist auch in ArcGIS Pro verfügbar.
Das GeoAnalytics Tools Ereignisse ermitteln ist in ArcGIS Pro verfügbar.
Um dieses Werkzeug in ArcGIS Pro auszuführen, muss auf Ihrem aktiven Portal Enterprise 10.6 oder höher ausgeführt werden. Sie müssen sich mit einem Konto anmelden, dem Berechtigungen zum Durchführen von GeoAnalytics-Feature-Analysen zugewiesen sind.