Skip To Content

Ereignisse ermitteln

Hinweis:

Diese Funktionalität wird derzeit nur in Map Viewer Classic (zuvor als Map Viewer bezeichnet) unterstützt. Sie wird in einer zukünftigen Version des neuen Map Viewer verfügbar sein.

Ereignisse ermitteln 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

Workflow-Diagramm des Werkzeugs "Ereignisse ermitteln"

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

BegriffBeschreibung

Tracking

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 unterschiedlichen Tracks können jeweils durch die Fahrzeug-ID identifiziert werden.

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.

Weitere Informationen zum Verwenden von Ausdrücken zum Ermitteln von Ereignissen mit GeoAnalytics Tools

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:123456789

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.

Einschrä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"

Im Folgenden wird die Funktionsweise des Werkzeugs "Ereignisse ermitteln" beschrieben:

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 confirm 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'll use for analysis
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = 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 bdfs_search.layers if x.properties.name == "Snowplow_tracks")

# Set the tool environment settings
arcgis.env.verbose = True
arcgis.env.defaultAggregations = True

# Run the Detect Incidents tool
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 = "Snow_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 Classic-Analysewerkzeuge

Wenn Sie Features mit aktivierten Zeiteigenschaften in Tracks rekonstruieren möchten, dann verwenden Sie das Tracks rekonstruieren.

Wenn Sie Werte eines Feldes berechnen möchten, dann verwenden Sie das Werkzeug Feld berechnen.

ArcGIS Desktop-Analysewerkzeuge

Das Werkzeug Tracks rekonstruieren ist auch in ArcGIS Pro verfügbar.

Das Werkzeug Feld berechnen ist auch in ArcGIS Pro verfügbar.

Das Werkzeug 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.