Transformers FME: 2025.0
Transformers FME: 2025.0
AreaBuilder
Crée des polygones à partir d'entités linéaires topologiquement correctes.
Cas d'utilisations typiques
- Créer des polygones à partir d'entités linéaires
- Vérifier la topologie d'un réseau linéaire
Comment fonctionne-t-il ?
AreaBuilder reçoit des entités avec une géométrie linéaire (lignes, chemins et polygones) et crée des surfaces là où les lignes entourent des formes fermées.
Les surfaces ressortent du Transformer ainsi que toutes les géométries inutilisées pour la création de la surface.
Les attributs peuvent être fusionnés ou supprimés, ou accumulés dans un attribut de liste avec un attribut de direction facultatif qui enregistre l'orientation des caractéristiques d'entrée.
Les limites des polygones de sortie peuvent être des lignes ou des chemins qui préservent les segments d'entrée. Lorsque des surfaces sont contenues dans d'autres surfaces, des polygones troués peuvent être créés et les trous peuvent être édités ou supprimés.
Des règles plus strictes peuvent être appliquées pour la formation d'une surface réussie, y compris la vérification de la direction continue de la courbe et des bords internes (cycles).
Les géométries agrégées sont soit désagrégées, soit rejetées.
Les valeurs Z sont supportées.
Préparer les entités entrantes pour AreaBuilder
Les entités d'entrée doivent avoir une topologie propre, sinon elles ne seront pas utilisées et sortiront avec la mention Incomplete. AreaBuilder permet d'effectuer des raccords, mais un prétraitement plus poussé peut être nécessaire.
Les problèmes de topologie peuvent être :
- Entités ne se terminant pas aux itnersections
- Nœud mal alignés
- Décalage inférieur/supérieur
- Nœuds manquants aux intersections
Ces Transformers peuvent être utiles pour le prétraitement des entités d'entrée.
|
Utilisez ceci pour |
Description |
---|---|---|
Accrocher de nœuds mal alignés avec plus d'options que l'accrochage intégré d'AreaBuilder. |
Accrocher des lignes, segments, vertex ou points finaux d'entités entre eux s'ils se trouvent à une certaine distance les uns des autres et s'ils ont au moins un attribut en commun. |
|
Diviser les entités qui se croisent, en ajoutant de nouveaux nœuds si nécessaire. |
Calculer les intersections entre toutes les entités en entrée, coupant les lignes et polygones à chaque intersection. |
|
Diviser les entités qui se croisent, en ajoutant de nouveaux nœuds si nécessaire. |
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. |
|
Ajouter une longueur aux décalages inférieurs (suivi d'un Intersector). |
Prolonger les entités de ligne, d'arc ou de chemin aux deux extrémités d'une longueur spécifiée. |
|
Construire d'une topologie complète sur les entités d'entrée, y compris leur intersection. |
Calculer les relations topologiques à partir d'entités ponctuelles, linéaires et/ou surfaciques en entrée. Le Transformer génère des nœuds, arêtes et faces avec des attributs décrivant leurs relations topologiques. |
Exemples

Dans cet exemple, nous disposons d'un ensemble d'entités de rues à partir desquelles nous voulons construire des polygones surfaciques.
Noter que la rue sélectionnée est une entité linéaire simple sur toute sa longueur.
Les entités sont acheminées dans un AreaBuilder.
Dans la fenêtre de paramètres, le paramètre part défaut Polygone est utilisé.
Un attribut de liste nommé Streets est ajouté. Il contient le nom de toutes les rues avoisinantes chaque surface en sortie ainsi que l'orientation du segment linéaire.
Le résultat n'est pas très satisfaisant, puisqu'il ne crée que quelques surfaces.
Un Intersector est ajouté avec les paramètres par défaut.
Notez que les entités en sortie intersectées sont maintenant séparées lorsqu'elles intersectent une autre entité.
Les entités intersectées sont acheminées à travers un autre AreaBuilder (et colorées de manière aléatoire à des fins d'illustration).
Le résultat est cette fois satisfaisant. Notez que l'attribut de liste contient les noms de rue et l'orientation de géométrie.

L'option Construire les arêtes internes (Avancé) est utilisée avec une géométrie qui contient des segments dupliqués dans des directions opposées (cycles), comme illustré ici.
Notez que deux entités sont sélectionnées, l'une au-dessus de l'autre.
Les coordonnées de la deuxième entité sont inversées. Son orientation est opposée à celle de la première entité.
Les entités sont acheminées dans un AreaBuilder.
Lorsque la valeur Construire les arêtes internes (Avancé) vaut Non (par défaut), deux surfaces sont produites et l'un des segments dupliqués est envoyé au port de sortie Incomplete.
Si Créer des polygones troués est activé, le polygone externe devient un polygone troué et l'interne son trou.
Lorsque la valeur Construire les arêtes internes (Avancé) vaut Non (par défaut), une surface est créée en utilisant tous les segments pour former une frontière continue avec des bords internes.
Notes
- Comme les entités d'entrée doivent être topologiquement correctes pour qu'AreaBuilder puisse créer des polygones, il peut être utile de vérifier la topologie.
- AreaBuilder dispose d'une certaine capacité d'accrochage, mais Snapper offre plus d'options d'accrochage.
Créer des modifier des entités surfaciques
Ces Transformers fonctionnent avec les polygones de différentes manières.

Transformer |
Utilisez ceci pour... |
Description du Transformer |
---|---|---|
Créer une ou plusieurs nouvelles entités avec une géométrie surfaciques (lorsque Objet géométrique est Polygone). |
Crée une entité à partir des paramètres spécifiés et l'envoie dans l'espace de travail pour traitement. |
|
Créer des surfaces à partir de lignes topologiquement connectées lorsqu'elles forment des formes fermées. |
Crée des polygones à partir d'entités linéaires topologiquement correctes. |
|
Crée des polygones à partir d'entités linéaires topologiquement correctes. |
Convertit une entité linéaire en surface en reliant le point d'arrivée au point de départ. |
|
Combinez des surfaces qui se touchent ou se superposent pour créer des surfaces plus grandes. |
Combine des zones superposées et/ou adjacentes en de plus grandes zones contiguës en supprimant les bords partagés et intérieurs. |
|
Calculer des surfaces |
Calcule la surface plane ou inclinée des géométries polygonales et ajoute les résultats en tant qu'attributs. |
|
Nettoyer les superpositions et les trous pour créer une surface contiguë. |
Répare les topologies de surfaces en résolvant les trous et superpositions entre surfaces adjacentes. |
|
Généraliser des surfaces. |
Généraliser la géométrie de la zone en reliant et en combinant les entités voisines et/ou en remplissant les trous et les détails. |
|
Convertir les surfaces de polygone troué en surfaces non trouées. |
Ajoute des arêtes internes pour relier les trous du polygone troué à l'enveloppe extérieure, produisant ainsi un polygone sans trou. |
|
Convertir les surfaces à l'intérieur des surfaces en polygones troués. |
Découpe des trous dans les entités de la surface lorsqu'elles entourent entièrement une autre surface, créant ainsi des polygones troués. |
|
Séparer les surfaces de polygone troué en leurs parties. |
Séparer les polygones troués en polygones d'enveloppe externe et de trou. |
|
Comptez le nombre de trous dans un polygone troué. |
Récupère le nombre de trous dans les polygones troués, en stockant le résultat sous forme d'attribut. |
|
Trouver les superpositions de polygones et les extraire dans une nouvelle géométrie. |
Superpose des surfaces sur des surfaces, en intersectant la géométrie et en partageant les attributs. |
|
Trouver les intersections entre les lignes et les polygones, en divisant l'un ou l'autre à l'endroit où ils se croisent. |
Superpose des lignes sur des surfaces, en intersectant la géométrie et en partageant les attributs. |
|
Identifier les points situés à l'intérieur des polygones et partager les attributs entre eux. |
Superpose des points sur des surfaces, en partageant les attributs. |
Configuration
Ports d'entrée

Entités dont la géométrie linéaire est topologiquement correcte.
Ports de sortie

Polygones créés depuis les entités en entrée tel que spécifié dans les paramètres.

Les entités qui n'ont pas été utilisées pour créer des surfaces.

Les entités rejetées auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_TYPE
INVALID_GEOMETRY_VERTICES
INVALID_GEOMETRY_DEGENERATE
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. Aucun autre attribut que ceux définis par le critère de regroupement des entités en entrée vers les entités en sortie ne passera. |
||||
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. |

Considérer l'élévation des nœuds |
Sélectionnez une option pour traiter les valeurs z, si elles existent :
|
||||||||||||||||||
Méthode de connexion du Z |
Lorsque l'option Prendre en compte d'élévation des nœuds est Non, sélectionnez une méthode pour déterminer les valeurs z si elles existent. ![]() 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.
|
||||||||||||||||||
Conserver les lignes comme des segments chemins |
Sélectionner une méthode pour créer une géométrie surfacique :
|
||||||||||||||||||
Construire les sommets internes (Avancé) |
Sélectionner une option pour créer des cycles dans les surfaces :
Un "cycle" est une portion de ligne qui apparaît deux fois dans les bordures d'un même polygone (une fois dans chaque sens). Noter que les surfaces avec des cycles peuvent être considérées invalides pour le traitement d'autre géométries ou non supportées par certains formats de sortie. |
||||||||||||||||||
Vérifier la direction de la courbe |
Sélectionnez une option pour évaluer l'orientation des entités d'entrée :
|
||||||||||||||||||
Gestion des agrégats |
Choisir comment les agrégats de géométries doivent être gérés. Désagréger : Décompose les agrégats en leurs composants individuels. Avec ce paramètre, le Transformer peut produire plus d'entités que celles qui ont été données en entrée. Rejeter : ne pas traiter les agrégats et les sortir via le port <Rejected>. |
||||||||||||||||||
Création de polygones troués |
Lorsque cette option est activée, les surfaces entièrement contenues dans d'autres surfaces produisent des polygones troués. Les trous de polygone troué peuvent être conservés ou éliminés. Les trous de polygone troué qui ont des bords communs sont dissous dans des trous plus grands.
Lorsque cette option est désactivée, toutes les surfaces sont éditées sans trous et les surfaces contenant des trous ne sont pas prises en compte. Polygone troué et attributs de liste : Lorsque des attributs de liste sont créés sur des polygones troués, les éléments de liste sont inclus pour toutes les entités d'entrée, y compris celles qui constituent à la fois la surface contenante et tous les trous. |

Type d'accrochage |
Sélectionner une méthode pour le pré-traitement optionnel d'entités en entée :
Lorsque deux entités sont accrochées l'une à l'autre, la dernière entité (dans l'ordre de traitement) est modifiée pour correspondre à la première. |
||||||
Tolérance d'accrochage |
Lorsque le type d'accrochage est l'accrochage de point final ou l'accrochage de vertex, spécifiez la distance maximale en unités de masse entre les points pour qu'ils soient accrochés l'un à l'autre. |

Traitement des attributs |
Spécifier comment les attributs sont accumulés sur les surfaces :
|
||||||
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 | Polygonizer PolygonBuilder |
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.