RubberSheeter
Ajuste de manière variable les coordonnées des entités vectorielles en fonction de leur proximité avec les entités vectorielles de commande indiquant les positions actuelles et souhaitées.
Cas d'utilisation courants
-
Application de corrections de position lorsque les modifications ne sont pas cohérentes dans l'ensemble des données.
Comment fonctionne-t-il ?
Le RubberSheeter reçoit deux types d'entités : celles observées qui doivent être ajustées (rentrant par le port Observed) et celles qui décrivent les contraintes de cet ajustement (entités vectorielles rentrant par les ports Control et Constraints).
Les entités observées peuvent avoir n'importe quel type de géométrie vectorielle.
La plupart des entités vectorielles de contrôle ont deux points. Le point de départ est situé quelque part dans l'espace des entités observées, et le point d'arrivée est le nouvel emplacement souhaité pour ce point.
Une entité vectorielle de contrôle ne comportant qu'un seul point indique qu'un emplacement ne doit pas être déplacée - elle est souvent appelée point de rattachement.
Chaque vertex est modifié différemment, en fonction de sa proximité avec les entités vectorielles de contrôle (en utilisant un coefficient de la distance inversé). Seules les entités vectorielles de contrôle qui commencent à l'intérieur de la Distance maximale spécifiée sont utilisées pour calculer la nouvelle position. Une partie de l'entité peut ainsi être transformée et une autre rester en l'état.
Les entités contraintes sont facultatives. Ces lignes sont considérées comme des limites, sur lesquelles les entités vectorielles de contrôle n'auront aucune influence. Si la ligne de visée entre un point d'une entité observée et le point de départ d'une entité vectorielle traverse une ligne de contrainte, cette entité vectorielle de contrôle n'affectera pas le point en question. Si la ligne de visée touche l'extrémité d'une ligne de contrainte, ou si l'entité vectorielle de contrôle ou le point observé est effectivement situé sur la ligne de contrainte, l'entité vectorielle de contrôle influencera le point observé.
Les entités observées modifiées sont émises via le port Corrected . Les entités vectorielles de contrôle et de contraintes sont rejetées.
Notes
-
AffineWarper fournit une fonctionnalité similaire mais calcule une transformation affine (échelle, rotation et décalage) basée sur les entités vectorielles de contrôle et applique cette transformation aux entités observées. Cette méthode est plus appropriée lorsque l'ensemble des entités observées nécessite une transformation unique et cohérente.
-
Les géométries raster ne sont pas prises en charge.
Configuration
Ports d'entrée
Des entités linéaires à deux points allant des positions actuelles aux positions corrigées et des entités à un point indiquant les positions à ne pas modifier.
Les entités vectorielles doivent être recouvertes de traitées.
Les entités linéaires qui bloquent l'influence des entités vectorielles de contrôle.
Ports de sortie
Entités observées dont les coordonnées ont été modifiées en fonction de la sélection des paramètres.
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 |
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. |
Coefficient de distance |
Spécifier l'exposant à utiliser dans l'algorithme de pondération de la distance inverse. La force d'une correction est déterminée par sa distance par rapport à un point observé. Un exposant de 2 diminuera la force de la correction proportionnellement au carré de la distance. La valeur par défaut est 2.0. |
Distance Max |
Spécifier la distance maximale en unités terrain sur laquelle une entité vectorielle de contrôle exerce une influence. Toute entité vectorielle de contrôle dont le point de départ est plus éloigné que la distance spécifiée du vertex sur lequel on travaille ne sera pas prise en compte dans le calcul. S'il n'est pas spécifié ou s'il est égal à zéro (0), toutes les entités vectorielles de contrôle seront appliquées à tous les vertex, sauf si elles sont limitées par le paramètre Nombre maximum d'actions sur les entités vectorielles ou par les entités du port Constraint. |
Nombre maximum d'actions sur les entités vectorielles (option) |
Spécifier un nombre maximum d'entités vectorielles à appliquer à un vertex donné. Les entités vectorielles de contrôle dont les points de départ sont les plus proches seront prises en compte, jusqu'au maximum d'entités vectorielles spécifié. S'il n'est pas spécifié ou s'il est égal à zéro (0), toutes les entités vectorielles de contrôle seront appliqués à tous les vertex, sauf si elles sont limitées par le paramètre Distance maximale ou par les entités de contrainte. |
É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 |
Oui |
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.