AttributeCreator
Cas d'utilisations typiques
- Ajout de nouveaux attributs à une entité et attribution de valeur
- Ajout de nouveaux attributs vides à une entité pour l'utiliser ailleurs dans le traitement
- Données sur la non-fusion (fusion inverse)
Comment fonctionne-t-il ?
Des lignes vides sont prévues pour que vous puissiez saisir de nouveaux noms d'attributs et (éventuellement) définir des valeurs et des types pour ceux-ci.
Une ou plusieurs paires peuvent être ajoutées et toutes les entités passant via ce Transformer sont modifiées.
Les nouveaux attributs sont ajoutés en haut de la page. Les noms en double ne sont pas identifiés et ne sont pas ajoutés plus d'une fois.
Exemples
- Dans cet exemple, 3 nouveaux attributs sont ajoutés aux entités entrantes.
- UPDATEDBY est ajouté avec pour valeur "Smith".
- Z et Y sont ajoutés, et leurs valeurs sont définies par l'extraction de leur géométrie via une fonction FME.
Ces nouveaux attributs apparaissent dans le Transformer en haut :
Les valeurs d'attributs sont mises à jour et peuvent être visualisées dans la vue Table de FME Data Inspector.
Les attributs d'entités adjacentes sont accessibles sous Avancé > Gestion des valeurs d'attributs. Lorsque cette option est activée, vous pouvez spécifier un certain nombre d'entités précédant et suivant l'entité actuelle à prendre en compte dans le calcul des nouvelles valeurs.
Supposons le jeu de données suivant :
ID |
Latitude |
Longitude |
---|---|---|
0 |
49.1640 |
-123.061 |
1 |
49.1643 |
-123.063 |
2 |
49.1642 |
-123.062 |
3 |
49.1642 |
-123.064 |
Si les paramètres Nombre d'entités précédentes et Nombre d'entités suivantes valent 2, alors quand la première entité est lue, AttributeCreator accède aux entités suivantes :
Référence d'entités |
ID |
Latitude |
Longitude |
---|---|---|---|
entité[-2] |
<manquant> |
<manquant> |
<manquant> |
entité[-1] |
<manquant> |
<manquant> |
<manquant> |
entité actuelle |
0 |
49.1640 |
-123.061 |
entité[+1] |
1 |
49.1643 |
-123.063 |
entité[+2] |
2 |
49.1642 |
-123.062 |
Notez que certains attributs sont manquants car aucune entité précédant la première entité n'existe.
Après que la deuxième entité soit lue, la récupération des attributs d'entités précédentes et suivantes opère comme suit :
Référence d'entités |
ID |
Latitude |
Longitude |
---|---|---|---|
entité[-2] |
<manquant> |
<manquant> |
<manquant> |
entité[-1] |
0 |
49.1640 |
-123.061 |
entité actuelle |
1 |
49.1643 |
-123.063 |
entité[+1] |
2 |
49.1642 |
-123.062 |
entité[+2] |
3 |
49.1642 |
-123.064 |
Cette formule calcule la moyenne des latitudes des deux précédentes entités :
Les calculs faisant référence à des entités adjacentes peuvent être créés dans l'éditeur arithmétique et l'éditeur de texte. Ces éditeurs listeront d'abord les attributs de l'entité en cours de traitement, puis les entités précédentes, puis les entités suivantes.
Notes
- On peut également utiliser AttributeManager à la place.
- Pour fusionner des données, voir AttributeExploder (alias Melter).
Configuration
Ports d'entrée
Entités qui ont un nouvel attribut ajouté.
Ports de sortie
Entités avec de nouveaux attributs et nouvelles valeurs.
Paramètres
Remplacer les valeurs manquantes, nulles ou vides |
Spécifie le comportement souhaité lorsque l'attribut référencé n'existe pas, a une valeur null ou une chaîne de caractères vide. Ces attributs peuvent être considérés comme des attributs non résolus. Par exemple, comme il n'y a pas d'entités avant la première entité d'entrée, l'AttributeManager ne parviendra pas à résoudre la valeur de feature[-1].AttrName pour la première entité d'entrée. Si ce paramètre est défini sur Pas de substitution, l'AttributeManager résoudra tous les attributs non résolus avec une chaîne vide s'ils sont utilisés dans une expression plus importante. Si l'attribut non résolu est attribué directement et ne fait pas partie d'une expression plus large, l'attribut de sortie sera non résolu de la même manière. Par exemple, si B est manquant et que A est défini comme @Value(B), alors A sera également manquant. Mais si A est défini comme "B = @Value(B)", A aura la valeur"B = ".. Comme autre exemple, si la valeur de l'entité[+2].AttrName est une chaîne vide et si la Valeur par défaut est spécifiée, alors la chaîne vide sera traitée comme un attribut "Unresolved" et sera remplacée par la valeur de substitution. Si ce paramètre a pour valeur Entité adjacente la plus proche, les attributs non résolus seront résolus comme l'attribut correspondant de l'entité la plus proche, si une telle entité existe. Lors de la recherche des entités les plus proches, les entités ayant des attributs non résolus sont ignorées. Si une entité antérieure ou ultérieure possède des attributs non résolus, il est possible que l'entité actuelle soit utilisée pour résoudre les attributs manquants. Par exemple, si la valeur de feature[-2].AttrName n'est pas résolue, pour la résoudre, l'AttributeManager examinera les entités les plus proches de feature[-2], en alternant entre les entités antérieures et postérieures à feature[-2]. Il examinera d'abord l'entité [-3].AttrName, puis l'entité [-1].AttrName si nécessaire, et enfin l'entité [-4].AttrName si nécessaire, jusqu'à ce que toutes les entités antérieures et postérieures spécifiées aient été épuisées. Si l'attribut reste "unresolved", alors il sera remplacé par la valeur saisie dans le paramètre Valeur par défaut. |
Valeur par défaut |
Ce paramètre spécifie la valeur à utiliser pour remplir les attributs dans les cas suivants :
|
Récupérer les attributs des entités précédentes/suivantes
Quand activé, vous pouvez définir une valeur d'attribut (dans la table Actions d'attribut) selon les attributs des entités précédentes ou suivantes de l'entité actuelle en les référençant de la manière suivante :
- Les attributs des entités précédentes sont définis ainsi : entité[-1].AttrName, entité[-2].AttrName, etc.
- Les attributs des entités suivantes sont définis ainsi : entité[+1].AttrName, entité[+2].AttrName, etc.
- Les attributs de l'entité en cours de traitement n'ont pas de préfixe et prennent donc la forme AttrName.
Lors de la récupération de valeur d'une entité précédente, tout changement effectué par AttributeManager sur l'entité prendra effet.
Nombre d'entités précédentes |
Ce paramètre spécifie le nombre d'entités précédant l'entité de référence devant être exploitées par AttributeManager. Si le support de plusieurs attributs d'entités est activé, ce paramètre doit être compris entre 0 et 100. Comme les entités supplémentaires doivent être lues pour chaque entité traitée, définir uniquement le nombre maximum d'entités devant être récupérées améliore les performances. |
Nombre d'entités suivantes |
Ce paramètre spécifie le nombre d'entités suivant l'entité de référence pouvant être exploitées par AttributeManager. Si le support de plusieurs attributs d'entités est activé, ce paramètre doit être compris entre 0 et 100. Comme les entités supplémentaires doivent être lues pour chaque entité traitée, définir uniquement le nombre maximum d'entités devant être récupérées améliore les performances. |
Lorsqu'un AttributeCreator est ouvert pour la première fois, cette zone contient une ligne vide où un nouvel attribut peut être créé. Des lignes supplémentaires sont ajoutées au fur et à mesure que des entrées sont effectuées.
Attribut en sortie |
Entrer le nom du nouvel attribut. Les noms peuvent aussi être assignés en utilisant les expressions ou le menu contextuel pour récupérer les valeurs d'attributs existantes, les paramètres utilisateurs ou les valeurs conditionnelles. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Valeur |
De nouveaux attributs peuvent être laissés sans valeur pour être utilisés ailleurs ou vous pouvez définir de nouvelles valeurs en cliquant dans la ligne appropriée :
Consulter la section Définir des valeurs pour obtenir plus de détails sur ces options. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Méthode |
Spécifiez le type de données de l'attribut. Le bouton ellipse ouvre une boîte de dialogue de définition du type d'attribut, qui peut vous aider à définir le type, la largeur et la précision (si nécessaire). L'attribut est étiqueté avec les informations de type spécifiées, mais les limitations de type ne sont pas appliquées aux valeurs à ce stade, et des inadéquations entre le type et la valeur sont donc possibles. Le type peut être imposé ailleurs dans le traitement, par exemple dans les Writers ou en utilisant un AttributeValidator ou un Tester pour vérifier les valeurs par rapport au type. Les types de données disponibles comprennent :
|
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au traitement peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Références
Comportement |
Basé sur les entités
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | Non-fusion |
Historique |
FME Community
FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Voir tous les résultats à propos de ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.