Transformers FME: 2025.0
Transformers FME: 2025.0
PathBuilder
Connecte des entités séquentielles de lignes et/ou d'arcs pour créer une géométrie de chemin, en préservant les segments d'entrée.
Cas d'utilisations typiques
-
Combinaison de géométries lorsque les entités d'entrée sont des arcs
-
Combiner la géométrie tout en préservant les segments d'entrée
Comment fonctionne-t-il ?
PathBuilder reçoit des entités avec une géométrie de ligne ou d'arc et les connecte dans l'ordre reçu.
Les lacunes entre les entités d'entrée sont connectées comme suit :
-
Ligne à ligne ou arc : la première ligne est prolongée jusqu'au point de départ de l'entité suivante.
-
Arc à ligne : la ligne s'étend depuis le point de départ jusqu'au point de fin de l'arc.
-
Arc à arc : une ligne à deux points connecte la fin du premier arc au début du second arc.
Les coordonnées Z sont prises en charge. Les entités dont les coordonnées x et y correspondent mais dont les valeurs z aux points de connexion diffèrent sont traitées en fonction du paramètre Méthode de connexion du Z.
Les attributs peuvent être rassemblés sous la forme d'une liste d'attributs, préservant les valeurs d'attributs pour chaque segment qui peut ensuite être reconstruit en tant que géométries individuelles avec un PathSplitter.
Notez que la géométrie des chemins n'est pas prise en charge dans tous les formats de sortie. Voir aussi : Line, Arc, et géométrie Chemin.
Exemples

Dans cet exemple, une ligne de transit est représentée par un certain nombre de segments de ligne, chacun d'une longueur d'environ 1 000 mètres, avec un nombre variable de coordonnées par segment.
Nous voulons les combiner en une seule géométrie tout en conservant les informations sur les segments.
Les entités sont acheminées dans un PathBuilder.
Dans les paramètres, les réglages par défaut sont conservés.
Une entité est produite avec la géométrie Path. Notez que les segments originaux sont intacts à l'intérieur du chemin et peuvent être recréés à l'aide d'un PathSplitter.
Si les entités sont traitées à l'aide d'un LineBuilder, les segments sont fusionnés en une seule ligne contenant toutes les coordonnées des entités d'entrée. La segmentation d'entrée est perdue.

Si les segments individuels d'une ligne plus longue ont des attributs variables - des limitations de vitesse fluctuantes sur une autoroute, par exemple - ces valeurs d'attributs peuvent être conservées en tant qu'attribut de liste sur la géométrie du chemin et récupérées ultérieurement lorsque le chemin est divisé à nouveau en ses segments constitutifs.
Créer un chemin et conserver des attributs
Dans cet exemple, nous avons un ensemble de petites lignes qui constituent une piste cyclable. Les valeurs des attributs peuvent varier d'un segment à l'autre.
Nous voulons traiter la piste cyclable comme un seul morceau de géométrie, tout en conservant les détails du segment original - à la fois la géométrie et l'attribution.
Les lignes sont acheminées dans un PathBuilder.
Dans la boîte de dialogue des paramètres, l'option Générer une liste est activée, la liste est nommée SegmentAttributes et tous les attributs sont ajoutés à la liste.
Le chemin de sortie a une liste SegmentAttributes avec 11 éléments de liste, et sa géométrie est un chemin avec 11 segments.
Notez la différence entre les valeurs des attributs des éléments de la liste 9 et 10.
Fractionnement d'un chemin et récupération des attributs
Dans cet exemple, nous voulons récupérer la géométrie et l'attribution originales du chemin avec un attribut de liste créé dans l'exemple ci-dessus.
Notez la géométrie du chemin avec 11 segments et la liste SegmentAttributes avec 11 éléments.
Le chemin est acheminé dans un PathSplitter.
Dans la boîte de dialogue des paramètres, la liste des segments est définie sur l'attribut de liste SegmentAttributes.
Les entités de sortie reçoivent des valeurs d'attribut en fonction des paires de segments de chemin et d'éléments de liste.
Notes
-
Un Sorter peut être utile pour commander des entités avant d'utiliser le PathBuilder.
-
Il est possible de créer des chemins s'auto-intersectant avec ce Transformer, lesquels ne seront pas rejeter.
-
Lorsque le PathBuilder remplit les espaces entre les entités, il peut produire des résultats inattendus si les entités d'entrée ne sont pas triées correctement. Pour combiner des lignes adjacentes (sans créer de nouvelle géométrie pour relier les espaces), utilisez un LineCombiner (et ArcStroker, si des arcs sont présents).
-
La géométrie agrégée traite également plusieurs géométries comme une seule unité, mais la géométrie de trajectoire garantit que les composants sont contigus et connectés.
-
PathSplitter annule la sortie de PathBuilder.
Créer des modifier des entités linéaires
Ces Transformers fonctionnent avec les lignes de différentes manières.

