Processeurs

Les processeurs sont des composants d'un service GeoEvent qui effectuent des actions spécifiques sur les événements géographiques, telles que l'identification ou l'enrichissement, lors de leur acheminement entre les entrées et les sorties.

Processeur GeoEvent comprend les processeurs suivants :

Field Calculator

Un processeur Field Calculator (calculatrice de valeurs de champs) écrit une valeur calculée dans un champ existant ou un nouveau champ créé par le processeur. Le processeur utilise les valeurs extraites des champs de l'événement actuel et les valeurs constantes comprises dans la configuration du processeur afin de procéder à ses calculs. La calculatrice de valeurs de champs peut évaluer des expressions mathématiques et réassocier des valeurs de chaîne pour produire des données d'événement dérivées. Elle peut également écrire des valeurs constantes afin d'enrichir ou d'affiner des données d'événement.

Les calculs effectués avec un processeur Field Calculator peuvent être mathématiques ou lexicaux (reposant sur des chaînes plutôt que sur des valeurs numériques). Lorsqu'une valeur calculée est écrite dans un champ existant, elle remplace la valeur du champ actuel au sein de l'événement en cours de traitement. Le processeur tente de convertir la valeur calculée afin qu'elle corresponde au type de données du champ existant. Une valeur Null est écrite en cas d'échec de la conversion du type de données.

Propriétés d'un champ existant du processeur Field Calculator.

L'écriture d'une valeur calculée dans un nouveau champ modifie la structure d'un événement et Processeur GeoEvent doit créer une nouvelle définition GeoEvent que le système gérera. Lorsque vous utilisez le processeur pour créer de nouveaux champs, vous devez indiquer un nom de champ et un type de données. Vous pouvez également attribuer un nom à la définition GeoEvent, ainsi qu'une balise facultative, pour les appliquer au nouveau champ.

Propriétés d'un nouveau champ du processeur Field Calculator.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Calculator sont illustrées ci-dessus.

Le processeur Field Calculator prend en charge les expressions mathématiques générales, lexicales et logiques. Les opérandes au sein d'une expression peuvent être des noms de champs littéraux issus de la définition GeoEvent ou des balises ayant été appliquées aux champs au sein de la définition GeoEvent. Par exemple, l'expression Odom1 + Odom2 peut permettre d'ajouter les valeurs dans les champs nommés Odom1 et Odom2 pour produire une somme simple. Si la balise MILEAGEA a été attribuée au champ Odom1 et que la balise MILEAGEB a été attribuée au champ Odom2, l'expression MILEAGEA + MILEAGEB peut être utilisée.

Les opérateurs et les fonctions pris en charge par le processeur Field Calculator sont illustrés ci-dessous.

Opération Opérateur Exemple

Addition

+
Odom1 + Odom2

L'expression ajoute les valeurs numériques des champs Odom1 et Odom2 pour produire une somme simple. La concaténation de chaînes (par exemple, "Hello" + "World") est également prise en charge.

Soustraction

-
VALUEA - VALUEB

L'expression soustrait les valeurs numériques trouvées dans les champs portant les balises VALUEA et VALUEB pour produire une différence simple.

Contrairement à l'addition, qui prend en charge la concaténation de chaînes, vous ne pouvez pas utiliser la soustraction pour calculer la différence entre deux chaînes.

Multiplication

*
Altitude * 0.3048

L'expression multiplie la valeur numérique dans le champ nommé Altitude par la constante 0.3048 pour générer un produit simple (dans ce cas, il s'agit de la conversion d'une valeur en pieds dans une valeur équivalente en mètres).

Division

/
Distance / 1.609344

L'expression divise la valeur numérique dans le champ nommé Distance par la constante 1.609344 pour générer un quotient simple (dans ce cas, il s'agit de la conversion d'une valeur en kilomètres dans une valeur équivalente en miles).

Modulo

%
VALUEA % VALUEB

L'expression divise la valeur numérique du champ portant la balise VALUEA par la valeur numérique du champ portant la balise VALUEB et renvoie le reste sous forme de valeur double.

Opérateur logique ET

&&
Flag1 && Flag2

L'expression réalise une opération logique ET sur les valeurs booléennes des champs Flag1 et Flag2 pour produire un résultat booléen. Les champs en entrée doivent être de type booléen. Les chaînes littérales (par exemple, "TRUE") et les valeurs constantes (par exemple, 1) dans une expression ne seront pas converties en valeurs booléennes équivalentes dans le cadre de l'évaluation.

Opérateur logique OU

||
Flag1 || Flag2

L'expression réalise une opération logique OU sur les valeurs booléennes des champs Flag1 et Flag2 pour produire un résultat booléen.

Opérateur logique NON

!
!(Flag1)

L'expression réalise une négation logique sur la valeur booléenne du champ Flag1 pour produire un résultat booléen. Les expressions imbriquées, telles que !(Flag1 && Flag2), sont prises en charge.

Supérieur à

>
Altitude > 12500

