LeftRightSpatialCalculator
Calcule la position relative de Candidat par rapport aux entités entrant part le port Base.
La géométrie des entités Base est de type Ligne.
Voir l'exemple ci-dessous. Les lignes de Base sont considérées comme étant orientées du point de départ au point d'arrivée (sens de la numérisation). Une entité Candidate est :
- située à gauche de l’entité Base en regardant vers le bas de la ligne de Base et ce dans le sens de l'orientation (du début à la fin) ;
- située à droite si l'entité Candidate se trouve à droite de l'entité Base ;
- UNDEFINED si les entités de Base et Candidate s'intersectent, ou si l'entité Base a un unique point.
Configuration
Ports de sortie
Avant d'être envoyée par le port de sortie Output, chaque entité Candidate est associée à une liste de ses positions relatives par rapport à chacune des entités Base. Chaque élément de la liste comporte deux informations :
- Un «base_id» qui identifie la base sur laquelle porte le calcul
- La « position » relative de l’entité CANDIDAT par rapport à la BASE concernée.
Les entités de Base sont supprimées après avoir été utilisées.
Toute entité Base qui n'est pas une ligne est transmise par ce port. Toutes les entités Candidate nulles et agrégées sont émises par ce port. La partie valide sera sortie par le port Output, et la partie invalide sera sortie par le port <Rejected>.
Paramètres
Regrouper par |
Si vous choisissez de Grouper par des attributs, les Candidats seront seulement comparés aux Bases qui ont la même valeur pour le ou les attribut(s) sélectionnés dans la liste. |
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. |
Utiliser le Centre de gravité du candidat |
Si vous choisissez Oui (par défaut), l'algorithme utilisera uniquement le centre de gravité des Candidats au lieu de prendre en compte toute la géométrie. |
Utiliser le point de la Base le plus proche du Candidat |
Si vous choisissez Oui, l'algorithme se base uniquement sur le point de la ligne Base qui est le plus proche du premier point ou du "centre de gravité". Note: Dans certains cas, les mathématiques utilisées dans l'algorithme peuvent produire un résultat opposé à ce que l'œil humain attend subjectivement. Si vous choisissez Non, l'algorithme utilisera une méthode basée sur la "gravité" ou la "pondération" de sorte que tous les segments sont utilisés ; les segments de la ligne de base qui sont plus proches du candidat auront un poids plus élevé que les segments plus éloignés. Les pondérations sont additionnées pour chacun des segments de la base et produiront la gauche ou la droite selon le consensus du groupe. Cela produira généralement un résultat subjectivement plus attrayant visuellement. Note: Il peut y avoir certains cas où le résultat retourné est incorrect. |
Type de base |
Définissez si une seule base sera fournie, ou si plusieurs bases seront fournies. Si vous choisissez Bases d'abord, toutes les entités Base entreront dans le Transformer en premier, avant toutes les entités Candidate. |
Attribut ID de la base (Requis) |
Choisir l'attribut Base dont la valeur sera utilisée pour l'identifier dans la liste des positions relatives de chaque Candidat. |
Liste des positions relatives |
Spécifiez le nom de la liste qui sera ajoutée à toutes les entités de Candidate, et qui va contenir les positions relatives. |
É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 : position relative