AppearanceSetter
Définit un ou plusieurs styles d'apparence sur les faces avant et/ou arrière des géométries. Toutes les surfaces et la plupart des types de géométrie qui sont, ou peuvent contenir, des surfaces peuvent avoir des apparences définies directement sur elles.
Vous pouvez également, en même temps, générer les coordonnées de texture des surfaces qui sont affectées. Les coordonnées de texture ne sont requises que lorsque des textures Raster sont utilisées.
L'apparence n'est définie directement que sur les parties de la géométrie qui sont spécifiées par la sélection XQuery Geometry. Toutefois, comme les apparences peuvent être héritées plus bas dans la hiérarchie géométrique, le fait de définir directement une apparence à un niveau donné peut également avoir un effet visible plus bas dans la hiérarchie géométrique. Les coordonnées de la texture sont donc calculées, si nécessaire, sur chaque partie de la géométrie qui est affectée par le réglage de cette apparence.
Ce Transformer accepte les valeurs d'apparence de deux manières : l'entité de style d'apparence en entrée et les valeurs de paramètre du Transformer. Si une valeur est spécifiée aux deux endroits, la valeur du paramètre sera la seule utilisée. Par exemple, si une entité de style d'apparence en entrée a le nom d'apparence mur, et que le nom d'apparence est également défini dans le paramètre du Transformer comme mur, alors l'apparence qui est définie sur l'entité aura le nom mur.
Il y a deux autres cas pour lesquels le Transformer est forcément utilisé :
- Quand plusieurs entités entrent par le port Appearance et que les paramètres de jointure sont remplis, il faut déterminer quelle apparence appliquer à quelle partie de géométrie.
- Quand aucune jointure n'est spécifiée, et qu'une seule entité de style d'apparence est en entrée, elle est utilisée pour toutes les parties de géométrie sélectionnées.
Terminologie utilisée pour les coordonnées
Afin de réduire la confusion entre l'espace de coordonnées réel de la surface et l'espace de coordonnées de la texture, ce Transformer utilise "u" et "v" au lieu de "x" et "y" lorsqu'il fait référence à ce dernier. Notez que cela se reflète également dans les noms des paramètres.
Pour plus d'information sur les apparences dans FME, consulter la section Apparence.
Configuration
Ports d'entrée
Ce port d'entrée est facultatif. Si ce port d'entrée n'est pas utilisé, seules les valeurs spécifiées dans les paramètres de ce Transformer seront utilisées.
Il peut avoir de nombreux attributs facultatifs qui expriment les paramètres de couleur et/ou de texture de l'apparence. Il doit également avoir soit une géométrie Raster (qui s'entend comme étant la texture Raster à utiliser), soit une géométrie nulle. Les paramètres Style de ce Transformer, s'ils sont utilisés, remplaceront toutes les valeurs de ces entités d'entrée.
Entités contenant une géométrie sur laquelle une apparence peut être appliquée.
L'utilisation de ce port d'entrée est optionnelle.
Toutes les entités qui entrent dans ce port sont retenues jusqu'à ce que ce Transformer ait terminé son traitement, et sortent par le port Holder à la toute fin. Ces entités ne seront pas directement modifiées de quelque manière que ce soit par ce Transformer, mais peuvent avoir été indirectement modifiées. Veuillez lire la documentation relative à la valeur "Remplacer les définitions existantes" de l'option "Stockage des apparences" pour savoir comment cela peut se produire.
La raison pour laquelle ces ports Holder sont utiles est que, dans certaines situations, il est important de contrôler le temps de passage des entités dans le traitement. En retenant certaines entités, vous vous assurez que ce Transformer a une chance de terminer sa tâche avant de permettre à d'autres entités de continuer plus loin dans le traitement.
Exemples
Il y a 100 entités qui passent par le traitement, et elles contiennent toutes des surfaces qui font référence à une Apparition "brique rouge". Leur flux naturel serait de sortir directement vers un Writer. Cependant, dans une section séparée du traitement, il existe un AppearanceSetter qui utilise l'option Remplacer les définitions existantes du paramètre Stockage de l'apparence. Il remplace la définition de l'apparence "brique rouge" par "brique brune", en utilisant évidemment une couleur différente.
Dans cette situation, s'il n'y a pas de contrôle explicite de l'ordre des entités, les 50 premières entités pourraient être envoyées par inadvertance au Writer, suivies du traitement par AppearanceSetter, puis des 50 dernières entités envoyées au Writer. Ici, la sortie contiendrait 50 entités "brique rouge" et 50 entités "brique brune". Vous ne seriez pas en mesure de contrôler l'ordre arbitraire des entités qui circulent dans le traitement.
Si, toutefois, les 100 entités sont acheminées par le port Holder, il est garanti que l'AppearanceSetter effectuera son traitement avant qu'aucune des 100 entités ne soit envoyée au Writer. Dans ce cas, la sortie contiendrait 100 entités de type "brique brune". C'est probablement le résultat souhaité : modifier la définition d'une apparence, s'assurer que cette définition est reflétée dans l'ensemble du jeu de données (sans avoir à localiser chaque référence à cette apparence modifiée), et avoir la garantie que toutes les entités reflètent ce changement quel que soit l'ordre du flux des entités d'entrée.
Ports de sortie
Toutes les entités Géométrie ressortent, modifiées ou non.
Toutes les entités entrant par le port Holder ressortent par ce port. Voir le port d'entrée Holder pour plus de détails sur l'utilisation de ces ports.
Entités qui ne sont pas requêtées.
Seules les entités de style d'apparence avec des types de géométrie null ou raster sont acceptées. Toutes les autres entités de style d'apparence sont rejetées.
Si les paramètres de jonction (décrits ci-dessous) ne sont pas utilisés, seul le premier style d'apparence entré par groupe est utilisé. Tous les autres styles d'apparence supplémentaires sont rejetés et émis par ce port.
Les entités rejetées ont un attribut fme_rejection_code avec une des valeurs suivantes : EXTRA_APPEARANCE_FEATURE, INVALID_APPEARANCE_GEOMETRY_TYPE, INVALID_GEOMETRY_GEOMETRY_TYPE.
Paramètres
Regrouper par |
Notez que seuls les premiers styles d'apparence de chaque groupe sont utilisés. |
||||
Traitement des regroupements |
Sélectionnez le moment du traitement où les groupes sont traités :
Considérations sur l'utilisation de Regrouper par
Il y a deux raisons typiques d'utiliser Quand le groupe change (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà classées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Regrouper par - et non des considérations de performance. La seconde raison possible est le potentiel gain de performances. Les gains de performance sont plus visibles quand les données sont déjà triées (ou lues en utilisant une déclaration SQL ORDER BY) puisque moins de travail est requis de la part de FME. Si les données doivent être ordonnées, elles peuvent être triées dans le traitement (bien que la surcharge de traitement supplémentaire puisse annuler tout gain). Le tri devient plus difficile en fonction du nombre de flux de données. Il peut être quasiment impossible de trier des flux de données multiples dans l'ordre correct, car toutes les entités correspondant à une valeur Regrouper par doivent arriver avant toute entité (de tout type d'entité ou jeu de données) appartenant au groupe suivant. Dans ce cas, l'utilisation de Regrouper par avec Lorsque toutes les entités sont reçues peut être une approche équivalente et plus simple. Note De multiples types d'entités et entités de multiples jeux de données ne vont généralement pas arriver dans l'ordre correct.
Comme pour beaucoup de scénarios, tester différentes approches dans votre traitement avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Requête XQuery de géométrie |
Utilisez ce paramètre si vous souhaitez isoler uniquement une partie de la géométrie transmise au Transformer. Si aucun critère n'est spécifié, l'action s'appliquera à l'ensemble de la géométrie à tous les niveaux. La sélection peut être basée sur l'emplacement structurel, le nom de la géométrie, le type, les informations sur l'apparence, les traits, les types de stockage des traits ou la référence de la définition. La syntaxe utilisée est un ensemble restreint de XQuery, où la clause de retour est fixe. La boîte de dialogue XQuery de Géométrie de base vous permet de construire des requêtes de sélection simples en écrivant automatiquement la requête nécessaire en fonction des clauses de test spécifiées. En cliquant sur le bouton "Avancé", vous ouvrez l'éditeur avancé, qui vous permet de saisir une requête en forme libre, pour des requêtes plus expressives. Note Une fois passé au mode avancé, vous devrez effacer tous les paramètres avant de pouvoir retourner au mode basique.
Une géométrie hiérarchique est représentée par des nœuds, avec des attributs contenant de l'information sur les traits, types et nom de chaque géométrie. |
Appliquer l'apparence à |
Vous pouvez spécifier sur quelle(s) face(s) de la géométrie appliquer l'apparence. Face avant : la texture est uniquement appliquée à la face avant de la géométrie. Face arrière : la texture n'est appliquée que sur la face arrière de la géométrie. Faces avant et arrière : la texture est appliquée sur les deux faces des parties de géométrie. |
Attribut de jointure de l'apparence et trait de jointure de la géométrie |
Ces deux paramètres doivent être utilisés ensemble. Si ces paramètres ne sont pas utilisés, le Transformer utilise seulement un style d'apparence (par groupe) et l'applique à toutes les parties de géométries sélectionnées. Si ces paramètres de jonction sont spécifiés, toutes les entités de style d'apparence (par groupe) sont conservées comme correspondances possibles pour chaque partie géométrique sélectionnée. Dans chaque cas, la valeur du Trait spécifié sur la partie géométrique correspond à la valeur de l'attribut spécifié sur les entités de style d'apparence. (S'il y a plus d'une correspondance, une entité de style d'apparence arbitraire est choisie. S'il n'y a pas de correspondance, aucun traitement n'est effectué pour cette partie géométrique). Le style d'apparence correspondant est alors utilisé pour le traitement de cette partie de la géométrie. Note Notez qu'un Trait manquant sur la partie géométrique, ou un Attribut manquant sur les entités de style d'apparence sont équivalents à des traits ou attributs vides. Les traits dont les valeurs sont vides correspondent aux attributs dont les valeurs sont vides. Cela vous permettra, par exemple, d'envoyer intentionnellement une entité de style d'apparence "par défaut" sans l'attribut de jonction et de l'utiliser pour toutes les pièces géométriques pour lesquelles le trait n'est pas présent. Ceci est utile si toutes les pièces géométriques ne sont pas censées avoir le trait de jonction.
|
Stockage de l'apparence |
Lorsque vous passez des entités de style Apparence, ce Transformer crée des définitions d'Apparence. Cependant, il existe deux façons de stocker et d'utiliser ces nouvelles apparences :
Cela se traduit de deux manières : Premièrement, toutes les parties géométriques choisies reflètent les nouvelles propriétés de style d'apparence, même si elles ne changent pas la façon dont elles font référence aux apparences. Deuxièmement, un effet plus subtil est que toutes les parties géométriques, sur toutes les entités actives (même celles qui ne passent pas par cette usine) qui font référence aux définitions d'apparence écrasées verront immédiatement les nouvelles valeurs également. Ce Transformer peut donc modifier la nature effective de certaines entités qui ne le traversent jamais. Consulter la documentation des ports Holder d'entrée et de sortie pour la gestion de ces effets. |
Nom de l’apparence (optionnel) |
Un nom qui vous aidera à vous rappeler à quoi sert l'apparence, par exemple "mur de château" ou "toit de maison". Notez qu'il n'est pas nécessaire qu'il soit unique. Nom d'attribut : fme_appearance_style_name |
Couleur diffuse |
La signification la plus instinctive de la couleur d'un objet, la couleur essentielle qui se révèle sous une lumière blanche pure. Elle est perçue comme la couleur de l'objet plutôt que comme un reflet de la lumière. Nom d'attribut : fme_appearance_style_diffuse_color |
Couleur ambiante (optionnel) |
La couleur que reflète l'objet lorsqu'il est éclairé par la couleur du milieu ambiant plutôt que la lumière directe. Nom d'attribut : fme_appearance_style_ambient_color |
Couleur spéculaire (optionnel) |
La couleur de la lumière réfléchie par l'objet à travers une réflexion spéculaire (le type de réflexion qui est caractéristique de la lumière réfléchie par une surface brillante). Nom d'attribut : fme_appearance_style_specular_color |
Emission de la couleur (optionnel) |
Couleur de la lumière que l'objet émet lui-même. Nom d'attribut : fme_appearance_style_emissive_color |
Brillance |
Une valeur de 0 à 1 qui spécifie l'éclat de la réflexion spéculaire. 0 signifie mat et 1 extrêmement brillant. Nom d'attribut : fme_appearance_style_shininess |
Alpha |
Spécifie le niveau de transparence du style. 0 signifie complètement transparent et 1 complètement opaque. Nom d'attribut : fme_appearance_style_alpha |
Texture du centre u |
Utilisé pour spécifier l'origine du système de coordonnées de la texture. Il n'est utilisé qu'en conjonction avec la mise à l'échelle et la rotation. Nom d'attribut : fme_texture_style_center_u |
Texture du centre v |
Utilisé pour spécifier l'origine du système de coordonnées de la texture. Il n'est utilisé qu'en conjonction avec la mise à l'échelle et la rotation. Chaîne nom d'attribut : fme_texture_style_center_v |
Angle de rotation de la texture |
Spécifie la rotation de l’angle de la texture, en degrés dans le sens inverse des aiguilles d'une montre, autour du centre de la texture (à partir d'une ligne parallèle à l'axe u, en passant par le centre de la texture). Nom d'attribut : fme_texture_style_rotation_angle |
Facteur de découpe de la texture en u |
Utilisé pour spécifier la valeur de la découpe le long de l'axe u des coordonnées de la texture par rapport au centre. Nom d'attribut : fme_texture_style_u_shearing_factor |
Facteur de découpe de la texture en v |
Utilisé pour spécifier la valeur de la découpe le long de l'axe v des coordonnées de la texture par rapport au centre. Nom d'attribut : fme_texture_style_v_shearing_factor |
Facteur d'échelle de la texture en u (Facteur de réduction) |
Utilisé pour spécifier la valeur de la réduction que la texture peut subir le long de l'axe u. Nom d'attribut : fme_texture_style_u_scaling_factor |
Facteur d'échelle de la texture en v (Facteur de réduction) |
Utilisé pour spécifier la valeur de la réduction que la texture peut subir le long de l'axe v. Nom d'attribut : fme_texture_style_v_scaling_factor |
Compensation de la texture en u |
Utilisé pour spécifier la compensation appliquée à la texture après toutes les autres modifications. Nom d'attribut : fme_texture_style_u_offset |
Compensation de la texture en v |
Utilisé pour spécifier la compensation appliquée à la texture après toutes les autres modifications. Nom d'attribut : fme_texture_style_v_offset |
Méthode de répétition de la texture |
N'affecte que la zone située en dehors de la plage U et V de 0 à 1. Notez que tous les styles d'habillage de texture ne sont pas pris en charge par tous les formats de sortie, auquel cas le style d'habillage de texture sera défini par défaut comme un style individuel pris en charge par les données destination. Aucun : signifie qu'aucun style d'habillage n'est donné et que le comportement en dehors de la plage de 0-1 est indéterminé. Répéter en U et V : copie la texture dans les deux directions. Plaquer en U et V : le même pixel en bordure de la texture est répété sur l'axe de v et sur l'axe des u. Plaquer en U et répéter en V : le même pixel est utilisé sur l'axe des u mais la texture est répétée sur l'axe des y. Répéter en U et plaquer en V : le même pixel est utilisé sur l'axe des V mais la texture est répétée sur l'axe des U. Miroir : la texture est répétée et retournée dans les deux directions (effet miroir). Remplissage des bords : utilise une couleur de bordure constante pour remplir les valeurs en dehors de la plage 0 à 1 pour U et V. Nom d'attribut : fme_texture_style_wrap |
Couleur de bord de texture (optionnel) |
Ce paramètre est utilisé uniquement avec le style d'habillage Remplissage des bords et n'est pris en charge que par certains formats. Il spécifie la couleur qui doit "déborder" dans l'espace entourant la trame de texture. Nom d'attribut : fme_texture_style_border_color |
Utiliser les coordonnées de texture existantes |
Quand une apparence avec une texture de raster est définie, chaque partie de la géométrie nécessite aussi des coordonnées de texture. Quand ce paramètre est défini à Non, de nouvelles coordonnées de texture sont toujours calculées pour chaque partie de géométrie. Lorsque ce paramètre est égal à Oui, les nouvelles coordonnées de texture ne sont calculées que sur les parties concernées de la géométrie où elles n'existent pas encore. Les coordonnées de texture existantes restent inchangées. |
Méthode de drapage de texture |
Ce paramètre indique comment la texture définie dans un style d'apparence sera mappée sur la surface. Ceci n'est applicable qu'aux textures qui ont des images rasters.
|
Décalage de l'origine en u |
Vous pouvez spécifier comment la texture est décalée dans la direction u. |
Décalage de l'origine en v |
Vous pouvez spécifier comment la texture est décalée dans la direction v. |
Facteur de répétition de la texture en u |
Le facteur de répétition de la texture en u peut être utilisé pour spécifier le nombre de fois où la texture est répétée en lignes. |
Facteur de répétition de la texture en v |
Le facteur de répétition de la texture en v peut être utilisé pour spécifier le nombre de fois où la texture est répétée en colonnes. |
É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.