AnchoredSnapper
Prend une série d'entités qui correspondent à la spécification en entrée et effectue un accrochage sur les entités qui se trouvent dans la tolérance spécifiée par rapport aux autres entités qui correspondent à la spécification d'entrée. Vous pouvez utiliser ce Transformer pour effectuer des opérations de nettoyage sur les données pendant une traduction.
La différence entre AnchoredSnapper et Snapper est que les entités entrant par le port Anchor sont considérées comme exactes et donc ne doivent pas être déplacées.
Ports en entrée
Les entités auxquelles peuvent être accrochées à des entités du port d'entrée Candidate. Les arcs sont convertis en entités linéaires et les ellipses en entités surfaciques.
Les entités qui peuvent être accrochées à des entités du port d'entrée Anchor. Les arcs sont accrochés comme des entités linéaires et les ellipses comme des entités polygonales.
Ports de sortie
Entités issues du port d'entrée Candidate et dont la géométrie est changée par le Transformer.
Entités issues du port d'entrée Candidate et qui quittent le Transformer sans avoir été modifiés.
- Si une entité linéaire ou surfacique se rabat sur un seul endroit, elle ressort en tant que géométrie de type Point via le port Collapsed.
- Si une géométrie Agrégée, Multisurface, ou Multicourbe a une partie se rabattant sur un seul endroit, une géométrie de type Point sera combinée pour chacune avec une géométrie Multipoint et ressortira via le port Collapsed. Les pièces restantes qui n'ont pas été rabattues à un seul emplacement (le cas échéant) seront produites en tant que groupe par le biais du port Snapped.
Les entités du port d'entrée Anchor utilisées durant l'accrochage. Si une entité du port Candidate est accrochée à un point le long d'un segment d'une entité du port Anchor, alors un nouveau nœud est inséré dans la géométrie Anchor.
Paramètres
Traitement par groupe
Si vous sélectionnez Regrouper par, alors seulement les entités du même groupe seront accrochées ensemble.
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.
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.
Général
Quand Type d'accrochage vaut Extrémité :
- L'extrémité des entités entrant par le port Candidate est déplacée pour correspondre à l'extrémité des entités entrant par le port Anchor. Les entités Anchor ne sont pas mises en sortie.
- Des entités ponctuelles peuvent être utilisées comme point d'ancrageAnchor ou comme candidat au recalage Candidat.
- Les entités surfaciques ne sont pas modifiées par ce Transformer.
Quand Type d'accrochage vaut Vertex :
- Les vertex des entités entrant par le port Candidate sont déplacés pour correspondre aux vertex des entités entrant par le port Anchor. Les entités Anchor ne sont pas mises en sortie.
- Des entités ponctuelles peuvent être utilisées comme point d'ancrage Anchor ou Candidate, et les points Candidate seront accrochés entre eux (ou une entité Anchor linéaire).
- Ce Transformer modifie les entités surfaciques.
Quant ce paramètre vaut Segments:
- Les vertex de courbes ou les points entrant par le port Candidate sont accrochés aux lignes des entités entrant par le port Anchor, si leur distance est inférieure à la tolérance d'accrochage spécifiée en paramètre. Les entités Anchor ne sont pas mises en sortie.
- Le Transformer accroche les vertex des segments Candidate aux segments Anchor si leur distance est inférieure à la tolérance d'accrochage et ce à chaque point des segments.
- Les segments Candidate qui croisent les segments Anchor ont de nouveaux vertex insérés au point d'intersection, mais les segments Candidate resteront intacts.
- L'accrochage de segments peut engendrer la duplication de points.
- Les entités surfaciques sont modifiées par cette opération, leurs vertex subissent l'accrochage.
La distance d'accrochage détermine la distance d'accrochage entre toutes les entités.
Quand Type d'accrochage vaut Accrochage de Segments, le Transformer opère un nettoyage des données en améliorant la robustesse des résultats lorsqu'ils sont utilisés dans d'autres algorithmes et en s'assurant que deux vertex de géométries modifiées soient l'un par rapport à l'autre, à une distance inférieure à la tolérance.
Si le paramètre Tolérance est réglé sur Automatique, une tolérance sera automatiquement calculée pour l'opération de nettoyage, en fonction de la taille des entrées. Sinon, une tolérance personnalisée peut être utilisée.
Ce paramètre s'applique seulement quand le point final d'une entité a été modifié.
- Jamais : le point final d'une ligne est déplacé et aucun vertex supplémentaire n'est ajouté.
- Toujours : un nouveau vertex est ajouté pour prolonger la ligne.
- En avant uniquement : un nouveau vertex est ajouté uniquement lorsque cela crée un angle supérieur à 90 degrés avec le segment de ligne d'origine. Dans ce cas, si l'ajout du vertex crée un angle inférieur à 90 degrés, l'ancien point d'arrivée est tout de même déplacé.
Notes
- Toute entité qui subit un effondrement dimensionnel à la suite d'un accrochage sera enregistrée comme "dégénérée" et abandonnée. "L'effondrement dimensionnel" fait référence à une ligne ou une zone qui devient un point, ou une zone qui devient une ligne.
- Une brève étape de nettoyage est effectuée après l'accrochage. Cette étape supprime les points dupliqués, et peut créer des agrégats pour préserver les superpositions.
Exemples
É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.
Mots clefs : FixedSnapper BaseSnapper