L'expression effectue une évaluation logique pour déterminer si la valeur dans le champ nommé Altitude est supérieure à la constante spécifiée (le résultat est une valeur booléenne).

Supérieur ou égal à

>=
Altitude >= 12500

L'expression effectue une évaluation logique pour déterminer si la valeur dans le champ nommé Altitude est supérieure ou égale à la constante spécifiée (le résultat est une valeur booléenne).

Inférieur à

<
Altitude < 1500

L'expression effectue une évaluation logique pour déterminer si la valeur dans le champ nommé Altitude est inférieure à la constante spécifiée (le résultat est une valeur booléenne).

Inférieur ou égal à

<=
Altitude <= 1500

L'expression effectue une évaluation logique pour déterminer si la valeur dans le champ nommé Altitude est inférieure ou égale à la constante spécifiée (le résultat est une valeur booléenne).

Egalité

==
VALUEA == VALUEB

L'expression effectue une évaluation logique pour déterminer si les valeurs trouvées dans les champs portant les balises VALUEA et VALUEB sont équivalentes (le résultat est une valeur booléenne). L'équivalence n'est prise en charge que pour les types numériques avec la version du produit initial (10.2.0).

Inégalité

!=
VALUEA != VALUEB

L'expression effectue une évaluation logique pour déterminer si les valeurs trouvées dans les champs portant les balises VALUEA and VALUEB sont inégales (le résultat est une valeur booléenne). L'inégalité n'est prise en charge que pour les types numériques avec la version du produit initial (10.2.0).

Opérateurs et fonctions pris en charge par le processeur Field Calculator
RemarqueRemarque :
Le processeur Field Calculator essaiera de convertir automatiquement les valeurs lorsqu'elles sont présentées avec des types mixtes. Par exemple, l'expression 10,0 + 5 serait convertie automatiquement pour traiter la somme comme l'addition de deux valeurs à virgule flottante. La combinaison de valeurs numériques et de valeurs de chaîne, telle que codeValue + "ChaîneQuelconque", où codeValue est une valeur numérique, donnera un résultat non spécifié. L'approche appropriée consisterait à convertir explicitement codeValue en chaîne à l'aide d'une fonction de chaîne telle que valueOf(object), décrite ci-dessous.
RemarqueRemarque :

Les opérateurs d'égalité et d'inégalité du processeur Field Calculator ne doivent pas être appliqués directement aux valeurs à virgule flottante. Pour déterminer si deux valeurs décimales sont égales, vous devez d'abord adapter les valeurs, arrondir les valeurs aux entiers longs, puis comparer les valeurs des entiers longs.

Le processeur Field Calculator inclut des fonctions qui reflètent celles présentes dans java.lang.Math. Pour connaître les spécifications techniques complètes et la liste des fonctions, reportez-vous à la documentation pour les développeurs Java. Vous trouverez ci-dessous un résumé des fonctions les plus connues.

Constantes
Fonction Description

E()

Renvoie un nombre d'Euler (e) élevé à la puissance de la valeur double spécifiée.

PI()

Renvoie une représentation double de pi (le rapport entre la circonférence d'un cercle et son diamètre).

Constantes du processeur Field Calculator

Fonctions communes

Fonction Description

abs(value)

Renvoie la valeur absolue de l'argument.

ceil(double)

Renvoie le plafond (prochain entier le plus élevé) de la valeur double spécifiée.

floor(double)

Renvoie le plancher (prochain entier le plus petit) de la valeur double spécifiée.

hypot(double x, double y)

Renvoie sqrt((x*x) + (y*y)) sans dépassement positif ou négatif intermédiaire.

max(value a, value b)

Renvoie la plus élevée des deux valeurs d'argument spécifiées.

min(value a, value b)

Renvoie la plus petite des deux valeurs d'argument spécifiées.

random()

Renvoie une valeur double supérieure ou égale à 0,0 et inférieure ou égale à 1,0.

round(value)

Renvoie la valeur longue la plus proche de l'argument (étant donné une valeur double).

Fonctions communes du processeur Field Calculator
RemarqueRemarque :

Un processeur Field Calculator gère des conversions de type numérique lorsque cela est possible. Par exemple, si différents types numériques sont fournis dans une fonction (par exemple, max(3.14159,25)), les valeurs sont redéfinies en types comparables (entier, réel simple ou double) afin d'effectuer la comparaison. Le processeur redéfinit également les valeurs calculées lorsqu'il écrit les valeurs dans le champ attributaire d'un événement (par exemple, 6 + 7 sera écrit sous la forme 13.0 lorsque le champ de l'événement est de type double).

Exponentiels

Fonction

Description

sqrt(double)

Renvoie la racine carrée de la valeur double spécifiée.

cbrt(value)

Renvoie la racine cubique de la valeur double spécifiée.

exp(double)

Renvoie un nombre d'Euler (e) élevé à la puissance de la valeur double spécifiée.

pow(double, double)

Renvoie la valeur du premier argument, élevée à la puissance du deuxième argument.

Exponentiels du processeur Field Calculator

