ListExploder
Eclate une liste en générant une entité pour chaque élément la composant.
Tous les attributs de la liste sont copiés pour devenir des attributs non listés de la sortie de l'entité. De plus, le numéro d'élément des attributs de la liste d'origine est ajouté à l'entité. Chaque sortie d'entité possède une copie de la géométrie de l'entité d'entrée originale.
- Si les attributs de base et les attributs des éléments de la liste ont le même nom, les attributs d'origine seront écrasés par les attributs des éléments.
- ListExploder ne fonctionnera pas avec une liste non valide, comme une liste qui ne commence pas à l'entrée 0. Par exemple :
Liste valide | Liste invalide |
maliste{0}.attr1 | maliste{1}.attr1 |
maliste{1}.attr1 | maliste{2}.attr1 |
maliste{2}.attr1 | maliste{3}.attr1 |
maliste{3}.attr1 | maliste{4}.attr1 |
Exemples
Exemple 1
Par exemple, si l'entité suivante entre dans le Transformer :
maliste{0}.longueur = 7.3
maliste{0}.type = ’piste’
maliste{1}.longueur = 8.4
maliste{1}.type = ’route’
maliste{1}.voies = 2
maliste{2}.longueur = 1.1
maliste{2}.type = ’chemin’
un_autre_att = ’autre_chose’
Supposons que le nom de liste est somelist{}, et que l'attribut index vaut element_num, et que le paramètres Traitement des attributs vaut Fusionner les attributs de liste, alors la première entité retournée sera :
longueur = 7.3
type = 'piste'
numero = 0
un_autre_att = ’autre_chose’
Si le paramètre Traitement des attributsvaut Utiliser uniquement les attributs de liste, alors la première entité retournée sera :
longueur = 7.3
type = 'piste'
numero = 0
Exemple 2
Supposons que vous ayez une entité en entrée avec les 6 attributs suivants (l'attribut de liste utilisé ici serait ID{}.)
Nom
Méthode
ID{0}.dec
ID{0}.hex
ID{1}.dec
ID{1}.hex
Fusionner les attributs de liste produira des éléments à 4 attributs :
Nom
Méthode
dec
hex
Utiliser uniquement les attributs de liste produira des éléments à 2 attributs :
dec
hex
Configuration
Ports d'entrée
Entités contenant la liste.
Ports de sortie
Si la liste est trouvée dans l'entité source, elle sera traitée selon le type de traitement des attributs choisi et ressortira par ce port.
Si la liste n'est pas trouvée dans l'entité d'entrée, l'entité sera sortie via ce port sans être traitée. Dans ce cas, le paramètre Traitement des attributs ne sera pas appliqué et le Transformer fera passer l'entité sans la traiter.
Paramètres
Liste à traiter |
Nom de la liste qui sera parcourue par le Transformer. |
Traitement des attributs |
Fusionner les attributs de liste : L'entité conserve tous ses propres attributs non conflictuels, et acquiert en plus tous les attributs non conflictuels générés par le Transformer. Ce mode traite les attributs conflictuels selon le paramètre de Résolution de conflits. préfixer les attributs de liste : L'entité conserve tous ses propres attributs. De plus, l'entité acquiert des attributs générés par le Transformer, dont le nom est préfixé par le paramètre Préfixe. Utiliser uniquement les attributs de la liste : Tous les attributs de l'entité sont supprimés, à l'exception des attributs de géométrie qui commencent par fme_. Ensuite, l'entité acquiert tous les attributs et les valeurs associées qui sont générés à partir de l'attribut de liste éclaté. |
Résolution de conflit |
Utiliser les valeurs d'origine : si un conflit apparaît, conserve les valeurs d'origine et pas les attributs de liste. Utiliser les attributs de liste: si un conflit apparaît, transfère les valeurs des attributs de liste dans les attributs d'origine. |
Préfixe |
Si traitement des attributs vaut Préfixer les attributs de liste, alors la valeur définie préfixera les attributs ajoutés à l'entité. |
Index élément |
Si l'attribut index de l'élément est spécifié, alors chaque entité en sortie aura un attribut contenant la position de l'élément. |
É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.
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.