RubberSheeter
Comment fonctionne-t-il ?
Deux flux de données doivent être dirigés vers ce Transformer :
- Les entités entrant par le port Control (vecteur de déformation) représentent les vecteurs de déformation à utiliser pour calculer les corrections.
- Les entités à déformer doivent entrer par le port Observed(entité observée).
Chaque entité du port Control représente un vecteur de contrôle dont le point de départ se trouve à un certain endroit dans l'espace de données du port Observed d'origine, et dont le point d'arrivée se trouve à l'endroit correspondant dans l'espace de données de sortie souhaité. Le vecteur de contrôle représente la correction nécessaire pour passer du sommet observé au sommet souhaité. (Les vecteurs de contrôle avec un seul point sont interprétés comme une exigence que cet emplacement ne change pas du jeu de données observé au jeu de données de référence. On parle souvent de point de liaison).
En option, des lignes peuvent être entrées comme entités de contrainte dans ce Transformer. Ces lignes seront traitées comme des frontières, à travers lesquelles les vecteurs de contrôle n'auront aucune influence sur les points des entités observées. Si la "ligne de visée" d'un point d'une entité observée au point de départ d'un vecteur de contrôle traverse une ligne de contrainte, ce vecteur de contrôle n'affectera pas la position déformée résultante du point en question. Si la ligne de visée touche l'extrémité d'une ligne de contrainte, ou si le vecteur de contrôle ou le point observé est effectivement situé sur la ligne de contrainte, le vecteur de contrôle influencera quand même le point observé.
Note: Ce Transformer ne supporte pas les géométries de type Raster.
Les entités déformées ressortent par le port Corrected.
Exemples
Notes
-
Le Transformer AffineWarper fournit une fonctionnalité similaire mais calcule une transformation affine (échelle, rotation et décalage) basée sur les entités du vecteur de contrôle et applique cette transformation aux entités observées pour générer la sortie. Cela rend le AffineWarper plus approprié pour les cas où l'ensemble des données observées nécessite une seule transformation.
-
J'ai une entité linéaire dont seuls quelques points se trouvent à l'intérieur de la distance maximale. Comment sera-t-elle déformée ? Seuls les points de sommet situés à l'intérieur de la distance maximale seront déformés. Par conséquent, une partie de votre ligne sera déformée, une autre non.
-
Pourquoi FME ne déforme-t-il pas l'entité entière quand l'un de ses points tombe dans la distance maximale ? Parce que cela pourrait entraîner la rupture des réseaux topologiques. En travaillant point par point, les connexions ne seront jamais rompues car le point commun de l'entité connectée sera également déformé (même si le reste de cette entité ne l'est pas).
Configuration
Paramètres
Regrouper par |
Le comportement par défaut consiste à utiliser l'ensemble des entités d'entrée comme groupe. Cette option vous permet de sélectionner les attributs qui définissent les groupes à former. Chaque ensemble d'entités ayant la même valeur pour tous ces attributs sera traité comme un groupe indépendant. |
Traitement des regroupements |
Lorsque toutes les entités sont reçues : comportement par défaut. Le traitement n'aura lieu qu'une fois que toutes les entités en entrée seront présente. Quand le groupe change (avancé) : ce Transformer traitera les groupes en entrée dans l'ordre. Les changements de la valeur du paramètre Regrouper par sur le flux d'entrée déclencheront le traitement du groupe en cours de regroupement. Cela peut améliorer la vitesse globale (en particulier avec plusieurs groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes en entrée ne sont pas ordonné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 projet avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Coefficient de distance |
Spécifie comment la force d'une correction sera affectée par sa distance par rapport à un point observé. Une valeur de 2 entraîne une diminution de la force proportionnelle au carré de la distance. |
Distance Max |
Indique l'influence des vecteurs de contrôle. Tout point de départ de vecteur de contrôle situé à une distance supérieure à celle spécifiée par rapport au point sur lequel on opère n'aura aucun effet dans le calcul de la correction. Si la distance maximale n'est pas spécifiée (ou est égale à 0), tous les vecteurs de contrôle seront utilisés pour corriger chaque point. |
Nombre maximum d'actions sur les vecteurs (option) |
Indique que seul le nombre de vecteurs le plus proche donné aura un effet sur tout point en cours de déformation. Si elle n'est pas spécifiée (ou si elle est égale à 0), tous les vecteurs de contrôle seront utilisés pour corriger chaque point. |
É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.