Logarithmes

Fonction

Description

log(double)

Renvoie le logarithme naturel (base e) d'une valeur double.

log10(double)

Renvoie le logarithme décimal d'une valeur double.

Logarithmes du processeur Field Calculator

Fonctions de chaîne

Fonction

Description

int length(source)

Renvoie la longueur de la chaîne.

boolean isEmpty(source)

Renvoie true si la longueur de la source est 0.

boolean isNull(source)

Renvoie true si la valeur de la source est Null.

boolean equals(source, Object anObject)

Compare la chaîne source à l'objet spécifié. Renvoie true si l'objet spécifié représente une chaîne équivalente à la chaîne source, et false dans le cas contraire.

boolean equalsIgnore(source, String anotherString)

Compare la chaîne source à une autre chaîne, sans tenir compte de la casse. Deux chaînes sont considérées égales, sans tenir compte de la casse, si elles sont de même longueur et que les caractères correspondants dans les deux chaînes sont égaux, sans tenir compte de la casse. Renvoie true si l'argument n'a pas la valeur Null et représente une chaîne équivalente, sans tenir compte de la casse, et false dans le cas contraire.

int compareTo(source, String prefix)

Compare lexicographiquement deux chaînes. Renvoie la valeur 0 si l'argument de chaîne est égal à la chaîne source, une valeur inférieure à 0 si la chaîne source est lexicographiquement inférieure à l'argument de chaîne, et une valeur supérieure à 0 si la chaîne source est lexicographiquement supérieure à l'argument de chaîne.

int compareToIgnore(source, String str)

Compare lexicographiquement deux chaînes sans tenir compte des différences de casse. Renvoie un entier négatif, zéro ou un entier positif si la chaîne spécifiée est supérieure, égale ou inférieure à la chaîne source, sans tenir compte de la casse.

boolean startsWith(source, String prefix)

Teste si la chaîne source commence par le préfixe spécifié. Renvoie true si la séquence de caractères représentée par l'argument de préfixe est un préfixe de la séquence de caractères représentée par la chaîne source, et false dans le cas contraire.

boolean endsWith(source, String suffix)

Teste si la chaîne source finit par le suffixe spécifié. Renvoie true si la séquence de caractères représentée par l'argument de suffixe est un suffixe de la séquence de caractères représentée par l'objet source, et false dans le cas contraire.

int indexOf(source, String str)

Renvoie l'index dans la chaîne source de la première occurrence de la sous-chaîne spécifiée. Si l'argument de chaîne apparaît en tant que sous-chaîne dans l'objet source, l'index du premier caractère de la première sous-chaîne de ce type est renvoyé ; s'il n'apparaît pas en tant que sous-chaîne, la valeur -1 est renvoyée.

int indexOf(source, String str, int fromIndex)

Renvoie l'index dans la chaîne source de la première occurrence de la sous-chaîne spécifiée, en commençant à l'index spécifié. Renvoie l'index dans la chaîne source de la première occurrence de la sous-chaîne spécifiée, en commençant à l'index spécifié.

int lastIndexOf(source, String str)

Renvoie l'index dans la chaîne source de l'occurrence la plus à droite de la sous-chaîne spécifiée. Si l'argument de chaîne apparaît une ou plusieurs fois en tant que sous-chaîne dans l'objet source, l'index du premier caractère de la dernière de ces sous-chaînes est renvoyé. S'il n'apparaît pas en tant que sous-chaîne, la valeur -1 est renvoyée.

int lastIndexOf(source, String str, int fromIndex)

Renvoie l'index dans la chaîne source de la dernière occurrence de la sous-chaîne spécifiée, en recherchant en arrière et en commençant à l'index spécifié. Renvoie l'index dans la chaîne source de la dernière occurrence de la sous-chaîne spécifiée.

String substring(int beginIndex)

Renvoie une nouvelle chaîne qui est une sous-chaîne de la chaîne source. La sous-chaîne commence par le caractère à l'index spécifié et s'étend jusqu'à la fin de la chaîne source.

String substring(source, int beginIndex, int endIndex)

Renvoie une nouvelle chaîne qui est une sous-chaîne de la chaîne source. La sous-chaîne commence par le caractère à l'index de début spécifié (beginIndex) et s'étend jusqu'au caractère à l'index endIndex – 1.

String concat(source, String str)

Concatène la chaîne spécifiée à la fin de la chaîne source.

boolean matches(source, String regex)

Indique si la chaîne source correspond à l'expression régulière donnée. Renvoie seulement si la chaîne source correspond à l'expression régulière donnée.

boolean contains (CharSequence s)

Renvoie true seulement si la chaîne source contient la séquence spécifiée de valeurs char. Renvoie true si la chaîne source contient s, et false dans le cas contraire.

String replaceFirst(source, String regex, String replacement)

Remplace la première sous-chaîne de la chaîne source qui correspond à l'expression régulière donnée par la chaîne de remplacement donnée. Renvoie la chaîne obtenue.

String replaceAll(source, String regex, String replacement)

