AttributeExploder
Cas d'utilisation courants
- Transposer ou manipuler des données tabulaires (comme des feuilles de calcul)
- Fusion de données
- Extraire le schéma d'attribut des entités et les utiliser dans une conversion de mappages d'attributs dynamique.
- Extraire le schéma d'attribut des entités pour les écrire en tant que métadonnées/documentation
- Préparer les données pour graphiques et rapports
Comment fonctionne-t-il ?
AttributeExploder reçoit des entités avec des attributs et extrait à la fois les noms des attributs et leurs valeurs. Il est possible de faire deux choses avec elles (le Type d'éclatement) - soit créer plusieurs nouvelles entités (une pour chaque attribut) soit additionner l'information de l'entité originale en tant qu'attribut de liste.
Les exemples suivants présentent les deux Types d'éclatement tels qu'ils s'appliquent à une seule entité. Notez que dans les deux cas, les attributs supplémentaires qui ne sont normalement pas exposés sont aussi éclatés, dont les fme_attributes internes et Reader de données source.
Vous pouvez opter pour soit choisir soit supprimer les attributs et géométries originaux - dans ces exemples, ils sont supprimés.
Type d'éclatement : Entités
Si les attributs sont éclatés en entités, chaque entité d'entrée sera transformée en plusieurs entités, une pour chaque attribut de l'entité d'origine. Les nouvelles entités auront à la fois les noms et les valeurs des attributs originaux ajoutés comme nouveaux attributs. Ci-dessous, nous utilisons les nouveaux noms d'attributs par défaut _attr_name et _attr_value.
Une (1) entité devient douze (12).
Dans le cas d'une feuille de calcul, où une ligne est considérée comme une entité individuelle, ceci est l'équivalent d'éclater chaque cellule en sa propre entité.
Type d'éclatement : Liste
Si les attributs sont éclatés en une Liste, un nouvel attribut de liste est ajouté à l'entité originale.
Les noms et valeurs d'attributs sont ajoutés en tant qu'éléments de liste.
Une (1) entité produit une (1) entité en sortie avec un attribut de liste.
Exclure des attributs
AttributeExploder traite tous les attributs des entités entrantes, y compris les attributs fme_ et format. Il est possible d'ignorer les attributs en utilisant le paramètre Ignorer les attributs contenant.
Entrez une expression régulière, et les attributs correspondants seront ignorés.
Par exemple, si les données sources sont de type CSV, vous pouvez utiliser l'expression régulière ^fme_|^multi_|^csv_ pour ignorer tous les attributs commençant par fme_, multi_, ou csv_.
Exemples
Dans cet exemple, nous allons utiliser un AttributeExploder pour écrire les attributs d'un raster MrSID pour la documentation. Un carreau de raster est considéré comme une entité unique.
Dans les paramètres de l'AttributeExploder, le Type d'éclatement est défini sur Entités et les noms d'attributs en sortie par défaut sont conservés.
Tandis que les éléments en sortie contiendront les types d'attributs supplémentaires dont nous ne voulons pas (attributs reader et fme_internal), nous configurons un Tester pour conserver seulement les entités où _attr_name commence par la chaîne de caractères “mrsid”.
Avec un Writer Excel, une feuille de calcul est créée (une ligne par entité), contenant les noms et valeurs du raster original.
Notes
- AttributeExploder est communément utilisé pour manipuler des données tabulaires, de la simple conversion aux tâches plus complexes. Voir sur FME Community pour des exemples détaillés.
- Pour inverser la fusion des données, voir AttributeCreator (alias UnMelter).
Configuration
Ports d'entrée
Entités avec attributs.
Ports de sortie
Les entités contenant les paires de valeurs d'attributs. Selon le Type d'éclatement, ceci peut être plusieurs entités avec des paires en tant qu'attributs ou des entités seules avec une liste d'attributs ajoutée.
Paramètres
Type d'éclatement |
Entités : Une entité est produite pour chaque attribut initial. Chaque entité de sortie aura deux nouveaux attributs : un nommé par Attribut éclaté (dont la valeur sera le nom de l'attribut initial) et un par Valeur éclatée (dont la valeur sera celle de l'attribut initial). Liste : L'entité traitée aura un nouvel attribut de liste défini par Nom de la liste qui contiendra une entrée (avec des membres de nom d'attribut et de valeur d'attribut, nommés par nom du champ et un par Valeur du champ) pour chaque attribut de l'entité. Note: Les attributs de liste ne sont pas accessibles à partir du schéma de sortie dans FME Workbench, sauf s'ils sont d'abord traités à l'aide d'un Transformer qui opère sur eux, comme ListExploder ou ListConcatenator. Il est également possible d'utiliser AttributeExposer. |
Conserver la géométrie |
Si Oui, chaque entité en sortie aura la même géométrie que l'entité en entrée donnée. Sinon, les entités de sortie n'auront pas de géométrie. |
Conserver les attributs |
Si Oui, les attributs initiaux des entités traitées sont préservés. Sinon, les entités de sortie n'auront que les attributs créés par cette usine. |
Ignorer les attributs contenant |
Entrez une expression régulière. Les attributs dont les noms correspondent seront exclus. |
Ignorer les attributs |
Choisir la sensibilité à la casse : Sensibilité à la casse ou Insensibilité à la casse pour les correspondances avec l'expression régulière indiquée dans le champ Ignorer les attributs contenant . |
Nom du champ |
Nom de l'attribut devant contenir le nom de l'attribut extrait. |
Valeur du champ |
Nom de l'attribut qui contiendra la valeur de l'attribut extrait. |
Liste |
Si Type d'éclatement est défini sur Liste, entrez un nom pour l'attribut de liste. |
É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 |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | 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.