AttributeFileWriter
Écrit le contenu de l'attribut spécifié vers un fichier.
Utilisations typiques
- Écriture en cours de projet de fichiers contenant la valeur d'un attribut.
- Remplacer un Writer par le contenu d'un attribut
- Écriture d'images ayant été stockées en attribut blob
- Écriture de système de coordonnées dans un fichier
- Écriture de liste de valeurs d'attributs
Comment fonctionne-t-il ?
AttributeFileWriter reçoit n'importe quel type d'entités et écrit le contenu (valeur) d'un attribut spécifié dans un fichier externe.
Un nom de fichier cible et un type d'encodage doivent être spécifiés. Les noms de fichiers peuvent être fournis explicitement ou par valeur d'attribut, expression, paramètre publié ou valeur conditionnelle. Si un fichier cible existe déjà, il peut être écrasé ou complété.
La valeur de l'attribut et le fichier cible peuvent être de type texte ou binaire. Une variété de choix d'encodage est disponible pour les fichiers texte. Les fichiers binaires doivent être désignés comme Binary (fme-binary), car le Transformer les écrit tels quels et préservera simplement le contenu de l'attribut comme un Blob.
Exemples
Dans cet exemple, nous avons un fichier de forme des parcs de la ville. Certains d'entre eux sont des parcs pour chiens, et nous voulons écrire un fichier texte contenant tous leurs noms.
La donnée source a 28 attributs dont DogPark et ParkName.
Cette opération comprend trois étapes :
- Utiliser un Tester pour identifier uniquement les parcs canins.
- Ajouter un retour chariot au nom du parc avec un AttributeManager.
- Ecrire un fichier texte avec AttributeFileWriter.
Dans la fenêtre des paramètres du Tester, on crée un filtre en recherchant DogPark = Y.
Ensuite, nous devons insérer un retour chariot à la fin de l'attribut de sorte à ce que chacun soit écrit séparément.
Dans la fenêtre de configuration de AttributeManager, on utilise l'Editeur de texte pour construire une expression qui ajoute un caractère spécial à la valeur de l'attribut ParkName .
L'étape finale consiste à écrire le fichier texte. Dans la boîte de dialogue des paramètres de l'AttributeFileWriter, nous choisissons l'attribut ParkName et définissons un Nom de fichier cible.
Si le fichier cible existe déjà est réglé à Ajouter au fichier, et un encodage de texte est choisi.
Le fichier de sortie, tel qu'examiné ici dans Notepad, contient le nom des parcs.
Une alternative serait d'ajouter la balise <p> autour de chaque ligne avec une balise <br> pour générer la sortie en HTML de base.
Dans cet exemple, nous avons une table de base de données qui contient les emplacements des installations d'art public. Chaque enregistrement contient une image, stockée sous forme de blob, dans une colonne de type octet nommée blob_image .
Nous souhaitons écrire toutes les images dans un fichier unique binaire et nous savons qu'elles ont été stockées dans un champ blob en JPGs.
Les entités sont dirigées vers AttributeFileWriter.
Dans la boîte de dialogue des paramètres, l'attribut Source est défini sur blob_image . Un chemin d'accès et un nom de fichier sont spécifiés, et le nom inclut la valeur de l'attribut registryid pour créer des noms de fichiers uniques.
Si l'option Fichier cible existant est réglée sur Ecraser le fichier, et si l'option Encodage du fichier cible est réglée sur Binaire (fme-binary). Le Transformer ne sait pas que les images sont encodées en JPEG - il conservera simplement ce qu'il reçoit.
Dans le répertoire destination un fichier est créé pour chaque entité.
Notez que même si l'encodage JPEG n'était pas explicitement spécifié, l'utilisation de Binary (fme-binary) conserve l'encodage d'origine et produit un fichier JPG utilisable.
Notes
- Lors de l'écriture de fichiers binaires, s'assurer que l'encodage du fichier cible est de type binaire (fme-binary).
- 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.
- Les encodages les plus communs sont Windows Latin-1 (windows-1252) et Unicode 8-bit (utf-8).
- Si vous n'êtes pas sûr de l'encodage utilisé par l'attribut, regardez la fenêtre d'informations sur l'entité de FME Data Inspector (voir l'image de l'exemple précédent).
Configuration
Ports d'entrée
Entités avec les attributs à écrire dans des fichiers.
Ports de sortie
Entités non modifiées. Les fichiers auront été écrits 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
Attribut Source |
Nom de l'attribut dont la valeur doit être écrite dans le fichier. |
Nom du fichier cible |
Le nom et l'emplacement du fichier à écrire. Elle peut être spécifiée explicitement ou par une valeur d'attribut, une expression, un paramètre utilisateur ou une valeur conditionnelle. |
Action si le fichier cible existe |
Détermine l'action à mener si le fichier cible existe déjà.
Notez que lors de l'ajout au fichier, vous pouvez vouloir ajouter des caractères spéciaux (nouvelle ligne, retour chariot) avant AttributeFileWriter. |
Encodage fichier cible |
Le codage des caractères du fichier cible. L'encodage par défaut est celui du système (fme-default). Notez que les fichiers binaires doivent être spécifiés en Binaire (fme_binary) |
É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 |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | |
Historique |
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.