Remplace chaque sous-chaîne de la chaîne source qui correspond à l'expression régulière donnée par la chaîne de remplacement donnée. Renvoie la chaîne obtenue.

String replace(source, CharSequence target, CharSequence replacement)

Remplace chaque sous-chaîne de la chaîne source qui correspond à la séquence littérale cible par la séquence littérale de remplacement donnée. Le remplacement s'effectue du début de la chaîne vers la fin. Renvoie la chaîne obtenue.

String toLowerCase(source)

Convertit tous les caractères dans la chaîne source enminuscules en utilisant les règles des paramètres régionaux par défaut. Renvoie la chaîne, convertie en minuscules.

String toUpperCase(source)

Convertit tous les caractères dans la chaîne source enmajuscules en utilisant les règles des paramètres régionaux par défaut. Renvoie la chaîne, convertie en majuscules.

String trim(source)

Renvoie une copie de la chaîne source, avec les espaces omis à la fin et au début.

String valueOf(Object obj)

Renvoie la représentation de chaîne de l'argument Object.

Fonctions de chaîne du processeur Field Calculator

Fonctions trigonométriques

Fonction

Description

acos(double)

Renvoie l'arc cosinus d'une valeur (l'angle renvoyé est compris entre 0,0 et pi).

asin(double)

Renvoie l'arc sinus d'une valeur (l'angle renvoyé est compris entre –pi/2 et pi/2).

atan(double)

Renvoie l'arc tangente d'une valeur (l'angle renvoyé est compris entre –pi/2 et pi/2).

atax2(double y, double x)

Renvoie l'angle thêta de la conversion des coordonnées rectangulaires (x, y) en coordonnées polaires (r, thêta).

cos(double)

Renvoie le cosinus trigonométrique d'un angle.

cosh(double)

Renvoie le cosinus hyperbolique d'une valeur double.

sin(double)

Renvoie le sinus trigonométrique d'un angle.

sinh(double)

Renvoie le sinus hyperbolique d'une valeur double.

tan(double)

Renvoie la tangente trigonométrique d'un angle.

tanh(double)

Renvoie la tangente hyperbolique d'une valeur double.

toDegrees(double)

Convertit un angle mesuré en radians en un angle approximatif en degrés.

toRadians(double)

Convertit un angle mesuré en degrés en un angle approximatif en radians.

Fonctions trigonométriques du processeur Field Calculator

Field Calculator (Regular Expression)

Le processeur Field Calculator (Regular Expression) permet d'utiliser des expressions régulières pour trouver un modèle au sein d'un champ cible. Le modèle d'expression régulière correspondant peut constituer un outil puissant de calcul et de création des valeurs dérivées qui découlent des données attributaires reçues d'un événement. Le processeur Field Calculator (Regular Expression) ne prend pas en charge les expressions mathématiques générales, lexicales et logiques prises en charge par le processeur Field Calculator classique.

Propriétés de champ du processeur Field Calculator (Regular Expression).

L'écriture d'une valeur calculée dans un nouveau champ modifie la structure d'un événement et Processeur GeoEvent doit créer une nouvelle définition GeoEvent que le système gérera. Lorsque vous utilisez le processeur pour créer de nouveaux champs, vous devez indiquer un nom de champ et un type de données. Vous pouvez également attribuer un nom à la définition GeoEvent, ainsi qu'une balise facultative, pour les appliquer au nouveau champ.

Propriétés d'un nouveau champ du processeur Field Calculator (Regular Expression).

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Calculator (Regular Expression) sont illustrées ci-dessus.

Le processeur Field Calculator (Regular Expression) permet généralement d'identifier et d'extraire des sous-chaînes au sein d'un champ cible. Les sous-chaînes extraites sont ensuite réécrites dans le champ cible, remplaçant ainsi la valeur originale du champ, ou écrites dans un nouveau champ.

Le processeur prend en charge une vaste gamme d'expressions régulières. Un processeur de ce type peut être configuré avec une expression régulière pour extraire la portion numérique d'un ID de vol et écrire la valeur dans un nouveau champ Numéro de vol. Vous trouverez une illustration détaillée de ce sujet dans le didacticiel Présentation de Processeur GeoEvent, disponible dans la page des didacticiels GeoEvent Processor.

RemarqueRemarque :

Le processeur Field Calculator (Regular Expression) ne permet pas les rétro-références au sein du modèle d'expression régulière spécifié.

Field Enricher (Feature Service)

Le processeur Field Enricher (Feature Service) permet d'enrichir les données d'événement en copiant les informations attributaires d'une couche d'entités ou d'une table non spatiale d'un service d'entités publié sur l'événement en cours de traitement. Ceci équivaut à une opération de jointure.

Propriétés du processeur Field Enricher (Feature Service).

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Enricher (Feature Service) sont illustrées ci-dessus.

Un processeur Field Enricher (Feature Service) doit être configuré avec les informations requises pour identifier et utiliser un service d'entités afin d'enrichir l'événement. Les informations incluent la connexion ArcGIS Server, le dossier du service, le nom du service d'entités et la couche cible au sein du service d'entités.

Le processeur doit être configuré avec le nom de champ que le service d'entités a en commun avec l'événement en cours d'enrichissement, ainsi que le nom de champ de la structure de l'événement sur laquelle la jointure doit être réalisée. Le nom de champ du service d'entités est saisi dans la zone de texte Feature Layer Join Field (Champ de jointure de la couche d'entités) dans l'illustration ci-dessus. La zone de texte GeoEvent Join Field (Champ de jointure des événements géographiques) accepte une balise qui a été appliquée dans la définition GeoEvent de l'événement (par exemple, TRACK_ID comme illustré ci-dessus) ou le nom d'un champ spécifique issu de la structure de l'événement.

Indiquez les noms des champs à copier dans la table de la couche d'entités en cliquant sur le bouton Sélectionner les champs pour la propriété Champs d'enrichissement. Vous pouvez également spécifier les balises que Processeur GeoEvent doit appliquer à chaque nouveau champ créé sous forme de liste de valeurs séparées par une virgule.

L'enrichissement d'un événement copie les données d'un ou de plusieurs champs d'un service d'entités et ajoute les champs sous forme de nouvelles données à l'événement en cours de traitement. Ceci modifie la structure de l'événement et Processeur GeoEvent doit créer une nouvelle définition GeoEvent que le système gérera. Comme les noms des champs ont été spécifiés et que les types de données des champs du service d'entités seront réutilisés, les types de données ne sont pas précisés lors de la configuration du processeur. Indiquez le nom que Processeur GeoEvent doit utiliser pour la définition GeoEvent qu'il va créer.

Une illustration détaillée de l'utilisation d'un processeur Field Enricher (Feature Service) pour joindre des données d'événement aux données d'un service d'entités est proposée dans les exercices du didacticiel Présentation de Processeur GeoEvent, disponible sur la page des didacticiels GeoEvent Processor.

Field Enricher (File)

Le processeur Field Enricher (File) permet d'enrichir les données d'événement en copiant les informations attributaires d'un fichier système sur un événement en cours de traitement. Il ressemble au processeur Field Enricher (Feature Service), à ceci près que la source d'enrichissement est un fichier système et non un service d'entités.

Propriétés du processeur Field Enricher (File).

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Enricher (File) sont illustrées ci-dessus.

Le dossier système contenant le fichier à utiliser comme source des données d'enrichissement doit être identifié. Le dossier système doit être enregistré avec Processeur GeoEvent comme stockage des données avant de configurer le processeur. Le nom de fichier n'est pas un élément enregistrable. Un nom de fichier doit être spécifié et Processeur GeoEvent recherche un fichier portant ce nom dans le stockage des données enregistré.

Le processeur doit être configuré avec le nom de champ que le fichier système a en commun avec l'événement en cours d'enrichissement, ainsi que le nom de champ de la structure de l'événement sur laquelle la jointure doit être réalisée. Ce nom de champ issu de la table de données du fichier système est saisi dans la zone de texte File Join Field (Champ de jointure du fichier) dans l'illustration ci-dessus. La zone de texte GeoEvent Join Field (Champ de jointure des événements géographiques) accepte une balise qui a été appliquée au sein de la définition GeoEvent de l'événement (par exemple, TRACK_ID comme illustré ci-dessus) ou le nom d'un champ spécifique issu de la structure de l'événement.

Indiquez les noms des champs à copier dans la table de la couche d'entités en les séparant par une virgule dans la propriété Enrichment Fields (Champs d'enrichissement). Vous pouvez également spécifier les balises que Processeur GeoEvent doit appliquer à chaque nouveau champ créé sous forme de liste de valeurs séparées par une virgule.

L'enrichissement d'un événement copie les données d'un ou de plusieurs champs d'un fichier système et ajoute les champs sous forme de nouvelles données à l'événement en cours de traitement. Ceci modifie la structure de l'événement et Processeur GeoEvent doit créer une nouvelle définition GeoEvent que le système gérera. Comme les noms des champs ont été spécifiés et que les types de données des champs sont indiqués au sein du fichier système, les types de données ne sont pas précisés lors de la configuration du processeur. Indiquez le nom que Processeur GeoEvent doit utiliser pour la définition GeoEvent qu'il va créer.

Une illustration détaillée de l'utilisation d'un processeur Field Enricher (File) pour joindre des données d'événement aux données d'un fichier système est proposée dans les exercices du didacticiel Présentation de GeoEvent Processor, disponible sur la page des didacticiels GeoEvent Processor.

RemarqueRemarque :

Lorsque vous utilisez un fichier texte comme source d'enrichissement, le fichier doit suivre le format illustré ci-dessous. En particulier, la première ligne du fichier doit identifier les noms de champs en tant que valeurs séparées par une virgule. La deuxième ligne doit spécifier le type de données de chaque champ. Les valeurs de données du fichier sont saisies à partir de la troisième ligne du fichier.

Field Mapper

Le processeur Field Mapper prend en charge l'alignement des données. Chaque événement géographique au sein de GeoEvent Processor est associé à une structure qui identifie les champs attributaires et les types de données (date, chaîne, entier et ainsi de suite) des données de chaque événement. Cette structure est désignée sous le nom de définition GeoEvent. Une définition GeoEvent d'un flux de données en entrée en particulier peut contenir des champs dont les noms ne correspondent pas à la structure d'un service d'entités publié devant être mis à jour par Processeur GeoEvent. Dans un tel cas, vous devez utiliser un processeur Field Mapper pour apparier les champs de la structure en entrée et aligner les données sur la structure en sortie.

Propriétés du processeur Field Mapper.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Mapper sont illustrées ci-dessus.

Définissez les définitions GeoEvent source et cible en sélectionnant les propriétés respectives. La boîte de dialogue des propriétés répertorie les champs cible des définitions GeoEvent, ce qui permet de sélectionner dans les champs source le champ qui doit être apparié à la cible. Le type de données du champ cible est répertorié afin d'identifier les données les plus appropriées pour l'appariement entre la définition GeoEvent source et la définition GeoEvent cible.

RemarqueRemarque :

Dans l'illustration ci-dessus, <Field Name> apparaît en remplacement des noms de champs réels d'une définition GeoEvent cible. La liste réelle des noms de champs et des types de données dépend de la définition GeoEvent sélectionnée comme définition GeoEvent cible.

Un processeur Field Mapper permet de réduire le nombre de champs attributaires acheminés depuis une entrée vers une sortie, car seuls les champs sélectionnés dans une définition GeoEvent source seront appariés aux champs d'une définition GeoEvent cible. Ceci peut être utile lorsqu'un flux de données en entrée contient un grand nombre de valeurs attributaires pouvant ne présenter que peu d'intérêt. Un processeur Field Mapper peut également servir à gérer la conversion des types de données lorsque les données d'événement d'une entrée ne correspondent pas aux types de données d'une définition GeoEvent en sortie. Par exemple, des données numériques entières peuvent être converties en représentation double ou des données numériques en représentation de chaîne. Ceci aligne les données en entrée sur la définition GeoEvent en sortie requise.

Le processeur Field Mapper doit également être utilisé lorsqu'une structure de données doit être mise à plat. Les flux de données temps réel représentent parfois les données attributaires non comme un type de données discrètes, mais comme un groupe de plusieurs valeurs attributaires de différents types. Une telle structure de données hiérarchique ne peut pas être utilisée pour mettre à jour un service d'entités publié, par exemple, sans d'abord apparier les éléments individuels du groupe à des champs discrets d'une définition GeoEvent en sortie qui correspond à la structure du service d'entités publié.

Field Reducer

Chaque événement géographique au sein de GeoEvent Processor est associé à une structure qui identifie les champs attributaires et les types de données (date, chaîne, entier et ainsi de suite) des données de chaque événement. Cette structure est désignée sous le nom de définition GeoEvent. Un processeur Field Reducer prend en charge l'affinage d'une structure de données en supprimant les attributs indésirables d'un événement et en autorisant l'acheminement d'une version simplifiée de l'événement pour compléter le traitement ou la sortie.

Propriétés du processeur Field Reducer.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Field Reducer sont illustrées ci-dessus.

La définition GeoEvent des événements reçus par le processeur indique les noms de champs et les types de données de l'événement reçu. Par conséquent, seuls les champs à supprimer de l'événement reçu doivent être spécifiés sous forme d'une liste de champs séparés par une virgule. La liste des champs à supprimer est saisie dans la propriété Fields to Remove (Champs à supprimer), comme présenté dans l'illustration ci-dessus.

La modification des données d'événement par la suppression des champs attributaires modifie la structure de l'événement, ce qui entraîne Processeur GeoEvent à créer et gérer une nouvelle définition GeoEvent pour l'événement simplifié. Dans la boîte de dialogue des propriétés, indiquez le nom que Processeur GeoEvent doit utiliser pour la définition GeoEvent qu'il va créer.

GeoTagger

Un processeur GeoTagger prend en charge l'enrichissement des événements en ajoutant des informations sur les barrières géographiques avec lesquelles un événement entretient une relation spatiale. Par exemple, si un événement se trouve au sein d'une zone d'intérêt connue, la catégorie et le nom de la barrière géographique dans laquelle il réside peuvent être ajoutés à l'événement sous forme de nouvelles valeurs attributaires. Ceci enrichit l'événement par des informations sur sa relation spatiale avec une zone d'intérêt à un moment donné dans le temps.

RemarqueRemarque :

Les barrières géographiques doivent être importées dans Processeur GeoEvent à partir d'un service d'entités avant de configurer un processeur GeoTagger. Pour en savoir plus sur l'utilisation des barrières géographiques dans Processeur GeoEvent, reportez-vous à la rubrique Gestion des barrières géographiques.

Propriétés du processeur GeoTagger.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur GeoTagger sont illustrées ci-dessus.

Le processeur doit être configuré pour identifier les barrières géographiques avec lesquelles les événements sont supposés entretenir une relation spatiale. Indiquez un ensemble de barrières géographiques en saisissant une expression régulière simple dans le champ GeoFence(s) (Barrière(s) géographique(s)) de la boîte de dialogue des propriétés, comme illustré ci-dessus. Vous pouvez spécifier une ou plusieurs barrières géographiques au sein d'une ou plusieurs catégories dans Processeur GeoEvent. Supposons par exemple que plusieurs barrières géographiques ont été importées dans une catégorie States. Un processeur GeoTagger peut être configuré avec l'expression States/.* pour indiquer que n'importe quelle zone nommée au sein de la catégorie States doit être prise en compte lors de la recherche d'une relation spatiale pour un événement reçu. Si vous saisissez .*/.*, le processeur prendra en considération toutes les barrières géographiques connues dans n'importe quelle catégorie nommée.

La propriété Spatial Operator (Opérateur spatial) indique la relation spatiale qu'une localisation d'événement doit entretenir avec une barrière géographique donnée. Reportez-vous à la rubrique Filtres pour en savoir plus sur les relations spatiales disponibles dans Processeur GeoEvent. Pour déterminer la relation spatiale d'un événement avec une barrière géographique, l'événement doit avoir un champ de type Géométrie. La propriété GeoEvent Geometry Field (Champ Géométrie des événements géographiques) accepte une balise (par exemple, GEOMETRY comme illustré ci-dessus) ou le nom d'un champ spécifique dans la définition GeoEvent.

Une fois qu'une relation spatiale a été confirmée pour un événement, le nom de la barrière géographique peut être ajouté aux données de l'événement afin d'enrichir l'événement. Le nom du champ que le processeur va créer est spécifié dans la zone de texte GeoTag Field Name (Nom de champ des balises géographiques). L'action par défaut consiste à ajouter les données à l'événement sous forme de liste de valeurs séparées par une virgule. Cette action est spécifiée par la propriété GeoTag Format (Format des balises géographiques). Les données d'enrichissement peuvent inclure le nom de la barrière géographique ou le nom et la catégorie de la barrière géographique. La propriété Include GeoFence Category in GeoTag (Inclure la catégorie des barrières géographiques dans la balise géographique) indique le niveau d'enrichissement.

L'enrichissement réalisé par le processeur GeoTagger modifie la structure d'un événement. Processeur GeoEvent va créer et gérer une nouvelle définition GeoEvent pour l'événement enrichi. Le processeur inclut un champ qui peut fournir le nom que le processeur GeoEvent doit utiliser pour la définition GeoEvent qu'il va créer.

Vous trouverez une illustration détaillée de l'utilisation du processeur GeoTagger dans le didacticiel Présentation de GeoEvent Processor, disponible dans la page des didacticiels GeoEvent Processor.

Incident Detector

Le processeur Incident Detector utilise les conditions attributaires et spatiales spécifiées pour détecter et signaler les incidents. Dans les propriétés du processeur, il est possible de préciser une condition d'ouverture et de fermeture autorisant un incident à couvrir une série d'événements sur une période donnée. Par exemple, un flux de données basé sur des événements qui signale la position d'un véhicule et sa vitesse actuelle peut servir à générer un incident lorsque le véhicule dépasse une certaine vitesse ou pénètre dans une zone dangereuse. L'incident est clos lorsque le véhicule reprend une vitesse normale ou quitte la zone dangereuse.

Propriétés du processeur Incident Detector.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur Incident Detector sont illustrées ci-dessus.

Les incidents générés par un processeur Incident Detector doivent posséder un nom en fonction duquel identifier les incidents créés. Par exemple, vous pouvez nommer ExcèsVitesse un processeur Incident Detector destiné à avertir en cas de véhicule en excès de vitesse. Entrez le nom dans la propriété Incident Name (Nom de l'incident), comme illustré ci-dessus. Tous les incidents générés par un processeur Incident Detector doivent posséder une condition d'ouverture et une condition de fermeture, qui sont créées à l'aide d'un générateur d'expressions.

RemarqueRemarque :

Une condition d'ouverture doit être spécifiée. Si aucune condition de fermeture n'est précisée, la négation logique de la condition d'ouverture est utilisée.

Un processeur Incident Detector peut servir à appliquer un niveau de gravité donné aux incidents générés. Les niveaux disponibles sont la notification, l'avertissement et l'urgence. Les incidents créés par un processeur donné sont limités à un seul niveau de gravité. Le processeur doit être modifié et le service GeoEvent republié afin de changer le niveau de gravité attribué par le processeur à ses incidents.

Les types des incidents créés par un processeur Incident Detector font également partie des propriétés du processeur. Deux types d'incidents sont possibles : ponctuels et cumulés.

Chaque processeur Incident Detector a un type de géométrie (Geometry Type) spécifique associé aux incidents qu'il génère. La plupart des incidents et des mises à jour d'incidents étant associés à l'emplacement d'un point à un moment donné, une géométrie de point est généralement sélectionnée. Cependant, les multi-points et les polylignes sont également des types de géométrie pris en charge pour les incidents générés.

Il est possible de faire en sorte que des incidents se ferment automatiquement après une période donnée. La configuration d'un processeur Incident Detector avec un délai d'expiration permet à Processeur GeoEvent de fermer automatiquement l'incident après une période donnée, même si la condition de fermeture de l'incident n'est pas remplie. Le délai d'expiration est une valeur numérique exprimée en secondes. La saisie d'une valeur nulle désactive l'expiration automatique pour les incidents créés par le processeur.

Vous trouverez des exercices détaillés portant sur la configuration du processeur Incident Detector dans le didacticiel Présentation de Processeur GeoEvent, disponible dans la page des didacticiels GeoEvent Processor.

Track Gap Detector

Le processeur Track Gap Detector permet de détecter l'absence d'événements. Comme le processeur Incident Detector, le processeur Track Gap Detector génère un nouvel événement pour signaler la détection d'interruptions dans un flux d'événements. Le processeur peut être configuré pour générer des notifications continues au cours d'une période pendant laquelle les événements attendus ne sont pas reçus, ou pour générer une notification unique lorsqu'une interruption est détectée, puis un second événement pour vous avertir que le processeur commence à nouveau à recevoir des événements.

Propriétés du processeur Track Gap Detector.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié à l'aide de la flèche de liste déroulante Processeur. Les propriétés d'un processeur Track Gap Detector sont illustrées ci-dessus.

La propriété Mode de notification d'interruption spécifie le comportement de notification mentionné ci-dessus. La valeur OnChange (Si modification) indique qu'un événement unique doit être généré par le processeur lorsqu'une interruption est détectée et qu'un second événement doit être généré lorsque le processeur commence à recevoir à nouveau des événements. La valeur Continuous (Continu) indique que vous souhaitez qu'un événement soit généré à chaque intervalle d'interrogation au cours de la période pendant laquelle le processeur ne reçoit pas de nouveaux événements.

La propriété Gap Duration (seconds) (Durée d'interruption [secondes]) spécifie la durée (en secondes) pendant laquelle le processeur attendra avant de déterminer qu'une interruption est survenue dans le flux de données en entrée. Si la valeur illustrée ci-dessus est utilisée, le processeur déterminera qu'une interruption s'est produite si au moins 300 secondes se sont écoulées depuis la dernière fois que le processeur a reçu un événement.

La propriété Intervalle de détection d'interruption (secondes) spécifie l'intervalle d'interrogation du processeur. De nouveau, si la valeur illustrée ci-dessus est utilisée, le processeur vérifiera toutes les 120 secondes si une interruption de 300 secondes ou plus s'est produite depuis la dernière fois que le processeur a reçu un événement. L'intervalle d'interrogation contrôle également la fréquence à laquelle les événements de notification sont générés lorsque la propriété Mode de notification d'interruption est définie sur Continu. Lorsqu'elle est définie sur Si modification, un événement est envoyé uniquement lorsque le processeur exécute une interrogation et découvre qu'un flux d'événements s'est arrêté (alors que le processeur recevait auparavant des événements) et inversement, une fois que le processeur a détecté une interruption, puis exécute une interrogation et découvre que les événements sont de nouveau reçus.

La propriété Geometry Field Name (Nom du champ Géométrie) spécifie le nom du champ d'événement censé contenir une géométrie. La dernière géométrie reçue sera ajoutée aux événements de notification générés par le processeur. Par exemple, si un flux d'événements signalait la position de véhicules et que le processeur était configuré pour exécuter une interrogation toutes les 30 secondes pour déterminer si une interruption d'au moins 120 secondes s'est produite depuis la réception du dernier rapport de véhicules, le processeur pourrait être configuré de manière à inclure le dernier emplacement signalé des véhicules dans la notification d'interruption.

No Operation

Un processeur No Operation n'accomplit aucune action et n'a aucun impact sur les événements géographiques qu'il reçoit. Les événements traversent un processeur No Operation comme s'il n'était pas là.

Propriétés du processeur No Operation.

Lorsque vous configurez un processeur, vous devez spécifier un nom. Le nom respecte la casse et sera utilisé pour identifier de manière unique le processeur dans un service GeoEvent. Le type de processeur en cours de configuration est spécifié avec la flèche de la liste déroulante Processeur. Les propriétés d'un processeur No Operation sont illustrées ci-dessus. Ce type de processeur n'a pas d'autres propriétés à configurer.

Un processeur No Operation peut servir à inclure un composant Stub ou NoOp dans un service GeoEvent sous forme d'espace réservé. Un autre processeur peut remplacer ultérieurement le processeur No Operation, ce qui permet de se concentrer sur la conception et le test d'autres parties du service GeoEvent.

Un processeur No Operation peut également être utile dans d'autres cas, notamment :

6/13/2014