AttributeFileReader
Lit le contenu d'un texte externe ou d'un fichier binaire et l'attache à une entité en tant que valeur d'un attribut.
Cas d'utilisation courants
- Joindre des fichiers aux entités
- Ajouter du contenu des fichiers aux entités
- Lire du contenu géométrique stocké dans un fichier séparé
Comment fonctionne-t-il ?
AttributeFileReader reçoit tout type d'entité et y ajoute le contenu d'un fichier externe, comme valeur d'un attribut nouveau ou existant.
La sélection des fichiers peut se faire explicitement ou par valeur d'attribut, expression, paramètre utilisateur ou valeur conditionnelle.
Le fichier peut être textuel ou binaire. (Le texte fait référence au type de fichier, plutôt qu'à son contenu - il ne s'agit pas nécessairement de texte brut). Une variété de choix d'encodage est disponible pour les fichiers texte. Les fichiers binaires doivent être désignés comme Binaire (fme-binary), car le Transformer n'est pas conscient des formats et préservera simplement le contenu du fichier comme un Blob.
Exemples
Dans cet exemple, nous allons lire un fichier texte et l'ajouter à une entité raster en tant qu'attribut. Nous voulons ajouter une palette (le fichier texte) à un raster numérique au format GeoTIFF.
La trame est d'abord acheminée par un RasterBandInterpretationCoercer pour répondre aux exigences de traitement - le type de bande doit être un entier non signé pour être compatible avec les palettes.
Ensuite, le raster est transmis à un AttributeFileReader. Notez qu'il possède un attribut exposé, et qu'il consiste en une bande numérique, un entier non signé de 8 bits.
Un fichier texte contenant les informations de la palette a déjà été préparé, comme indiqué ici dans le bloc-note.
Dans les paramètres d'AttributeFileReader, nous conservons le nom par défaut d'attribut du Contenu du fichier en tant que _file_contents, et sélectionnons le fichier Palette_color.txt.
Comme il s'agit d'un fichier texte, préparé sur le même ordinateur que celui sur lequel il est traité, nous pouvons utiliser le codage par défaut du système (fme-system).
En examinant la sortie d'AttributeFileReader, notez que le raster possède maintenant un attribut supplémentaire, _file_contents, qui contient le contenu du fichier texte.
La dernière étape de ce flux de travail consiste à appliquer la palette du nouvel attribut avec un RasterPaletteAdder.
Dans cet exemple, nous avons à la fois un nuage de points et une ortho-image de la même zone, et nous voulons les garder ensemble - nous allons donc attacher l'image à l'entité du nuage de points comme un attribut.
Notez que le nuage de points possède un attribut exposé.
L'orthoimage est un GeoTIFF.
Le nuage de points est acheminé dans un AttributeFileReader.
Dans les paramètres, nous conservons le nom par défaut d l'attribut de contenu de fichier _file_contents, et sélectionnons le fichier StadiumOrthoLowRes.tif.
Le codage des caractères du fichier source est défini sur Binaire (fme-binary), ce qui permet de stocker le GeoTIFF sous forme de Blob.
En examinant la sortie dans FME Data Inspector, notez que le nuage de points possède un nouvel attribut qui contient l'orthoimage, toujours encodée en binaire.
A partir de là, l'image peut être décodée et utilisée à tout moment avec un RasterReplacer, comme dans l'exemple ci-dessous qui utiliserait le raster pour colorer les points du nuage de points avec un PointCloudOnRasterComponentSetter. Une autre utilisation ultérieure pourrait consister à l'écrire dans une colonne Blob d'une base de données.
Notes
- Tous les types de fichiers binaires sont stockés sous forme de Blobs, et l'encodage des caractères du fichier source doit être défini sur Binaire (fme-binary).
- Les encodages les plus communs sont Windows Latin-1 (windows-1252) et Unicode 8-bit (utf-8).
- Si un fichier texte comporte des caractères spéciaux, il convient de sélectionner l'encodage des caractères du fichier source approprié pour préserver ces caractères.
- Les noms de chemin complets peuvent être créés à partir de valeurs d'attributs existantes en utilisant l'éditeur de texte pour créer une expression.
- Certains Transformers (tels que le XMLFlattener) peuvent lire des fichiers externes, et n'ont donc pas besoin d'utiliser un AttributeFileReader au préalable.
Configuration
Ports d'entrée
Entités recevant des fichiers en tant qu'attributs.
Ports de sortie
Entités avec des fichiers ajoutés comme valeurs d'attribut comme spécifié dans les paramètres.
Si un nom de fichier non valide est spécifié, l'entité sera acheminée vers le port <Rejected>. Les entités rejetées auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_FILE_INACCESSIBLE
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
Nom du fichier source |
Le nom et l'emplacement du fichier à lire. Elle peut être spécifiée explicitement ou par une valeur d'attribut, une expression, un paramètre utilisateur ou une valeur conditionnelle. |
Encodage du fichier source |
Spécifie l'encodage du fichier source. Binaire (fme-binary) comprend tous les types de fichiers binaires. |
Contenu du fichier |
Nom de l'attribut qui contient le contenu du fichier. De nouveaux attributs seront ajoutés et les attributs existants verront leurs valeurs écrasées. |
É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 | |
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.