AttributeManager
Modifie un ou plusieurs attributs en en ajoutant, en les renommant, les copiant, les supprimant ou les réordonnant. Définit les valeurs des attributs nouveaux, existants et modifiés à toute combinaison de constantes, de valeurs d'attributs, de valeurs conditionnelles, d'expressions et de paramètres. Les valeurs peuvent faire référence à des entités adjacentes.
Aller à la configuration
Cas d'utilisations typiques
- Création d'un nouvel attribut et attribution d'une valeur par défaut ou de nouvelles valeurs.
- Modification d'attributs existants en les renommant et les supprimant.
- Réorganisation d'attributs
- Attribution de valeurs selon les entités qui entrent avant ou après l'entité en cours.
- Simplifier un traitement en regroupant plusieurs Transformers de manipulation d'attributs en un seul Transformer.
Comment fonctionne-t-il ?
Les attributs des entités entrantes sont présents dans une matrice de lignes et colonnes dans lesquelles vous pouvez effectuer différentes tâches, dont :
-
Créer, renommer ou supprimer des attributs
-
Paramétrer des valeurs et valeurs par défaut
-
Spécifier des types de schéma de données
Toutes les entités qui passent via ce Transformer sont modifiées selon les sélections faites dans ces paramètres.
Importer des attributs et des types de données
Le bouton Importer permet d'importer des noms d'attributs et/ou des types de données à partir de jeux de données existants ou de caches d'entités en amont (s'ils sont activés et en vigueur).
Les résultats de l'importation seront ajoutés ou mis à jour dans le tableau Actions d'attributs, et pourront être révisés. Ces modifications ne sont pas permanentes tant que l'on n'a pas cliqué sur le bouton OK.
Pour annuler les modifications apportées par une importation, utilisez le bouton Annuler pour quitter la boîte de dialogue des paramètres.
Filtrer les attributs
Lorsque vous travaillez avec des entités qui ont de nombreux attributs, il peut être pratique de réduire le nombre affiché. Cela peut être fait avec les options Filtre et Filtre Regex dans les contrôles du tableau.
Notez que l'utilisation de l'une ou l'autre des options de filtrage n'entraîne pas la suppression des attributs des entités - ils sont seulement masqués à l'affichage.
Exposer des attributs
Les attributs non exposés peuvent être rendus visibles en ajoutant leurs noms dans la colonne Attribut en entrée du tableau Actions sur les attributs, dans une nouvelle ligne. La validité des noms d'attributs ajoutés ici n'est pas testée.
L'exposition des attributs les rend visibles dans FME Workbench afin qu'ils puissent être utilisés ailleurs dans le traitement, ce qui est utile si vous savez que des entités ont un attribut, mais qu'il n'est pas actuellement affiché comme disponible dans votre traitement. Par exemple :
- Les attributs FME (fme_) et d'autres attributs spécifiques à des formats qui ne sont pas automatiquement exposés dans FME Workbench.
- Les entités générées par des Transformers comme SchemaMapper ajoutent dynamiquement des attributs aux entités dont FME Workbench n'a pas connaissance.
Exemples
Exemple : Ajout et modification d'attributs et de leurs valeurs.
Dans cet exemple, plusieurs attributs d'entités entrantes sont modifiés :
- GlobalID est renommé, modifiant la casse du nom d'attribut
- Un attribut non-désiré, REPRESENT, est supprimé.
- Les attributs X et Y sont créés et leurs valeurs sont assignées en extrayant la géométrie avec une fonction FME.
- UPDATEDBY est créé et défini selon la valeur fixe Smith.
- Tous les autres attributs restent inchangés.
Les attributs modifiés sont visibles dans le Transformer :
Exemple avancé : utilisation de la gestion avancée des valeurs d'attributs
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, AttributeManager 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.
Configuration
Ports d'entrée
Input
Ce Transformer accepte tous types d'entités.
Ports de sortie
Output
Entités dont les attributs sont modifiés en fonction des sélections de paramètres.
Paramètres
Avancé : Gestion des valeurs d'attribut
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é en entrée, l'AttributeManager ne parviendra pas à résoudre la valeur de feature[-1].AttrName pour la première entité en 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 :
- Remplacer les valeurs manquantes, nulles ou vides : défini à Valeur par défaut
- Remplacer les valeurs manquantes, nulles ou vides : défini à Entité adjacente la plus proche et la valeur n'est pas trouvée parmi l'entité précédente ou suivante.
|
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.
|
Actions sur les attributs
Lorsqu'un Transformer AttributeManager est connecté et ouvert pour la première fois, cette matrice est automatiquement remplie avec les attributs des entités entrantes tels qu'ils existent actuellement. Elle s'ajustera également de manière dynamique pour refléter les changements d'attributs en amont dans le traitement.
Par défaut, les actions sont définies sur "Ne rien faire" et passent par les entités sans être modifiées. Lorsque vous apportez des modifications aux éléments individuels, FME interprète l'action appropriée en fonction de vos entrées. L'action peut être remplacée manuellement, mais vous ne devriez généralement pas avoir à l'ajuster.
Attribut en entrée
|
Lorsque le Transformer est ouvert pour la première fois, cette colonne est remplie avec la liste complète des attributs exposés envoyés au port d'entrée. Ce champ n'est pas éditable, mais sera mis à jour pour refléter les changements effectués dans le traitement. Lorsque de nouveaux attributs sont créés, ce champ reste vide. |
Attribut en sortie
|
Par défaut, les attributs en sortie correspondent aux attributs en entrée. Vous pouvez :
- Les laisser inchangés
- Entrer un nouveau nom et l'action sera de type "Renommer"
- Entrer un nouveau nom dans une ligne vierge (<Ajouter un nouvel attribut>) ajoute un nouvel attribut. L'action devient "Définir la valeur" et vous pouvez utiliser la colonne Valeur d'attribut et la remplir ou la laisser vide pour l'utiliser plus tard dans votre traitement.
- Supprimez le nom, et l'action devient "Supprimer". De même, si vous définissez manuellement l'action sur "Supprimer", ce champ devient non éditable.
|
Valeur
|
Par défaut, la valeur de l'attribut est vide, laissant les entités inchangées. Vous pouvez définir de nouvelles valeurs ici en cliquant dans la ligne appropriée et :
- Entrer une nouvelle constante
- Entrer une expression
- Sélectionner un autre attribut pour en copier ses valeurs
- Utiliser l'un des outils disponibles dans le menu contextuel déroulant pour créer des expressions, des formules, des valeurs conditionnelles, etc. Le bouton représentant des ellipses ouvre l'éditeur de texte, et le bouton représentant une flèche offre d'autres options dans le menu contextuel.
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).
Notez que la compatibilité entre la valeur et le type n'est pas appliquée ici.
Paramètre un Type ne requiert pas une Action.
Voir aussi : Types de données FME.
|
Action
|
Par défaut, l'Action est réglée sur "Ne rien faire", laissant les entités inchangées. Lorsque vous modifiez les paramètres, l'action s'ajuste automatiquement pour refléter le résultat approprié, qui peut être remplacé manuellement dans certains cas. Les actions disponibles sont les suivantes :
Définir la valeur : Définit l'attribut à la valeur spécifiée dans la colonne Valeur d'attribut. Écrase les valeurs d'attribut existantes.
Ne rien faire : Laisse les attributs inchangés.
Renommer: Renomme l'attribut avec le nom spécifié dans la colonne Attribut en sortie.
Supprimer : Supprime l'attribut du schéma.
Définir la valeur par défaut : affecte la valeur spécifiée pour l'attribut aux entités où l'attribut est absent. N'écrase pas les valeurs actuelles, y compris les valeurs nulles.
NOTE :
- Lors de la création d'un nouvel attribut, "Définir la valeur" est la seule action disponible.
- Si l'attribut est à la fois renommé et défini avec une nouvelle valeur, l'action indiquera "Renommer", cependant les deux actions seront bien effectuées.
- L'Action ne s'applique pas au paramètre Type qui sera pris en compte même si l'Action est Ne rien faire.
|
Outils de tableau
Filter
|
Réduit le nombre de lignes de tableau affichées en utilisant la correspondance alphanumérique ou des expressions régulières.
Le Filtre n'affichera que les attributs dont la colonne de la table Actions d'attributs contient les caractères saisis, et n'est pas sensible à la casse.
Le Filtre Regex n'affichera que les attributs dont l'une des colonnes du tableau Actions sur les attributs correspond à une expression régulière - qui peut être aussi simple qu'une série spécifique de caractères, ou aussi complexe que vous le souhaitez, en utilisant la syntaxe avancée des expressions régulières. Lorsque le Filtre Regex est sélectionné, le bouton ellipse permet d'accéder à l'éditeur d'expressions régulières qui comprend une référence syntaxique et un test d'expression. La correspondance n'est pas sensible à la casse.
|
Importer
|
Importer des noms d'attributs et/ou des types de données à partir de jeux de données existants ou de caches d'entités.
|
|
Nettoyer le tableau Actions d'attribut en supprimant les lignes invalides ou en réinitialisant le tableau complètement pour correspondre aux entités en entrée.
|
É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.
Définir des valeurs de paramètres
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.
Editeur de texte
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.
Éditeur arithmétique
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.
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Outils de tableau
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
- Ajouter une ligne
- Supprimer une ligne
- Déplacer la ligne en cours au dessus
- Déplacer la ligne en cours en dessous
- Déplacer la ligne en cours en haut de liste
- Déplacer la ligne en cours en bas de liste
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
- Couper une ligne - supprime et copie dans le presse-papiers.
- Copie une ligne dans le presse-papiers.
- Colle une ligne depuis le presse-papiers.
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
Exception: Récupérer les attributs des entités précédentes/suivantes
|
Stockage des entités
|
Non
|
Dépendances |
Aucun |
Alias |
|
Historique |
Implémenté dans FME 2016.0 |
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 .
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.