TCLCaller
Lance une commande du Langage TCL et affecte la valeur renvoyée à un attribut.
La commande Tcl peut agir sur la géométrie de l'entité et/ou sur ses attributs. Elle peut utiliser toutes les fonctions propres au langage Tcl, et toutes les fonctions Tcl fournies par FME.
Consulter le manuel de référence du langage Tcl (www.tcl.tk) et la section FME Tcl Variables and Functions ci-dessous pour plus de détails.
Exemple Tcl couramment utilisés :
- Supprimer les espaces et les caractères spéciaux en début et fin de chaîne dans un attribut :
FME_SetAttribute trimmedAttribute [string trim [FME_GetAttribute originalAttribute]]
- Remplacer tous les caractères non-numériques d'un attribut par des espaces :
FME_SetAttribute anAttribute [regsub -all {[^0-9]} [FME_GetAttribute anAttribute] {}]
Remarquez que dans ce cas, la valeur renvoyée correspond au nombre de substitutions effectuées.
- Rechercher une expression régulière dans un attribut :
regexp {^[A-Za-z]$} [FME_GetAttribute anAttribute]
Cette expression régulière teste si la valeur de l'attribut est entièrement constituée de caractères alphanumériques.
Si le test est concluant, la valeur renvoyée sera 1, sinon 0.
- Message personnalisé dans le fenêtre de log :
FME_LogMessage fme_inform {This is my message}
Pour manipuler les attributs des entités, il est recommandé d'utiliser les fonctions suivantes fournies à cette fin :
FME_GetAttribute attrName
FME_SetAttribute attrName newVal
FME_CopyAttribute destAttrName srcAttrName
FME_RenameAttribute destAttrName srcAttrName
FME_UnsetAttributes attrName1 [attrName2 attrName3 ...]
Notes
-
Caractère % : En raison des limitations de l'analyseur FME, une expression Tcl ne peut pas contenir le caractère pourcentage (%). Si un caractère % est nécessaire, l'expression devrait être codée avec une procédure Tcl puis mise dans un fichier externe pour service de source en entrée. Notez que vous pouvez éviter le problème du caractère % en utilisant le Transformer StringFormatter qui fournit un moyen pratique d'accéder à la commande Tcl 'format'.
Configuration
Paramètres
Expression TCL |
L'expression Tcl qui sera évaluée pour chaque entité. La valeur de l'expression sera stockée dans l'attribut Destination. Note: Vous pouvez accéder aux paramètres publiés via le tableau global $FME_MacroValues. Si FME renvoie l'erreur Can't read "FME_MacroValues(text_param)" : no such variable, remplacez $FME_MacroValues par $::FME_MacroValues. |
Code source |
Un code supplémentaire peut également être fourni dans l'éditeur de code source. Ce code sera compilé une fois au début de la traduction et constitue donc une option plus efficace que de fournir un code étendu dans le paramètre Expression Tcl. |
Fichier source Tcl externe |
Un fichier source Tcl peut être fourni en option. Le fichier sera lu avant l'exécution de la commande Tcl. Ceci peut être utilisé pour référencer des fonctions Tcl conservées dans un fichier externe commun. |
Nombre de copies (Expression Tcl) |
Il est possible de créer plusieurs copies d'une entité en utilisant le paramètre d'expression Tcl Nombre de copies. Cette expression est évaluée dans le contexte de l'entité d'entrée. Elle renvoie un nombre qui indique combien d'instances de l'entité doivent être traitées en utilisant l'expression Tcl du Transformer. |
Paramètres d'exposition d'attribut
Attributs à exposer
Expose les attributs créés par l'Expression Tcl de sorte à pouvoir être utilisés par d'autres Transformers.
Attributs à masquer
Cache tous les attributs qui peuvent être supprimés par l'expression Tcl en cours d'exécution. Les autres Transformers ne seront pas en mesure d'utiliser ces attributs.
Listes à masquer
Cache toutes les listes qui peuvent être supprimées par l'expression Tcl en cours d'exécution. Les autres Transformers ne seront pas en mesure d'utiliser ces listes.
Notez que si vous choisissez de masquer une liste, votre sélection comprendra tous les attributs de liste ou les listes imbriquées. Par exemple, si vous choisissez de masquer une liste appelée list{} then list{}.attr ou list{}.sublist{} seront également masqués.
Noms d'attribut en sortie
Attribut Destination
L'attribut qui stockera le résultat du paramètre Expression Tcl après son évaluation. Si l'expression Tcl ne renvoie pas de valeur, l'attribut de destination peut être laissé vide.
Attribut numéro de copie
S'il est spécifié, l'attribut de Nombre de copies contient le numéro de copie de chaque entité de sortie. Par exemple, si trois copies d'une entité d'entrée sont faites, les copies de sortie auront respectivement 0, 1 et 2 assignés à leur attribut de numéro de copie. Les expressions Tcl peuvent examiner cet attribut pour déterminer le numéro de l'entité de sortie sur laquelle elles travaillent.
Attributs à exposer |
Expose les attributs créés par l'Expression Tcl de sorte à pouvoir être utilisés par d'autres Transformers. |
Attributs à masquer |
Cache tous les attributs qui peuvent être supprimés par l'expression Tcl en cours d'exécution. Les autres Transformers ne seront pas en mesure d'utiliser ces attributs. |
Listes à masquer |
Cache toutes les listes qui peuvent être supprimées par l'expression Tcl en cours d'exécution. Les autres Transformers ne seront pas en mesure d'utiliser ces listes. Notez que si vous choisissez de masquer une liste, votre sélection comprendra tous les attributs de liste ou les listes imbriquées. Par exemple, si vous choisissez de masquer une liste appelée list{} then list{}.attr ou list{}.sublist{} seront également masqués. |
Attribut Destination |
L'attribut qui stockera le résultat du paramètre Expression Tcl après son évaluation. Si l'expression Tcl ne renvoie pas de valeur, l'attribut de destination peut être laissé vide. |
Attribut numéro de copie |
S'il est spécifié, l'attribut de Nombre de copies contient le numéro de copie de chaque entité de sortie. Par exemple, si trois copies d'une entité d'entrée sont faites, les copies de sortie auront respectivement 0, 1 et 2 assignés à leur attribut de numéro de copie. Les expressions Tcl peuvent examiner cet attribut pour déterminer le numéro de l'entité de sortie sur laquelle elles travaillent. |
Variables et fonctions Tcl
Quatre variables globales Tcl servent de passerelle entre une entité FME et le script Tcl : Les variables FME_FeatureType, FME_CoordSys, FME_AttrEncoding et FME_AttrNameEncoding. Pour les utiliser dans une procédure Tcl, elles doivent être déclarées comme globales ; sinon, les variables seront considérées comme locales et n'affecteront pas ou n'interagiront pas avec l'entité FME sur laquelle la fonction est exécutée. Pour les utiliser dans une fonction, utilisez un modèle comme :
proc doSomething {
global FME_FeatureType
global FME_CoordSys
# rest of function goes here...
}
Cette variable globale définit le nom du codage de caractères dans lequel Tcl suppose que les attributs d'une entité sont spécifiés lorsqu'il travaille avec les fonctions FME_GetAttribute et FME_SetAttribute. Comme Tcl travaille en interne avec UTF-8, cela signifie qu'il convertira les valeurs des attributs de l'encodage donné en UTF-8 lorsqu'il obtiendra la valeur de l'attribut avec la fonction FME_GetAttribute, et qu'il convertira les valeurs de UTF-8 vers l'encodage donné lorsqu'il définira la valeur de l'attribut à l'aide de la fonction FME_SetAttribute.
La valeur de cette variable n'impacte pas sur la définition si sur la récupération d'attributs lorsque l'encodage des caractères est connu.
L'encodage par défaut des attributs est le même que l'encodage par défaut des caractères du système sur lequel FME s'exécute, et peut être remplacé par la commande intégrée "encoding system" de Tcl. Une liste complète des encodages supportés peut être obtenue en exécutant la commande "encoding names".
La variable peut être définie, lue ou non définie :
set FME_AttrEncoding iso8859-2
puts $FME_AttrEncoding
unset FME_AttrEncoding
Si ME_AttrEncoding n'est pas défini, il revient au système d'enocade par défaut.
Cette fonction est utilisée pour déterminer si un attribut est présent dans une entité.
La syntaxe pour FME_AttributeExists est :
FME_AttributeExists <attributeName>
<attributeName> est le nom de l'attribut dont la valeur doit être récupérée.
Si l'attribut est présent, la valeur 1 est retournée, sinon, 0 est renvoyé.
La fonction est utilisée pour déterminer si la valeur de l'attribut est nulle.
La syntaxe de FME_IsAttributeNull est :
FME_IsAttributeNull <attributeName>
<attributeName> est le nom de l'attribut dont la valeur est contrôlée.
Si l'attribut a une valeur nulle, la valeur 1 est retournée, sinon, 0 est renvoyé.
Cette fonction est utilisée pour récupérer les noms de tous les attributs des entités et les retourne sous la forme de liste Tcl.
La syntaxe pour FME_AttributeNames est :
FME_AttributeNames
Cette variable globale définit le nom du codage des caractères dans lequel Tcl suppose que les noms des attributs d'une entité sont spécifiés lorsqu'il utilise les fonctions FME_GetAttribute et FME_SetAttribute. Comme Tcl travaille en interne avec UTF-8, cela signifie qu'il convertira les noms d'attributs d'UTF-8 au système de codage donné, et utilisera le nom converti lorsqu'il fera référence aux attributs réels de l'entité.
L'encodage par défaut des attributs est le même que l'encodage par défaut des caractères du système sur lequel FME s'exécute, et peut être remplacé par la commande intégrée "encoding system" de Tcl. Une liste complète des encodages supportés peut être obtenue en exécutant la commande "encoding names".
La variable peut être définie, lue ou non définie :
set FME_AttrNameEncoding iso8859-2
puts $FME_AttrNameEncoding
unset FME_AttrNameEncoding
Si ME_AttrNameEncoding n'est pas défini, il revient au système d'encodage par défaut.
Cette variable globale est configurée pour refléter le système de coordonnées de l'entité. Comme pour la variable FME_FeatureType, elle peut être définie, lue et désactivée :
set FME_CoordSys UTM10-83
puts $FME_CoordSys
unset FME_CoordSys
Dans toute procédure Tcl invoquée par TclCaller, la fonction FME_Coordinates peut être utilisée pour lire et écrire les coordonnées de l'entité. Elle offre plusieurs options, comme indiqué ci-dessous :
dimension (2|3)
Défini la dimension de l'entité
numCoords
Retourne le nombre de coordonnées d'une entité.
resetCoords
Supprimer les coordonnées de l'entité.
Remarque : L'appel à resetCoords n'a aucun effet sur les attributs fme_geometry ou fme_type. Ceux-ci doivent être réinitialisés ou réajustés explicitement par le script afin de ne pas laisser l'entité dans un état incohérent.
getCoord (x|y|z) <index>
Retourne la valeur de la coordonnées pour l'axe spécifié via l'<index>.
<index> est compris entre zéro et le nombre total de coordonnées - 1
addCoord <xvalue> <yvalue> [<zvalue>]
Ajoute la coordonnée spécifiée à la fin de la géométrie.
geomType
Retourne le type de géométrie de l'entité - Le type de géométrie a pour valeur une des valeurs de l'attribut FME Geometry Model.
fme_point
fme_line
fme_polygon
fme_donut
fme_aggregate
fme_undefined
geomType <type>
Définit le type de géométrie de l'entité à la valeur transmise. Aucun contrôle d'intégrité n'est effectué. Il est important que cela soit fait avec précaution car la définition d'un type géométrique incorrect peut ultérieurement gêner FME.
Cette fonction est utilisée pour copier un attribut d'entité. Le type de stockage de données interne original de l'attribut est préservé en utilisant cette fonction. Cela peut être important lorsque vous travaillez avec des valeurs à virgule flottante de haute précision.
La syntaxe de FME_CopyAttribute est :
FME_CopyAttribute <newName> <oldName>
Si l'entité ne contenait pas d'attribut portant le nom oldName, la fonction ne fait rien. Elle ne crée pas de nouvel attribut vide.
Cette fonction est utilisée pour décoder les chaînes de caractères qui ont été encodées comme décrit dans la fonction FME_EncodeText. Le résultat de la fonction est une copie du paramètre d'entrée, avec les séquences de chaînes substituées reconverties en caractères qu'elles représentent.
La syntaxe de FME_DecodeText est :
FME_DecodeText <encodedText>
<encodedText> spécifie une chaîne qui peut contenir des caractères convertis.
Cette fonction est similaire à FME_DecodeText, sauf que cet argument peut être interprété comme une référence à une valeur d'attribut plutôt qu'à une chaîne à décoder.
La syntaxe FME_DecodeTextOrAttr est :
FME_DecodeTextOrAttr [&]<encodedText>
<encodedText> spécifie une chaîne qui peut contenir des caractères convertis.
Si l'argument commence par un caractère esperluette ("&"), la fonction renvoie la valeur dans l'attribut nommé en décodant le reste de l'argument. Sinon, la fonction renvoie l'équivalent décodé du <texte encodé>.
Cette fonction est utilisée pour générer des chaînes de caractères qui sont encodées comme décrit ci-dessous dans Substitution de chaînes de caractères dans les fichiers de contrôle. Le résultat de la fonction est une copie du paramètre d'entrée, avec des caractères spéciaux convertis en séquences de chaînes substituées qui passent proprement à travers l'analyseur de fichiers de FME, et peuvent être représentées dans n'importe quel jeu de caractères ANSI.
La syntaxe de FME_EncodeText est :
FME_EncodeText <unencodedText>
<Texte non encodé> spécifie la chaîne de caractères qui doit être encodée. Tout caractère spécial dans cette chaîne sera remplacé par les séquences de substitution énumérées ci-dessous.
Substitution de chaînes de caractères dans les fichiers de contrôle
Occasionnellement, un caractère peut provoquer un conflit dans l'analyseur du fichier de mappage. Si cela se produit, vous pouvez substituer des chaînes de caractères sûres dans de nombreux formats, fonctions et fabriques, notamment :
- Writer Geodatabase (Définitions des attributs > sous-types, Définitions des attributs > domaines)
- @Lookup
- PythonFactory
- @SearchList
- @SupplyAttributes
- @Tcl2
Caractère de substitution
La méthode de codage s'inspire des entités de caractères XML.
Note : les substitutions sont faites uniquement dans les définitions de type d'attribut.
Symbole |
Remplacé par |
---|---|
< | <lt> |
> | <gt> |
" | <quote> |
& | <amp> |
\ | <backslash> |
/ | <solidus> |
' | <apos> |
$ | <dollar> |
@ | <at> |
s | <space> |
, | <comma> |
( | <openparen> |
) | <closeparen> |
[ | <openbracket> |
] | <closebracket> |
{ | <opencurly> |
} | <closecurly> |
; | <semicolon> |
\r | <cr> |
\n | <lf> |
\t | <tab> |
\a | <bell> |
\b | <backspace> |
\v | <verttab> |
\f | <formfeed> |
Caractères internationaux
Support des caractères internationaux |
Remplacé par |
---|---|
<specialCharacter> |
<uABCD> (où ABCD est la valeur hexadécimale à 4 chiffres du caractère UTF-16 équivalent) |
Le codage décrit ci-dessus prend en charge les caractères qui peuvent poser des problèmes lors de l'analyse des fichiers de mappage, mais il interfère avec certains caractères "spéciaux" de certains codages (où "spécial" signifie des caractères qui ne font pas partie du jeu ASCII 7 bits.) Les problèmes apparaissent dans les systèmes où un ou plusieurs octets d'un caractère multi-octet sont spéciaux au codage traditionnel.
Pour contrer cela, FME prend en charge l'encodage des caractères basés sur Unicode. L'encodage des caractères spéciaux se fait désormais sous la forme d'une balise spéciale, <uXXXX>, où XXXX est la représentation hexagonale du caractère UTF-16. Ce schéma d'encodage très simple est basé sur une observation (hypothèse) : tous les caractères qui poseront des problèmes à l'intérieur de l'encodage impliqueront un ou plusieurs octets dont le bit haut est activé. Ainsi, afin d'encoder traditionnellement toute chaîne de caractères contenant un caractère où un bit élevé est activé, nous devons convertir les chaînes de caractères en une forme où le système d'encodage est neutralisé, où nous pouvons en quelque sorte représenter ce caractère avec une chaîne d'octets contenant uniquement des valeurs de 7 bits (c'est-à-dire des valeurs propres de 7 bits).
Le processus de codage applique essentiellement l'heuristique suivante :
Si la chaîne contient des octets dont le bit de poids fort est activé :
- Convertir la chaîne de caractères en UTF-16
- Convertir la chaîne de caractères 16 bits UTF-16 en une chaîne de caractères 7 bits encodée traditionnellement.
Le résultat de cette opération est une chaîne codée qui est propre sur 7 bits (c'est-à-dire qu'elle n'a pas de bits de poids fort) et qui peut être décodée pour obtenir exactement les caractères originaux du résultat non codé.
Lorsqu'il rencontre la séquence de caractères <u n'importe où dans une chaîne encodée, le décodeur pourra inverser le processus ci-dessus après un décodage "traditionnel", pour revenir à la chaîne encodée originale UTF-8 ou par défaut du système.
Si une valeur de 16 bits est trop grande pour un caractère de 7 bits, remplacez-la par \uXXXX, où XXXX est la représentation hexagonale de la valeur de 16 bits.
Exemples
Selon la méthode de codage, le type d'attribut
coded_domain(TextDom:char(50):a:"the letter a":b:"the letter b")
peut être représenté comme
coded_domain(TextDom:char<openparen>50<closeparen>:a:
<quote>the<space>letter<space>a<quote>:b:<quote>the<space>
letter<space>b<quote>)
dans un fichier de contrôle. Notez que l'encodage est uniquement appliqué au corps du type coded_domain, c'est-à-dire coded_domain(<body>). De même, il ne serait appliqué qu'au corps de range_domain(<body>), subtype(<body>), et subtype_codes(<body>) qui sont des types d'attributs Geodatabase et à enum(<body>) et set(<body>) qui sont tous deux des types d'attributs MySQL.
Cette fonction est utilisée pour appeler n'importe quelle fonction FME à partir d'une procédure Tcl. Cela permet d'appeler des fonctions FME standard de manière itérative sur la même entité.
La syntaxe pour FME_Execute est :
FME_Execute <functionName> [<arg1> ... <argN>]+
<functionName> est le nom de n'importe quelle fonction FME sans le préfixe @.
Tout argument restant est transmis à la fonction. Par exemple, la fonction @Generalize est invoquée comme suit :
FME_Execute Generalize Douglas 10
et cela offre le même effet que si @Generalize(Douglas,10) avait été appelée n'importe où dans le fichier de contrôle.
Si la fonction invoquée entraîne la suppression de l'entité, la traduction est interrompue. La fonction @Generalize peut le faire si la longueur totale de l'entité est inférieure à la valeur de tolérance transmise.
Cette variable globale est configurée pour refléter le type d'entité de l'entité. Comme les autres variables, elle peut être définie, lue et désactivée :
set FME_FeatureType "Roadster"
puts $FME_FeatureType
Cette fonction peut être utilisée pour obtenir une valeur d'attribut de l'entité depuis une procédure Tcl.
The syntax for FME_GetAttribute is:
FME_GetAttribute <attributeName> [<attributeEncoding>]
<attributeName> est le nom de l'attribut dont la valeur doit être récupérée.
<attributeEncoding> est un encodage de caractères facultatif utilisé lors de l'interprétation des octets de la valeur d'un attribut existant. S'il n'est pas spécifié, les octets d'un attribut codé sont interprétés selon leur codage d'origine, et les octets d'un attribut à chaîne simple sont interprétés selon la valeur de la variable globale FME_AttributeEncoding.
Si l'attribut n'était pas présent dans l'entité, une chaîne vide est retournée en tant que valeur.
La fonction FME_LogMessage est utilisée pour écrire des messages dans le fichier journal de FME. Elle peut être invoquée de deux façons :
FME_LogMessage <severity> <messageNumber> [<arg1> ... <argN>]+
ou
FME_LogMessage <severity> <message>
<severity> peut avoir l'une de ces valeurs: fme_inform, fme_warn, fme_error, fme_fatal, fme_statistic, et fme_statusreport
Lorsque la première forme est utilisée, le numéro du message doit être présent dans un fichier situé dans le sous-dossier messages du dossier d'installation de FME. Les autres paramètres sont utilisés pour remplir tous les supports de paramètres %0, %1, ... %n du message. Par exemple, si le message était :
3011, Opening file %0 for mode %1
alors FME_LogMessage peut être appelé comme cela :
FME_LogMessage fme_inform 3011 /tmp/cacher.txt read
Avec la deuxième forme, le message ressort directement du fichier de log.
Cette fonction est utilisée pour copier un attribut d'entité. Le type de stockage de données interne original de l'attribut est préservé en utilisant cette fonction. Cela peut être important lorsque vous travaillez avec des valeurs à virgule flottante de haute précision.
La syntaxe pour FME_RenameAttribute est :
FME_RenameAttribute <newName> <oldName>
Si l'entité ne contenait pas d'attribut portant le nom oldName, la fonction ne fait rien. Elle ne crée pas de nouvel attribut vide.
Cette fonction est utiliser pour définir la valeur d'un attribut d'une entité.
La syntaxe pour FME_SetAttribute est :
FME_SetAttribute [-notranscode] <attributeName> <attrValue> [<attributeEncoding>]
<attributeName> est le nom de l'attribut dont la valeur doit être définie sur <attrValue>.
<attributeEncoding> est un encodage de caractères facultatif à appliquer à l'attribut résultant. Il remplace l'effet de toute valeur actuellement stockée dans la variable globale FME_AttributeEncoding.
Si l'option -notranscode est spécifiée, les octets de la variable Tcl sont copiés textuellement dans l'attribut résultant, au lieu d'une conversion de l'encodage de caractères de l'encodage UTF-8 interne de Tcl vers l'encodage de caractères cible. Ceci est utile lorsque la variable Tcl est connue pour contenir un tableau d'octets dans un codage de caractères particulier au lieu de la séquence habituelle de caractères UTF-8.
L'attribut résultant aura normalement des informations d'encodage de caractères jointes. Si l'argument <attributeEncoding> n'est pas spécifié, l'attribut aura par défaut un encodage UTF-8, sauf si la variable globale FME_AttributeEncoding est définie. Si cette variable est définie, l'attribut résultant sera un attribut non codé (chaîne de caractères simple), avec des octets représentant les caractères de la valeur dans l'encodage nommé.
Cette fonction est utilisée pour définir la valeur d'un attribut sur une entité à null. Si l'attribut n'existe pas, il sera créé.
La syntaxe pour FME_SetAttributeNull est :
FME_SetAttributeNull <attributeName>
<attributeName> est le nom de l'attribut dont les valeurs seront définies sur null.
Si l'attribut n'existe pas, il sera créé et son type sera string.
Cette fonction génère un nom de fichier temporaire dans le dossier temporary de FME.
Le nom de fichier est garanti d'être un nouveau fichier unique.
Note : FME créera un fichier vide avec le nom donné, vous devez le supprimer quand vous avez fini.
La syntaxe de FME_TempFilename est :
FME_TempFilename [<prefix>] [<suffix>]
Si un préfixe et un suffixe ne sont pas fournis, le nom de fichier sera renvoyé sous la forme d'un fichier au nom unique et arbitraire dans le dossier temporaire de FME. (Pour plus d'informations sur l'emplacement de ce dossier, reportez-vous à la section Détermination du dossier temporaire).
Si un préfixe est fourni, il est utilisé comme partie initiale du nom de fichier dans le dossier temporaire, et le suffixe est utilisé comme partie finale. En général, le suffixe est utilisé pour ajouter une extension, et dans ce cas, il doit inclure un point ".".
Par exemple, cet appel :
FME_TempFilename raster .png
devrait retourner quelque chose comme :
c:/Documents and Settings/username/Local Settings/Temp/rastera05921.png
Cette fonction est utilisé pour supprimer un ou plusieurs attributs d'une entité.
La syntaxe pour FME_UnsetAttributes est :
FME_UnsetAttributes <attr1> [<attr2> <attr3 ...]
Aucune erreur ne sera générée si l'entité ne contient aucun des attributs énumérés. FME_UnsetAttributes ignore simplement tout argument qui ne spécifie pas un attribut sur l'entité.
É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.
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 des exemples et informations à propos de ce Transformer dans FME Community.