Ereignisse ermitteln (GeoAnalytics Desktop)

Zusammenfassung

Erstellt einen Layer mit den Features, die eine bestimmte Bedingung erfüllen.

Abbildung

Workflow-Diagramm des Werkzeugs "Ereignisse ermitteln"
Workflow des Werkzeugs "Ereignisse ermitteln"

Verwendung

  • Der folgenden Tabelle können Sie die Terminologie zum Werkzeug Ereignisse ermitteln entnehmen:

    BegriffBeschreibung

    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:

    Position123456789

    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.

Syntax

arcpy.gapro.DetectIncidents(input_layer, output, track_fields, start_condition, {end_condition}, {output_mode}, {time_boundary_split}, {time_boundary_reference})
ParameterErklärungDatentyp
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.

  • ALL_FEATURESEs werden alle Eingabe-Features zurückgegeben. Dies ist die Standardeinstellung.
  • INCIDENTSNur Features, die als Ereignisse identifiziert wurden, werden zurückgegeben.
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

DetectIncidents – Beispiel (Python-Fenster)

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
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Set local variables
inFeatures = "Hurricanes"
out = "HurricaneTracks_Incidents"
trackIdentifier = "STAGE"
start_condition = "$feature['WINDSPEED'] > 100"
# Execute Reconstruct Tracks
arcpy.gapro.DetectIncidents(inFeatures, out, trackIdentifier, calcExpression)

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen