Contrôle des entités avec les attributs de format
Les attributs de format sont utilisés pour contrôler les entités. Pour éviter d'encombrer le traitement, ces attributs ne sont pas tous visibles par défaut. Pour les rendre visibles, il faut les "exposer" et utiliser la boîte de dialogue Type d'entités. Par défaut, les attributs de format ci-dessous ne sont pas visibles dans le traitement.
Vous pouvez utiliser les attributs de format pour effectuer certaines tâches en faisant en sorte que les attributs fassent partie du traitement.
Exposer les attributs de format
Pour exposer un attribut de format, ouvrez la boîte de dialogue Type d'entités et cliquez sur l'onglet Attributs de format. Localisez et sélectionnez l'attribut de format à exposer. Cliquez sur OK pour que l'attribut de format puisse être utilisé dans le FME Workbench.
Les attributs de format peuvent être un seul attribut (par exemple, igds_style) ou ils peuvent être un attribut de format basé sur une liste, par exemple igds_tag_names{}.
Filtrer avec les Attributs de format
L'une des principales utilisations des attributs de format est le filtrage et l'orientation des données sources au sein d'un traitement.
Par exemple, supposons que les entités d'un jeu de données AutoCAD source ne sont pas divisées en différentes couches comme elles devraient l'être. Comme vous pouvez déterminer la couche appropriée à partir de la couleur de l'entité ou de la taille d'une entité texte, vous pouvez exposer les attributs de format autocad_color ou autocad_text_size et les utiliser pour interpréter la couche correcte.
La plupart des Transformers de 'filtres' peut être utilisée pour traiter les données de cette manière.
Attributs de liste de format
Un attribut de liste est une structure FME qui permet plusieurs valeurs pour chaque attribut. Par exemple, un secteur de la foresterie pourrait avoir une liste de types d'arbres (pin, chêne, cèdre), auquel cas un attribut de liste dans FME pourrait ressembler à ceci :
parcelleList.typeArbre{0} = Pin, parcelleList.typeArbre{1} = Chêne, parcelleList.typeArbre{2} = Cèdre
C'est important ici car des attributs de format peuvent aussi être des attributs de type liste.
Dans cet exemple, nous avons exposé l'attribut de liste de format igds_tag_names{}.
Si nous essayons d'utiliser cet attribut dans un Transformer Tester, nous sommes invités à choisir l'élément de la liste qui doit être testé. Comme les boîtes de dialogue des Transformers demandent quel élément d'une liste doit être utilisé, il n'est pas nécessaire de devoir exposer plusieurs éléments uniquement pour avoir accès à un seul.
Transformer avec les Attributs de format
L'autre principal usage des attributs de format est de transformer les données elles-mêmes.
Lors de l'écriture des données, les attributs FME sont transformés en attributs de format qui reflètent les données telles qu'elles sont censées être écrites. Toutefois, vous pouvez passer outre ce processus en prédéfinissant la valeur de ces attributs avant qu'ils ne soient envoyés aux données destination.
En d'autres termes, la définition d'un attribut de format peut entraîner une transformation des données. L'attribut de format des données destination (ici kml_linestyle_color) ou l'attribut équivalent de FME (ici fme_color) peut être défini pour atteindre le même objectif.
Vous pouvez définir n'importe lequel de ces attributs car si fme_color est défini, il est converti en kml_linestyle_color comme prévu, et si kml_linestyle_color est défini, alors FME sait ne pas l'écraser.
Si vous parvenez à définir à la fois un attribut de format et son équivalent FME, alors l'attribut de format est prioritaire et est utilisé. Par exemple, définissez fme_colorandkml_linestyle_color, et l'attribut kml est prioritaire.
Cela devient vraiment un problème lors de lecture et d'écriture dans le même format, et que les mêmes attributs de format existent à la fois sur le données source et destination. Dans ce cas, l'utilisation d'attribut de format ne garantit pas l'utilisation des équivalent fme.
Transformers pour paramétrer les attributs de format
Paramétrer les attributs de format peut être difficile.
Une fois qu'un attribut de format est exposé sur un type de données source, un AttributeCreator peut être utilisé pour modifier sa valeur. Mais cela n'aura aucun effet si la conversion n'est pas effectuée en lecture et en écriture à partir du même format.
D'autre part, l'exposition d'un attribut de format sur un type de données destination ne rend pas cet attribut disponible dans le traitement de la même manière (c'est-à-dire qu'il n'est pas exposé en amont).
Ainsi, la méthode la plus courante consiste à utiliser AttributeCreator, mais à créer réellement l'attribut de destination et à le définir. Par exemple, créez autocad_block_name et attribuez-lui une valeur.
Utilisé de cette façon, l'action ressemble plus à un paramètre de type d'entités, c'est-à-dire qu'il s'applique à toutes les entités écrites dans ce type d'entités.
A côté du paramétrage manuel d'attributs de format, il y a plusieurs Transformers conçus pour rendre ce paramétrage plus aisé pour l'utilisateur.
FeatureColorSetter (par exemple) “Assigne une couleur aux entités en entrée” mais, en réalité, tout ce qu'il fait est de définir une nouvelle valeur pour les attributs de format fme_color, fme_fill_color, etc.
DGNStyler permet de définir la symbologie des entités à écrire dans un fichier de conception MicroStation. Il s'agit simplement d'un moyen plus simple d'utiliser les attributs de format.
Les Transformers similaires sont :