Prozessoren
Prozessoren sind eine Komponente eines GeoEvent-Service zur Ausführung bestimmter Aktionen für GeoEvents, darunter Identifizierungen oder Anreicherungen, während die Ereignisse von Eingaben an Ausgaben übermittelt werden.
GeoEvent Processor enthält folgende Prozessoren:
- Feldberechnung
- Field Calculator (Regular Expression)
- Field Enricher (Feature-Service)
- Field Enricher (File)
- Field Mapper
- Field Reducer
- GeoTagger
- Incident Detector
- Track Gap Detector
- No Operation
Feldberechnung
Ein Field Calculator-Prozessor schreibt einen berechneten Wert entweder in ein vorhandenes Feld oder ein vom Prozessor erstelltes neues Feld. Für seine Berechnungen verwendet der Prozessor die aus den Feldern aktueller Ereignisse abgerufenen Werte sowie aus der Konfiguration des Prozessors stammende konstante Werte. In "Field Calculator" können zwecks Erstellung abgeleiteter Ereignisdaten mathematische Ausdrücke ausgewertet und Zeichenfolgenwerte zusammengefasst werden; es ist aber auch möglich, konstante Werte zur Anreicherung oder Optimierung von Ereignisdaten zu schreiben.
Der Field Calculator-Prozessor führt sowohl mathematische als auch lexikalische Berechnungen (basierend auf Zeichenketten statt auf numerischen Werten) aus. Wenn ein berechneter Wert im Rahmen der Ereignisverarbeitung in ein vorhandenes Feld geschrieben wird, ersetzt dieser den aktuellen Feldwert. Der Prozessor versucht, den berechneten Wert in Übereinstimmung mit dem Datentyp des Feldes zu konvertieren; schlägt die Datentypkonvertierung fehl, wird ein Null-Wert geschrieben.
![Vorhandene Feldeigenschaften des Field Calculator-Prozessors. Vorhandene Feldeigenschaften des Field Calculator-Prozessors.](0154/GUID-3B3CD753-4FC0-429C-A79A-CAAC85C47E95-web.png)
Wird ein berechneter Wert in ein neues Feld geschrieben, ändert sich das Ereignisschema, wodurch GeoEvent Processor eine neue GeoEvent-Definition erstellen muss, die vom System verwaltet wird. Sollen mit dem Prozessor neue Felder erstellt werden, müssen ein Feldname und Datentyp angegeben werden. Für die GeoEvent-Definition können ein Name sowie ein optionaler Tag angegeben werden, die für das neue Feld gelten sollen.
![Neue Feldeigenschaften des Field Calculator-Prozessors. Neue Feldeigenschaften des Field Calculator-Prozessors.](0154/GUID-09BFDC59-1E81-49E5-8818-D08BEADA6E86-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Field Calculator-Prozessors sind vorstehend beschrieben.
Der Field Calculator-Prozessor unterstützt allgemeine mathematische, lexikalische und logische Ausdrücke. Die Operanden eines Ausdrucks können Literal-Feldnamen aus der GeoEvent-Definition oder Tags sein, die in der GeoEvent-Definition auf die Felder verwendet werden. So könnte zum Beispiel der Ausdruck Odom1 + Odom2 zur Addition der Werte in den Feldern "Odom1" und "Odom2" zu einer einfachen Summe verwendet werden. Wenn das Feld "Odom1" als MILEAGEA und das Feld "Odom2" als MILEAGEB getaggt wurde, könnte der Ausdruck MILEAGEA + MILEAGEB verwendet werden.
Die vom Field Calculator-Prozessor unterstützten Operatoren und Funktionen werden nachstehend beschrieben.
Operation | Operator | Beispiel |
Addition | + | Odom1 + Odom2 Addiert die numerischen Werte aus den Feldern Odom1 und Odom2 zu einer einfachen Summe. Die Verbindung von Zeichenketten (zum Beispiel "Hallo" + "Welt") wird ebenfalls unterstützt. |
Subtraktion | - | VALUEA - VALUEB Subtrahiert die numerischen Werte in den mit VALUEA und VALUEB getaggten Feldern zu einer einfachen Differenz. Im Gegensatz zur Addition, die die Verbindung von Zeichenketten unterstützt, lassen sich zwei Zeichenketten nicht mittels Subtraktion voneinander abziehen. |
Multiplikation | * | Altitude * 0.3048 Multipliziert die numerischen Werte im Feld Altitude mit der Konstante 0,3048 zu einem einfachen Produkt (in diesem Fall wird ein Wert in Fuß in sein Äquivalent in Meter umgerechnet). |
Division | / | Distance / 1.609344 Teilt den numerischen Wert im Feld Distance durch die Konstante 1,609344 zwecks Bildung eines einfachen Quotienten (in diesem Fall wird ein Wert in Kilometer in sein Äquivalent in Meilen umgerechnet). |
Modul | % | VALUEA % VALUEB Teilt den numerischen Wert in dem mit VALUEA getaggten Feld durch den numerischen Wert in dem mit VALUEB getaggten Feld und gibt den Teilungsrest als Double-Wert aus. |
Das logische AND | && | Flag1 && Flag2 Führt einen logischen AND-Befehl für die booleschen Werte in den Feldern Flag1 und Flag2 aus, um ein boolesches Ergebnis zu erhalten. Eingabefelder müssen den Typ "Boolesch" aufweisen. In einem Ausdruck enthaltene Literal-Strings (z. B. "TRUE") und konstante Werte (z. B. 1) werden nicht in einen äquivalenten booleschen Wert als Teil einer Evaluierung umgewandelt. |
Das logische OR | || | Flag1 || Flag2 Führt einen logischen OR-Befehl für die booleschen Werte in den Feldern Flag1 und Flag2 aus, um ein boolesches Ergebnis zu erhalten. |
Das logische NOT | ! | !(Flag1) Führt eine logische Negation des booleschen Werts im Feld Flag1 durch, um ein boolesches Ergebnis zu erhalten. Unterstützt verschachtelte Ausdrücke wie !(Flag1 && Flag2). |
Größer als | > | Altitude > 12500 Ermittelt per logischer Evaluierung, ob der Wert in dem Feld Altitude größer ist als die angegebene Konstante (Ergebnis ist ein boolescher Wert). |
Größer oder gleich | >= | Altitude >= 12500 Ermittelt per logischer Evaluierung, ob der Wert in dem Feld Altitude größer als die oder gleich der angegebene(n) Konstante ist (Ergebnis ist ein boolescher Wert). |
Kleiner als | < | Altitude < 1500 Ermittelt per logischer Evaluierung, ob der Wert in dem Feld Altitude kleiner ist als die angegebene Konstante (Ergebnis ist ein boolescher Wert). |
Kleiner oder gleich | <= | Altitude <= 1500 Ermittelt per logischer Evaluierung, ob der Wert in dem Feld Altitude kleiner als die oder gleich der angegebene(n) Konstante ist (Ergebnis ist ein boolescher Wert). |
Gleichheit | == | VALUEA == VALUEB Ermittelt per logischer Evaluierung, ob die in den mit VALUEA und VALUEB getaggten Feldern gefundenen Werte gleich sind (Ergebnis ist ein boolescher Wert). Gleichheit wird nur für numerische Typen mit der ersten Produktversion (10.2.0) unterstützt. |
Ungleichheit | != | VALUEA != VALUEB Ermittelt per logischer Evaluierung, ob die in den mit VALUEA und VALUEB getaggten Feldern gefundenen Werte nicht gleich sind (Ergebnis ist ein boolescher Wert). Ungleichheit wird nur für numerische Typen mit der ersten Produktversion (10.2.0) unterstützt. |
![Hinweis Hinweis](rsrc/note.png)
![Hinweis Hinweis](rsrc/note.png)
Die Gleichheits- und Ungleichheitsoperatoren des Field Calculator-Prozessors sollten nicht direkt auf Gleitkommawerte angewandt werden. Um den Vergleich zweier Dezimalwerte korrekt durchführen zu können, müssen Sie die Werte zunächst skalieren, dann in Long Integers runden und abschließend die Long Integer-Werte vergleichen.
- Vergleichen Sie nicht MyFloat1 == MyFloat2.
- Vergleichen Sie stattdessen round(MyFloat1*1000) == round(MyFloat2*1000).
Der Field Calculator-Prozessor enthält Funktionen, die denen in java.lang.Math entsprechen. Eine umfassende technische Spezifikation und Liste der Funktionen finden Sie in der Java-Entwicklerdokumentation. Nachstehend finden Sie eine Übersicht der am häufigsten verwendeten Funktionen.
Konstanten | |
Funktion | Beschreibung |
E() | Gibt die eulersche Zahl (e) potenziert mit dem angegebenen Double-Wert zurück. |
PI() | Gibt die Double-Repräsentation von Pi (das Verhältnis des Umfangs eines Kreises zu seinem Durchmesser) zurück. |
Allgemeine Funktionen | |
Funktion | Beschreibung |
abs(value) | Gibt den absoluten Wert des Arguments zurück. |
ceil(double) | Gibt die Obergrenze (nächsthöherer Ganzzahlwert) des angegebenen Double-Wertes zurück. |
floor(double) | Gibt die Untergrenze (nächstkleinerer Ganzzahlwert) des angegebenen Double-Wertes zurück. |
hypot(double x, double y) | Gibt sqrt((x*x) + (y*y)) ohne Zwischenüberlauf oder -unterlauf zurück. |
max(value a, value b) | Gibt den größeren der beiden angegebenen Argumentwerte zurück. |
min(value a, value b) | Gibt den kleineren der beiden angegebenen Argumentwerte zurück. |
random() | Gibt einen Double-Wert größer oder gleich 0,0 und kleiner als 1,0 zurück. |
round(value) | Gibt den näher liegenden Long Integer zurück (bei Vorliegen eines Double-Wertes). |
![Hinweis Hinweis](rsrc/note.png)
Soweit möglich, verarbeitet ein Field Calculator-Prozessor Konvertierungen numerischen Typs. Werden zum Beispiel unterschiedliche numerische Typen in eine Funktion eingegeben (z. B. max(3.14159,25)), werden die Werte in vergleichbare Typen umgewandelt (Ganzzahl, Gleitkomma oder Double), um den Vergleich ausführen zu können. Auch beim Schreiben der Werte in das Attributfeld eines Ereignisses verarbeitet der Prozessor berechnete Werte (z. B. wird 6 + 7 als 13,0 geschrieben, wenn das Ereignisfeld den Typ "Double" aufweist).
Exponenten | |
Funktion | Beschreibung |
sqrt(double) | Gibt die Quadratwurzel des angegebenen Double-Wertes zurück. |
cbrt(value) | Gibt die Kubikwurzel des angegebenen Double-Wertes zurück. |
exp(double) | Gibt die eulersche Zahl (e) potenziert mit dem angegebenen Double-Wert zurück. |
pow(double, double) | Gibt den Wert des ersten Arguments potenziert mit dem zweiten Argument zurück. |
Logarithmisch | |
Funktion | Beschreibung |
log(double) | Gibt den natürlichen Logarithmus (Basis e) eines Double-Wertes zurück. |
log10(double) | Gibt den Logarithmus der Basis 10 eines Double-Wertes zurück. |
Zeichenfolgefunktionen | |
Funktion | Beschreibung |
int length(source) | Gibt die Länge der Zeichenfolge zurück. |
boolean isEmpty(source) | Gibt "true" zurück, wenn die Länge der Quelle 0 ist. |
boolean isNull(source) | Gibt "true" zurück, wenn der Quellwert Null ist. |
boolean equals(source, Object anObject) | Vergleicht die Quellzeichenfolge mit dem angegebenen Objekt. Gibt "true" zurück, wenn das angegebene Objekt eine Zeichenfolge darstellt, entsprechend der Quellzeichenfolge; andernfalls "false". |
boolean equalsIgnore(source, String anotherString) | Vergleicht die Quellzeichenfolge mit einer anderen Zeichenfolge, Groß-/Kleinschreibung wird ignoriert. Zwei Zeichenfolgen werden – ohne Beachtung der Groß- und Kleinschreibung – als gleich betrachtet, wenn sie dieselbe Länge aufweisen und die einander entsprechenden Zeichen in den zwei Zeichenfolgen gleich sind. Gibt "true" zurück, wenn das Argument nicht Null ist und eine äquivalente Zeichenfolge – ohne Beachtung der Groß- und Kleinschreibung – darstellt; andernfalls "false" |
int compareTo(source, String prefix) | Vergleicht zwei Zeichenfolgen lexikografisch. Gibt den Wert 0 zurück, wenn das str-Argument der Quellzeichenfolge entspricht; ein Wert kleiner als 0, wenn die Quellzeichenfolge lexikografisch weniger umfassend als das str-Argument ist; und einen Wert größer 0, wenn die Quellzeichenfolge lexikografisch umfassender als das str-Argument ist. |
int compareToIgnore(source, String str) | Vergleicht zwei Zeichenfolgen lexikografisch, wobei Unterschiede in der Groß- und Kleinschreibung ignoriert werden. Gibt eine negative Ganzzahl, Null oder eine positive Ganzzahl zurück, wenn die angegebene Zeichenfolge größer als, gleich oder kleiner als die Quellzeichenfolge ist, wobei Unterschiede in der Groß- und Kleinschreibung ignoriert werden. |
boolean startsWith(source, String prefix) | Testet, ob die Quellzeichenfolge mit dem angegebenen Präfix beginnt. Gibt "true" zurück, wenn die durch das Präfix-Argument dargestellte Zeichensequenz ein Präfix der Zeichensequenz ist, die durch die Quellzeichenfolge dargestellt wird; andernfalls "false". |
boolean endsWith(source, String suffix) | Testet, ob die Quellzeichenfolge mit dem angegebenen Suffix endet. Gibt "true" zurück, wenn die durch das Suffix-Argument dargestellte Zeichensequenz ein Suffix der Zeichensequenz ist, die durch das Quellobjekt dargestellt wird; andernfalls "false". |
int indexOf(source, String str) | Gibt den Index innerhalb der Quellzeichenfolge des ersten Vorkommnisses der angegebenen Unterzeichenfolge an. Wenn das Zeichenfolge-Argument als Unterzeichenfolge innerhalb des Quellobjekts vorkommt, wird der Index des ersten Zeichens der ersten ebensolchen Unterzeichenfolge zurückgegeben; falls es nicht als Unterzeichenfolge vorkommt, wird -1 zurückgegeben. |
int indexOf(source, String str, int fromIndex) | Gibt den Index innerhalb der Quellzeichenfolge des ersten Vorkommnisses der angegebenen Unterzeichenfolge ab dem angegebenen Index an. Gibt den Index innerhalb der Quellzeichenfolge des ersten Vorkommnisses der angegebenen Unterzeichenfolge ab dem angegebenen Index an. |
int lastIndexOf(source, String str) | Gibt den Index innerhalb der Quellzeichenfolge des am weitesten rechts befindlichen Vorkommnisses der angegebenen Unterzeichenfolge an. Wenn das Zeichenfolge-Argument ein- oder mehrmals als Unterzeichenfolge innerhalb des Quellobjekts vorkommt, wird der Index des ersten Zeichens der letzten Unterzeichenfolge zurückgegeben. Falls es nicht als Unterzeichenfolge vorkommt, wird -1 zurückgegeben. |
int lastIndexOf(source, String str, int fromIndex) | Gibt den Index innerhalb der Quellzeichenfolge des letzten Vorkommnisses der angegebenen Unterzeichenfolge an, wobei ab dem angegebenen Index rückwärts gesucht wird. Gibt den Index innerhalb der Quellzeichenfolge des letzten Vorkommnisses der angegebenen Unterzeichenfolge an. |
String substring(int beginIndex) | Gibt eine neue Zeichenfolge zurück, die eine Unterzeichenfolge der Quellzeichenfolge ist. Die Unterzeichenfolge beginnt mit dem Zeichen am angegebenen Index und erstreckt sich bis zum Ende der Quellzeichenfolge. |
String substring(source, int beginIndex, int endIndex) | Gibt eine neue Zeichenfolge zurück, die eine Unterzeichenfolge der Quellzeichenfolge ist. Die Unterzeichenfolge beginnt am angegebenen beginIndex und erstreckt sich bis zum Zeichen am Index endIndex -1. |
String concat(source, String str) | Verbindet die angegebene Zeichenfolge mit dem Ende der Quellzeichenfolge. |
boolean matches(source, String regex) | Gibt an, ob die Quellzeichenfolge mit dem angegebenen regulären Ausdruck übereinstimmt. Gibt nur an, wenn die Quellzeichenfolge mit dem angegebenen regulären Ausdruck übereinstimmt. |
boolean contains (CharSequence s) | Gibt "true" nur zurück, wenn die Quellzeichenfolge die angegebene Sequenz von char-Werten enthält. Gibt "true" zurück, wenn die Quellzeichenfolge "s" enthält; andernfalls "false". |
String replaceFirst(source, String regex, String replacement) | Ersetzt die erste Unterzeichenfolge der Quellzeichenfolge, die mit dem angegebenen regulären Ausdruck übereinstimmt, mit der angegebenen Ersetzung. Gibt die resultierende Zeichenfolge zurück. |
String replaceAll(source, String regex, String replacement) | Ersetzt jede Unterzeichenfolge der Quellzeichenfolge, die mit dem angegebenen regulären Ausdruck übereinstimmt, durch die angegebene Ersetzung. Gibt die resultierende Zeichenfolge zurück. |
String replace(source, CharSequence target, CharSequence replacement) | Ersetzt jede Unterzeichenfolge der Quellzeichenfolge, die mit der literalen Zielsequenz übereinstimmt, durch die angegebene literale Ersetzungssequenz. Die Ersetzung erfolgt von Beginn der Zeichenfolge bis zum Ende. Gibt die resultierende Zeichenfolge zurück. |
String toLowerCase(source) | Konvertiert alle Zeichen in der Quellzeichenfolge in Kleinschreibungunter Berücksichtigung der Regeln des Standardgebietsschemas. Gibt die Zeichenfolge, konvertiert in Kleinschreibung, zurück. |
String toUpperCase(source) | Konvertiert alle Zeichen in der Quellzeichenfolge in Großschreibungunter Berücksichtigung der Regeln des Standardgebietsschemas. Gibt die Zeichenfolge, konvertiert in Großschreibung, zurück. |
String trim(source) | Gibt eine Kopie der Quellzeichenfolge zurück, wobei führende und nachstehende Leerzeichen ausgelassen werden. |
String valueOf(Object obj) | Gibt die Zeichenfolgendarstellung des Object-Arguments zurück. |
Trigonometrische Funktionen | |
Funktion | Beschreibung |
acos(double) | Gibt den Arkuscosinus eines Wertes zurück (ausgegebener Winkel liegt zwischen 0,0 und Pi). |
asin(double) | Gibt den Arkussinus eines Wertes zurück (ausgegebener Winkel liegt zwischen -Pi/2 und Pi/2). |
atan(double) | Gibt den Arkustangens eines Wertes zurück (ausgegebener Winkel liegt zwischen -Pi/2 und Pi/2). |
atax2(double y, double x) | Gibt den Winkel Theta aus der Konvertierung rechtwinkliger Koordinaten (x, y) in Polarkoordinaten (r, theta) zurück. |
cos(double) | Gibt den trigonometrischen Cosinus eines Winkels zurück. |
cosh(double) | Gibt den Cosinus Hyperbolicus eines Double-Wertes zurück. |
sin(double) | Gibt den trigonometrischen Sinus eines Winkels zurück. |
sinh(double) | Gibt den Sinus Hyperbolicus eines Double-Wertes zurück. |
tan(double) | Gibt den trigonometrischen Tangens eines Winkels zurück. |
tanh(double) | Gibt den Tangens Hyperbolicus eines Double-Wertes zurück. |
toDegrees(double) | Konvertiert einen in Radiant angegebenen Winkel in einen angenäherten Winkel in Grad. |
toRadians(double) | Konvertiert einen in Grad angegebenen Winkel in einen angenäherten Winkel in Radianten. |
Field Calculator (Regular Expression)
Bei der Suche nach einem Muster in einem Zielfeld unterstützt der Prozessor "Field Calculator (Regular Expression)" die Verwendung regulärer Ausdrücke. Der Musterabgleich von regulären Ausdrücken kann ein leistungsstarkes Werkzeug bei der Berechnung und Erstellung abgeleiteter Werte von aus einem Ereignis stammenden Attributdaten sein. Im Gegensatz zum regulären Prozessor "Field Calculator" unterstützt der Prozessor "Field Calculator (Regular Expression)" keine allgemeinen mathematischen, lexikalischen und logischen Ausdrücke.
![Vorhandene Feldeigenschaften des Field Calculator-Prozessors (Regular Expression) Vorhandene Feldeigenschaften des Field Calculator-Prozessors (Regular Expression)](0154/GUID-8B282CA1-BF1A-42F7-85E6-C58A3DB1BDE9-web.png)
Wird ein berechneter Wert in ein neues Feld geschrieben, ändert sich das Ereignisschema, wodurch GeoEvent Processor eine neue GeoEvent-Definition erstellen muss, die vom System verwaltet wird. Sollen mit dem Prozessor neue Felder erstellt werden, müssen ein Feldname und Datentyp angegeben werden. Für die GeoEvent-Definition können ein Name sowie ein optionaler Tag angegeben werden, die für das neue Feld gelten sollen.
![Neue Feldeigenschaften des Prozessors "Field Calculator (Regular Expression)" Neue Feldeigenschaften des Prozessors "Field Calculator (Regular Expression)"](0154/GUID-66553A8A-B211-4837-8C05-618E2768876B-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Prozessors "Field Calculator (Regular Expression)" sind vorstehend beschrieben.
Der Prozessor "Field Calculator (Regular Expression)" wird üblicherweise zur Ermittlung und Extraktion von Unterzeichenfolgen in einem Zielfeld verwendet. Die extrahierten Unterzeichenfolgen werden anschließend entweder zurück in das Zielfeld geschrieben, wobei der ursprüngliche Wert des Felds überschrieben wird, oder in ein neues Feld geschrieben.
Der Prozessor unterstützt eine Vielzahl regulärer Ausdrücke. Ein Prozessor dieses Typs ließe sich mit einem regulären Ausdruck so konfigurieren, dass er den numerischen Teil einer FlightID extrahiert und den Wert in ein neues Feld namens "FlightNumber" schreibt. Eine schrittweise Erklärung hierzu finden Sie im Lernprogramm "Einführung in GeoEvent Processor" auf der Seite Lernprogramme zu GeoEvent Processor.
![Hinweis Hinweis](rsrc/note.png)
Im angegebenen Muster des regulären Ausdrucks enthaltene Rückverweise werden vom Prozessor "Field Calculator (Regular Expression)" nicht unterstützt.
Field Enricher (Feature-Service)
Der Prozessor "Field Enricher (Feature Service)" unterstützt die Anreicherung von Ereignisdaten, indem er Attributinformationen aus einem Feature-Layer oder einer nichträumlichen Tabelle eines veröffentlichten Feature-Service in das zu verarbeitende Ereignis kopiert. Dies entspricht einem Verbindungsvorgang.
![Eigenschaften des Prozessors "Field Enricher (Feature-Service)" Eigenschaften des Prozessors "Field Enricher (Feature-Service)"](0154/GUID-DC0E8F79-B01B-4652-85CB-0ED75F592AC7-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Prozessors "Field Enricher (Feature Service)" sind vorstehend beschrieben.
Ein Prozessor "Field Enricher (Feature Service)" ist mit den zur Erkennung und Verwendung eines Feature-Service für die Ereignisanreicherung erforderlichen Informationen zu konfigurieren. Dazu zählen die ArcGIS Server-Verbindung, der Service-Ordner, der Name des Feature-Service und der Ziel-Layer innerhalb des Feature-Service.
Der Prozessor muss sowohl mit dem Feldnamen konfiguriert werden, den der Feature-Service mit dem anzureichernden Ereignis gemeinsam hat, als auch mit dem Feldnamen aus dem Ereignisschema, für das die Verbindung erfolgen soll. Der Feldname des Feature-Service wird in das Textfeld Feature-Layer-Verbindungsfeld in der Abbildung oben eingefügt. Das Textfeld GeoEvent-Verbindungsfeld akzeptiert entweder ein in der GeoEvent-Definition verwendetes Tag (zum Beispiel TRACK_ID, wie oben abgebildet) oder den Namen eines bestimmten Felds aus dem Ereignisschema.
Geben Sie die Namen der aus der Feature-Layer-Tabelle zu kopierenden Felder an, indem Sie auf die Schaltfläche Felder auswählen für die Eigenschaft Erweiterungsfelder klicken. Wählen Sie optional Tags aus, die GeoEvent Processor für jedes neue Feld anwenden soll, das als kommagetrennte Liste erstellt wird.
Bei der Anreicherung eines Ereignisses werden Daten aus einem oder mehreren Feldern eines Feature-Service kopiert und in Form neuer Datenfelder an das zu verarbeitende Ereignis angefügt. Dadurch ändert sich das Ereignisschema, wodurch GeoEvent Processor eine neue GeoEvent-Definition erstellen muss, die vom System verwaltet wird. Die Feldnamen sind angegeben und die Felddatentypen werden aus dem Feature-Service übertragen, sodass die Datentypen nicht als Teil der Konfiguration des Prozessors angegeben werden. Geben Sie einen Namen an, der von GeoEvent Processor für die zu erstellende resultierende GeoEvent-Definition verwendet werden soll.
Eine schrittweise Erklärung zur Nutzung eines Prozessors "Field Enricher (Feature Service)" für die Verbindung von Ereignisdaten mit Daten aus einem Feature-Service finden Sie in der Einführung zu den GeoEvent Processor-Lehrprogrammübungen auf der Seite Lernprogramme zu GeoEvent Processor.
Field Enricher (File)
Der Prozessor "Field Enricher (File)" unterstützt die Anreicherung von Ereignisdaten, indem er Attributinformationen aus einer Systemdatei in das zu verarbeitende Ereignis kopiert. Seine Funktionsweise ähnelt der des Prozessors "Field Enricher (Feature Service)", nur dass hier eine Systemdatei statt eines Feature-Service als Anreicherungsquelle dient.
![Eigenschaften des Prozessors "Field Enricher (File)" Eigenschaften des Prozessors "Field Enricher (File)"](0154/GUID-DA37CAA1-1075-4DB5-AF9E-9265F6A72608-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Prozessors "Field Enricher (File)" sind vorstehend beschrieben.
Geben Sie den Systemordner an, der die Datei enthält, die als Quelle für die Anreicherungsdaten verwendet werden soll. Die Konfiguration des Prozessors kann erst abgeschlossen werden, wenn der Systemordner im GeoEvent Processor als Datenspeicher registriert worden ist. Der Dateiname ist kein registrierbares Element; es muss ein Dateiname angegeben werden, dann sucht GeoEvent Processor nach einer Datei dieses Namens im registrierten Datenspeicher.
Der Prozessor muss sowohl mit dem Feldnamen konfiguriert werden, den die Systemdatei mit dem anzureichernden Ereignis gemeinsam hat, als auch mit dem Feldnamen aus dem Ereignisschema, für das die Verbindung erfolgen soll. Dieser aus der Datentabelle der Systemdatei stammende Feldname wird in das Textfeld Dateiverbindungsfeld in der Abbildung oben eingefügt. Das Textfeld GeoEvent-Verbindungsfeld akzeptiert entweder ein in der GeoEvent-Definition verwendetes Tag (zum Beispiel TRACK_ID, wie oben abgebildet) oder den Namen eines bestimmten Felds aus dem Ereignisschema.
Geben Sie die Namen der aus der Feature-Layer-Tabelle zu kopierenden Felder in Form einer kommagetrennten Liste unter der Eigenschaft Erweiterungsfelder an. Wählen Sie optional Tags aus, die GeoEvent Processor für jedes neue Feld anwenden soll, das als kommagetrennte Liste erstellt wird.
Bei der Anreicherung eines Ereignisses werden Daten aus einem oder mehreren Feldern einer Systemdatei kopiert und in Form neuer Datenfelder an das zu verarbeitende Ereignis angefügt. Dadurch ändert sich das Ereignisschema, wodurch GeoEvent Processor eine neue GeoEvent-Definition erstellen muss, die vom System verwaltet wird. Die Feldnamen sind angegeben, die Angabe der Felddatentypen erfolgt in der Systemdatei, sodass die Datentypen nicht als Teil der Konfiguration des Prozessors angegeben werden. Geben Sie einen Namen an, der von GeoEvent Processor für die zu erstellende resultierende GeoEvent-Definition verwendet werden soll.
Eine schrittweise Erklärung zur Nutzung eines Prozessors "Field Enricher (File)" für die Verbindung von Ereignisdaten mit Daten aus einer Systemdatei finden Sie in der Einführung zu den GeoEvent Processor-Lehrprogrammübungen auf der Seite Lernprogramme zu GeoEvent Processor.
![Hinweis Hinweis](rsrc/note.png)
Wird als Anreicherungsquelle eine Textdatei verwendet, so muss die Datei dem folgenden, nachstehend beschriebenen Format entsprechen. Insbesondere müssen in der ersten Zeile der Datei die Feldnamen als kommagetrennte Werte angegeben werden. In der zweiten Zeile ist der Datentyp für jedes Feld anzugeben. Ab der dritten Zeile der Datei folgen die Datenwerte der Datei.
![](0154/GUID-9F70B8B7-F308-4CA0-8B06-E94207F6C58C-web.png)
Field Mapper
Der Field Mapper-Prozessor unterstützt die Datenausrichtung. Jedem im GeoEvent Processor enthaltenen GeoEvent ist ein Schema zugeordnet, das die Attributfelder und Datentypen (Datum, Zeichenfolge, Ganzzahl usw.) für die Ereignisdaten angibt. Dieses Schema wird als GeoEvent-Definition bezeichnet. Eine GeoEvent-Definition für einen bestimmten Eingabedatenstrom könnte möglicherweise Felder enthalten, deren Namen nicht mit dem Schema eines veröffentlichten Feature-Service übereinstimmen, der vom GeoEvent Processor aktualisiert werden soll. In einem solchen Fall muss für die Zuordnung von Feldern aus dem Eingabeschema der Field Mapper-Prozessor verwendet werden, um die Daten an das Ausgabeschema auszurichten.
![Eigenschaften des Field Mapper-Prozessors Eigenschaften des Field Mapper-Prozessors](0154/GUID-2D5D9D3D-FDE3-42BF-8B01-888F08987B68-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Field Mapper-Prozessors sind vorstehend beschrieben.
Legen Sie die GeoEvent-Definitionen von Quelle und Ziel durch Auswahl der entsprechenden Eigenschaften fest. Das Eigenschaftendialogfeld listet die Zielfelder der GeoEvent-Definitionen auf und ermöglicht die Auswahl des Felds aus der Datenquelle, das dem Ziel zugeordnet werden soll. Der Datentyp des Zielfelds wird aufgelistet, um die für die Zuordnung zur Ziel-GeoEvent-Definition am besten geeigneten Daten aus der Quell-GeoEvent-Definition zu identifizieren.
![Hinweis Hinweis](rsrc/note.png)
Die Abbildung oben zeigt <Field Name> als Ersatz für die tatsächlichen Feldnamen einer Ziel-GeoEvent-Definition. Die tatsächliche Liste der Feldnamen und Datentypen ist von der als Ziel-GeoEvent-Definition ausgewählten GeoEvent-Definition abhängig.
Ein Field Mapper-Prozessor kann zur Reduzierung der Anzahl von Attributfeldern eingesetzt werden, die von der Eingabe zur Ausgabe übermittelt werden, da lediglich die ausgewählten Felder einer Quelle-GeoEvent-Definition den Feldern einer Ziel-GeoEvent-Definition zugeordnet werden. Dies kann hilfreich sein, wenn ein Eingabedatenstrom eine große Anzahl an Attributwerten enthält, die kaum von Interesse sind. Ein Field Mapper-Prozessor kann auch zur Konvertierung von Datentypen verwendet werden, wenn die Ereignisdaten der Eingabe nicht mit den Datentypen einer ausgegebenen GeoEvent-Definition übereinstimmen. So lassen sich zum Beispiel Ganzzahldaten als Double-Repräsentation oder numerische Daten als Zeichenfolge darstellen. Dadurch werden die Eingabedaten mit der angeforderten Ausgabe-GeoEvent-Definition in Einklang gebracht.
Der Field Mapper-Prozessor lässt sich auch zur Vereinfachung eines Datenschemas einsetzen. Echtzeit-Datenströme stellen Attributdaten zuweilen nicht als spezifischen, diskontinuierlichen Datentyp, sondern als Gruppe mehrerer Attributwerte verschiedener Typen dar. Eine hierarchische Datenstruktur wie diese kann erst dann zur Aktualisierung eines veröffentlichten Feature-Service herangezogen werden, wenn zunächst beispielsweise die einzelnen Gruppenelemente diskontinuierlichen Feldern einer Ziel-GeoEvent-Definition zugeordnet wurden, die dem Schema des veröffentlichten Feature-Service entspricht.
Field Reducer
Jedem im GeoEvent Processor enthaltenen GeoEvent ist ein Schema zugeordnet, das die Attributfelder und Datentypen (Datum, Zeichenfolge, Ganzzahl usw.) für die Ereignisdaten angibt. Dieses Schema wird als GeoEvent-Definition bezeichnet. Ein Field Reducer-Prozessor unterstützt die Optimierung von Datenschemas, indem unerwünschte Attribute eines Ereignisses gelöscht werden, was eine vereinfachte Version des Ereignisses ergibt, die zur weiteren Verarbeitung oder Ausgabe übermittelt werden kann.
![Eigenschaften des Field Reducer-Prozessors Eigenschaften des Field Reducer-Prozessors](0154/GUID-AEB26C40-8F02-47E6-A31F-36EC51A92B2E-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Field Reducer-Prozessors sind vorstehend beschrieben.
Die GeoEvent-Definition der beim Prozessor eingehenden Ereignisse enthält die Feldnamen und Datentypen des Ereignisses. Daher dürfen nur die aus dem eingehenden Ereignis zu entfernenden Felder als kommagetrennte Liste angegeben werden. Die Liste der zu entfernenden Felder wird in die Eigenschaft Zu entfernende Felder eingegeben, wie in der vorstehenden Abbildung gezeigt.
Das Ereignisschema wird durch die veränderten Ereignisdaten aufgrund der entfernten Attributfelder geändert, weshalb mit GeoEvent Processor eine neue GeoEvent-Definition für das vereinfachte Ereignis erstellt und verwaltet werden muss. Geben Sie im Eigenschaftendialogfeld einen Namen an, der von GeoEvent Processor für die zu erstellende resultierende GeoEvent-Definition verwendet werden soll.
GeoTagger
Ein GeoTagger-Prozessor unterstützt die Ereignisanreicherung, indem er an ein Ereignis Informationen über GeoFences anfügt, zu denen eine räumliche Beziehung besteht. Wenn sich zum Beispiel die Position eines Ereignisses in einem bekannten Interessenbereich befindet, können GeoFence-Kategorie und -name als neue Attributwerte an das Ereignis angehängt werden. Dies reichert das Ereignis mit Angaben über seine räumliche Beziehung zu einem Interessenbereich zum gegebenen Zeitpunkt an.
![Hinweis Hinweis](rsrc/note.png)
GeoFences muss zunächst aus einem Feature-Service in GeoEvent Processor importiert werden, bevor ein GeoTagger-Prozessor konfiguriert werden kann. Weitere Informationen zum Arbeiten mit GeoFences in GeoEvent Processor finden Sie unter Verwalten von GeoFences.
![Eigenschaften des GeoTagger-Prozessors Eigenschaften des GeoTagger-Prozessors](0154/GUID-009B66A7-FC11-408B-A268-99DB74D349F1-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines GeoTagger-Prozessors sind vorstehend beschrieben.
Der Prozessor muss konfiguriert werden, um diejenigen GeoFences zu bestimmen, zu denen Ereignisse voraussichtlich eine räumliche Beziehung haben werden. Geben Sie eine Reihe von GeoFences an, indem Sie in das Feld GeoFence(s) im Eigenschaftendialogfeld einen einfachen regulären Ausdruck eingeben. In GeoEvent Processor können ein oder mehrere GeoFences aus einer oder mehreren Kategorien angegeben werden. Nehmen wir zum Beispiel an, es wurden mehrere GeoFences in eine Kategorie "Bundesländer" importiert. Ein GeoTagger-Prozessor könnte mit dem Ausdruck Bundesländer/.* konfiguriert werden, um anzuzeigen, dass jede benannte Fläche in der Kategorie "Bundesstaaten" zu berücksichtigen ist, wenn für ein empfangenes Ereignis nach dessen räumlicher Beziehung gesucht wird. Mit der Eingabe von .*/.* wird der Prozessor angewiesen, alle bekannten GeoFences in allen benannten Kategorien zu berücksichtigen.
Mit der Eigenschaft Räumlicher Operator wird die räumliche Beziehung angegeben, die ein Ereignisstandort für ein bestimmtes GeoFence haben sollte. Weitere Informationen über die verfügbaren räumlichen Beziehungen in GeoEvent Processor erfahren Sie im Thema Filter. Um die räumliche Beziehung eines Ereignisses zu einem GeoFence bestimmen zu können, muss das Ereignis ein Feld vom Typ "Geometrie" aufweisen. Die Eigenschaft GeoEvent-Geometriefeld akzeptiert entweder ein Tag (z. B. GEOMETRY, wie oben angegeben) oder den Namen eines bestimmten Felds in der GeoEvent-Definition.
Nach Bestätigung der räumlichen Beziehung für ein Ereignis kann der Name des GeoFence zwecks Anreicherung des Ereignisses an die Ereignisdaten angehängt werden. Der Name des vom Prozessor erstellten Feldes wird im Textfeld GeoTag-Feldname angegeben. Die Daten werden standardmäßig als kommagetrennte Liste an das Ereignis angehängt; diese Aktion wird von der Eigenschaft GeoTag-Format angegeben. Die Anreicherungsdaten können nur den GeoFence-Namen oder sowohl den GeoFence-Namen als auch die Kategorie enthalten. In der Eigenschaft Einbeziehen der GeoFence-Kategorie in ein GeoTag wird der Grad der Anreicherung angegeben.
Durch eine vom GeoTagger-Prozessor erfolgte Anreicherung ändert sich das Ereignisschema. GeoEvent Processor erstellt und verwaltet eine neue GeoEvent-Definition für das angereicherte Ereignis. Der Prozessor enthält ein Feld, das einen Namen enthalten kann, der vom GeoEvent-Prozessor für die zu erstellende resultierende GeoEvent-Definition verwendet werden soll.
Eine schrittweise Erklärung zur Verwendung eines GeoTagger-Prozessors finden Sie im Lernprogramm "Einführung in GeoEvent-Prozessor" auf der Seite Lernprogramme zu GeoEvent Processor.
Incident Detector
Der Incident Detector verwendet angegebene Attribut- und räumliche Bedingungen zum Auffinden und Melden von Ereignissen. In den Prozessor-Eigenschaften kann eine Öffnungs- und Schließungsbedingung angegeben werden, anhand derer ein Ereignis (Incident) eine Reihe von Ereignissen in einem bestimmten Zeitraum umfassen kann. Zum Beispiel könnte ein ereignisbasierter Datenstrom, der die Position und aktuelle Geschwindigkeit eines Fahrzeugs meldet, zur Erzeugung eines Ereignisses (Incident) verwendet werden, wenn das Fahrzeug eine bestimmte Geschwindigkeit überschreitet oder in ein gefährliches Gebiet fährt. Das Ereignis wird geschlossen, wenn das Fahrzeug eine sichere Geschwindigkeit aufnimmt oder das gefährliche Gebiet verlässt.
![Eigenschaften des Prozessors Incident Detector Eigenschaften des Prozessors Incident Detector](0154/GUID-BC233FE5-9EDC-4BFB-9881-F26BBCD84AEA-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Incident Detectors sind vorstehend beschrieben.
Die von einem Incident Detector generierten Ereignisse müssen mit einem Namen versehen werden, anhand dessen sich diese Ereignisse identifizieren lassen. Zum Beispiel könnte ein Incident Detector, der vor Fahrzeugen mit überhöhter Geschwindigkeit warnen soll, Raser genannt werden. Geben Sie den Namen, wie oben erläutert, in die Eigenschaft Ereignisname ein. Alle von Incident Detector generierten Ereignisse müssen eine Öffnungs- und eine Schließungsbedingung haben, die mithilfe eines Ausdruck-Generators erstellt werden.
![Hinweis Hinweis](rsrc/note.png)
Es muss eine Öffnungsbedingung angegeben werden. Wird keine Schließungsbedingung angegeben, wird die logische Negation der Öffnungsbedingung verwendet.
Zum Anzeigen einer bestimmten Schwere generierter Ereignisse kann ein Incident Detector verwendet werden. Es stehen die Ebenen Benachrichtigung, Warnung und Dringend zur Verfügung. Die von dem jeweiligen Prozessor ausgegebenen Ereignisse sind auf einen einzigen Schweregrad beschränkt; zur Änderung des den Ereignissen vom Prozessor zugewiesenen Schweregrads müssen der Prozessor bearbeitet und der GeoEvent-Service erneut veröffentlicht werden.
Der Typ eines von einem Incident Detector erstellten Ereignisses zählt ebenfalls zu den Eigenschaften des Prozessors. Es gibt zwei mögliche Typen von Ereignissen: PointInTime und Cumulative.
- PointInTime-Ereignisse (Zeitpunktereignisse) weisen keine Schließungsbedingung auf. Sie gelten als unmittelbar und werden daher sofort nach der Erstellung geschlossen; das Ereignis weist keine Dauer auf.
- Cumulative-Ereignisse besitzen sowohl eine Öffnungs- als auch eine Schließungsbedingung. Die Zeit, die zwischen der Erzeugung und des Ablaufs des Ereignisses verstreicht, ist die Ereignisdauer. Cumulative-Ereignisse werden vom GeoEvent Processor überwacht und aktualisiert, sobald zusätzliche Ereignisdaten eintreffen.
Jeder Incident Detector verfügt über einen bestimmten Geometry Type, der dem Ereignis zugeordnet wird, das er generiert. Die meisten Ereignisse und Ereignis-Updates sind einer Punktposition zu einem bestimmten Zeitpunkt zugeordnet, weshalb üblicherweise eine Punktgeometrie ausgewählt wird. Es werden aber auch die Geometrietypen MultiPoint und Polyline für erzeugte Ereignisse unterstützt.
Ein Anwendungsfall dafür wäre zum Beispiel, Ereignisse nach einer bestimmten Frist automatisch zu schließen. Durch die Konfiguration eines Incident Detectors mit Ablaufzeit kann GeoEvent Processor das Ereignis nach Ablauf einer bestimmten Zeitspanne automatisch schließen, selbst wenn die Schließungsbedingung des Ereignisses noch nicht erfüllt sein sollte. Bei der Ablaufzeit handelt es sich um einen in Sekunden ausgedrückten numerischen Wert; durch die Eingabe des Wertes Null wird das automatische Ablaufen von Ereignissen durch den Prozessor deaktiviert.
Die einzelnen Übungsschritte zur Konfiguration eines GeoTagger-Prozessors finden Sie im Lernprogramm "Einführung in GeoEvent Processor" auf der Seite Lernprogramme zu GeoEvent Processor.
Track Gap Detector
Der Track Gap Detector Processor wird verwendet, um das Nichtvorhandensein von Ereignissen zu erkennen. Wie der Incident Detector-Prozessor generiert der Track Gap Detector ein neues Ereignis, um zu melden, wenn Lücken in einem Ereignisdatenstrom erkannt werden. Der Prozessor kann so konfiguriert werden, dass entweder fortlaufende Benachrichtigungen während eines Zeitraums, in dem Ereignisse erwartet, aber nicht empfangen werden, generiert werden, oder dass eine einzige Benachrichtigung generiert wird, wenn eine Lücke erkannt wird, und dann ein zweites Ereignis, um zu melden, wenn der Prozessor wieder Ereignisse empfängt.
![Eigenschaften des Track Gap Detector Processor Eigenschaften des Track Gap Detector Processor](0154/GUID-30006AAC-512E-47EB-973E-39604BA0AA68-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines Track Gap Detector Processor sind vorstehend beschrieben.
Die Eigenschaft Gap Notification Mode gibt das oben erwähnte Benachrichtigungsverhalten an. Durch die Auswahl OnChange wird angegeben, dass ein einziges Ereignis vom Prozessor generiert werden soll, wenn eine Lücke erkannt wird, und ein zweites Ereignis, wenn der Prozessor wieder Ereignisse empfängt. Durch die Auswahl Continuous wird angegeben, dass in jedem Abfrageintervall während des Zeitraums, in dem der Prozessor keine neuen Ereignisse empfängt, ein Ereignis generiert werden soll.
Die Eigenschaft Gap Duration (seconds) gibt die Zeit (in Sekunden) an, die der Prozessor wartet, bevor festgestellt wird, dass eine Lücke im Eingabedatenverkehrsfluss auftritt. Mithilfe des oben beschriebenen Wertes würde der Prozessor nur feststellen, dass eine Lücke vorhanden ist, wenn mindestens 300 Sekunden seit dem letzten Eingang eines Ereignisses beim Prozessor verstrichen sind.
Die Eigenschaft Gap Detection Interval (seconds) gibt das Abfrageintervall des Prozessors an. Mithilfe des oben beschriebenen Wertes würde der Prozessor alle 120 Sekunden eine Prüfung durchführen, um festzustellen, ob eine Lücke von 300 Sekunden oder mehr seit dem letzten Eingang eines Ereignisses beim Prozessor besteht. Das Abfrageintervall steuert auch, wie oft Benachrichtigungsereignisse generiert werden, wenn für Gap Notification Mode der Benachrichtigungsmodus Continuous festgelegt wurde. Beim Benachrichtigungsmodus OnChange wird nur ein Ereignis gesendet, wenn der Prozessor eine Abfrage tätigt und feststellt, dass ein Ereignisdatenverkehrsstrom beendet wurde (wenn der Prozessor zuvor Ereignisse empfangen hat) und umgekehrt, sobald der Prozessor eine Lücke erkannt hat und dann eine Abfrage tätigt und feststellt, dass wieder Ereignisse empfangen werden.
Die Eigenschaft Geometry Field Name gibt den Namen des Ereignisfeldes an, in dem eine Geometrie erwartet wird. Die letzte empfangene Geometrie wird an die vom Prozessor generierten Benachrichtigungsereignisse angehängt. Wenn beispielsweise von einem Ereignisdatenverkehrsstrom die Position von Fahrzeugen gemeldet wird und im Prozessor die Abfrage alle 30 Sekunden konfiguriert war, um zu bestimmen, ob eine Lücke von mindestens 120 Sekunden seit dem zuletzt empfangenen Fahrzeugbericht besteht, kann der Prozessor so konfiguriert werden, dass der zuletzt gemeldete Fahrzeugstandort mit der Lückenbenachrichtigung hinzugefügt wird.
No Operation
Ein No Operation-Prozessor hat auf eingehende GeoEvents keinen Einfluss und führt keinerlei Aktionen aus. Ereignisse durchlaufen den No Operation-Prozessor, als ob er nicht vorhanden wäre.
![Eigenschaften des No Operation-Prozessors Eigenschaften des No Operation-Prozessors](0154/GUID-0DB2DE40-D91D-4C51-BC9E-9DF3E491DED4-web.png)
Bei der Konfiguration eines Prozessors ist ein Name anzugeben. Bei dem Namen ist die Groß- und Kleinschreibung zu beachten. Er dient der eindeutigen Identifizierung des Prozessors in einem GeoEvent-Service. Der zu konfigurierende Prozessortyp wird mithilfe des Dropdown-Pfeils Prozessor angegeben; die Eigenschaften eines No Operation-Prozessors sind vorstehend beschrieben. Für diesen Prozessortyp müssen keine weiteren Eigenschaften konfiguriert werden.
Ein No Operation-Prozessor lässt sich beispielsweise nutzen, um in einem GeoEvent-Service eine Stub- oder NoOp-Komponente als Platzhalter einzufügen. Dieser No Operation-Prozessor könnte später durch einen anderen Prozessor ersetzt werden, um sich zunächst dem Erstellen und Testen anderer Elemente des GeoEvent-Service widmen zu können.
Ein No Operation-Prozessor kann sich auch in anderen Szenarien als nützlich erweisen. Dazu gehören:
- Problembehandlung für einen veröffentlichten GeoEvent-Service, der nicht wie erwartet funktioniert. Mit der Konfiguration eines No Operation-Prozessors, der keinerlei Vorgänge ausführt, lässt sich dieser aus dem GeoEvent-Service entfernen, ohne dass der Arbeitsablauf des Service neu erstellt werden muss.
- Der Entwurf von Arbeitsabläufen für die Filterung und Verarbeitung von Ereignissen eines GeoEvent-Service vor der Entwicklung wurde für eine oder mehrere Komponenten abgeschlossen. Nach Abschluss der Entwicklung etwaiger abhängiger Komponenten lässt sich ein No Operation-Prozessor zu einem anderen Prozessor umkonfigurieren.
- Ein Beispiel zur Veranschaulichung der vorübergehenden Abschaltung der Verarbeitung durch bestimmte Komponenten eines GeoEvent-Service. Durch die Konfiguration eines vorhandenen Prozessors als No Operation-Prozessor und erneute Veröffentlichung des GeoEvent Service kann die Verarbeitung von Ereignissen durch GeoEvent Processor hervorgehoben werden.