Transformer |
Utilisez ceci pour... |
Description du Transformer |
---|---|---|
Crée une ou plusieurs nouvelles entités avec une géométrie de boîte d'une taille et d'une position spécifiques (lorsque l'Objet géométrique est Boîte). |
Crée une entité à partir des paramètres spécifiés et l'envoie dans l'espace de travail pour traitement. |
|
Créer de simples lignes depuis des lignes et/ou des points. |
Relie des entités séquentielles de points et/ou de lignes pour créer une géométrie de ligne ou de surface. |
|
Combinaison de lignes adjacentes pour former des lignes plus longues ou des chemins complexes, avec des options de gestion de la géométrie plus avancées que celles de LineBuilder. |
Relie les entités de ligne qui se rencontrent à des points de départ ou d'arrivée communs pour créer des lignes ou des chemins plus longs. |
|
Combiner des arcs et lignes en chemins plus longs. |
Connecte des entités séquentielles de lignes et/ou d'arcs pour créer une géométrie de chemin, en préservant les segments d'entrée. |
|
Convertir les entités linéaires en surfaces. |
Convertit une entité linéaire en surface en reliant le point d'arrivée au point de départ. |
|
Etendre des géométries linéaires. |
Prolonger les entités de ligne, d'arc ou de chemin aux deux extrémités d'une longueur spécifiée. |
|
Découper les entités en entités plus petites, en les découpant au niveau de leurs vertex existants. |
Découper les entités de type ligne, arc, chemin ou surface en entités plus petites en fonction du nombre de sommets ou de la longueur approximative. |
|
Décomposition d'un chemin en segments (lignes et arcs). |
Divise la géométrie de la trajectoire en segments de lignes et/ou d'arcs qui la composent. |
|
Raccourcir des géométries linéaires. |
Raccourcit la géométrie linéaire en coupant les extrémités. |
|
Intersecter lignes et surfaces. |
Effectue une superposition ligne-sur-surface. Chaque ligne d'entrée est divisée à toutes les limites de surface qu'elle croise ou les surfaces sont fractionnées là où elles sont superposées à des lignes. Les attributs peuvent être partagés entre les lignes et les surfaces liées (jointure spatiale). |
|
Intersecter lignes et lignes. |
Effectue une superposition ligne sur ligne dans laquelle toutes les lignes d'entrée sont intersectées les unes contre les autres et les entités de ligne résultantes sont créées et sorties. Les points d'intersection sont transformés en entités ponctuelles qui peuvent contenir la liste fusionnée des attributs des lignes intersectées originales. |
|
Trouver l'emplacement des points sur les lignes. |
Effectue une superposition point sur ligne. Chaque ligne en entrée est découpée au plus proche endroit d'un point dans le seuil de tolérance spécifié et les attributs sont partagés entre les points et les lignes liés (jointure spatiale). |
Configuration
Ports en entrée

Ce Transformer accepte les entités avec une géométrie de ligne, d'arc ou de chemin. Lorsque des trajectoires sont saisies, elles restent intactes et les autres géométries sont ajoutées en amont ou en aval en fonction de l'ordre de saisie.
Ports de sortie

Les segments d'entrée combinés en entités de chemin sont édités ici.

Les entités dont la géométrie n'est pas celle d'une ligne, d'un arc ou d'un chemin valide sont émises via ce port.
Les entités rejetées auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_TYPE
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
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. L'entité en cours de création est éditée chaque fois qu'une valeur de Regrouper par change. Dans ce cas, l'entité dont l'attribut diffère n'est pas ajoutée à l'entité de sortie actuelle, mais elle commence la prochaine entité à produire. |
||||
Traitement des regroupements |
Sélectionnez le moment du traitement où les groupes sont traité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 traitement avec vos données est le seul moyen sûr d'identifier le gain de performance. |

Méthode de connexion du Z |
Lorsque des points de connexion ont des coordonnées x et y identiques mais des valeurs z différentes, sélectionnez une méthode pour traiter z. ![]() En le visualisant en 2D (en ignorant le Z), un chemin (qui peut définir le bord d'un polygone) peut apparaître fermé tel que montré ci-dessous. Ce même chemin, vu en 3D, peut apparaître ouvert comme le montre la figure de droite ci-dessous.
Pour spécifier la façon (et si) dont le chemin doit être fermé en 3D, sélectionner une des méthodes suivantes.
|
||||||||||||||||||
Gestion des agrégats |
Choisir comment les agrégats de géométries doivent être gérés :
|

Génération de liste |
Quand activé :
|
Éditer les paramètres des Transformers
Les paramètres du Transformer peuvent être définis en saisissant directement des valeurs, en utilisant des expressions ou en faisant référence à d'autres éléments de l'espace de travail tels que des valeurs d'attributs ou des paramètres utilisateur. Divers éditeurs et menus contextuels sont disponibles pour vous aider. Pour voir ce qui est disponible, cliquez sur à côté du paramètre concerné.

Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple consiste à saisir simplement une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types telles que des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres traitement.
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. |

Outils de tableau
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.
Pour plus d'information, consulter la section Options des Transformers.
Références
Comportement |
|
Stockage des entités |
Oui |
Dépendances | Aucun |
Alias | |
Historique |
FME Community
FME Community dispose d'une mine de connaissances sur FME, avec plus de 20 000 membres actifs dans le monde entier. Obtenez de l'aide sur FME, partagez vos connaissances et entrez en contact avec des utilisateurs du monde entier.
Voir tous les résultats à propos de ce Transformer sur FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.