AttributeManager
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.
- Simplification d'un projet en centralisant la manipulation de plusieurs attributs en un seul endroit.
Comment fonctionne-t-il ?
Les attributs des entités d'entrée sont présentés dans une matrice de lignes et de colonnes, où vous pouvez effectuer plusieurs tâches. Toutes les entités qui passent par l'AttributeManager sont modifiées en fonction des sélections effectuées dans les 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.
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 d'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.
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.
Exposition des attributs et des noms d'attributs sensibles aux données
Les attributs non exposés peuvent être rendus visibles en ajoutant leurs noms dans la colonne Attribut d'entrée du tableau Actions des attributs, dans une nouvelle ligne. La validité des noms d'attributs ajoutés ici n'est pas testée.
Si la mise en cache des données est activée, les noms d'attributs valides depuis les entités en amont sont affichés pour la sélection de l'attribut.
L'exposition des attributs les rend visibles dans 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 Workbench.
- Les entités générées par des Transformers comme SchemaMapper ajoutent dynamiquement des attributs aux entités dont Workbench n'a pas connaissance.
Exemples
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 :
Les attributs d'entités adjacentes sont accessibles sous Avancé : Traitement 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
Ce Transformer accepte tous types d'entités.
Ports de sortie
Les entités avec les attributs créés et modifiés ressortent par ce port.
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 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 :
|
Valeur de l'attribut |
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 :
Consulter la section Définir des valeurs pour obtenir plus de détails sur ces options. |
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 :
|
É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 du 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 d'espace de travail. 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 projet 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 | |
Historique | Implémenté dans FME 2016.0 |
FME Community
FME Community iest 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.
Rechercher tous les résultats sur ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.