Vous êtes ici
amalgamator
Généralise un polygone en prenant en compte les géométries voisines.
Ce Transformer accepte en entrée les entités de type polygone, incluant les polygones troués, et produit en sortie des triangles qui touchent les entités en entrée par des connecteurs ou des amalgames. Les petits trous générés par le traitement sont supprimés à la fin du processus.
Le processus de généralisation s'articule selon les étapes suivantes :
- Redirection des entités d'entrée de type non-polygonal par le port de sortie INVALID.
- Dissoudre les polygones pour supprimer les frontières communes et les chevauchements.
- Densifier les polygones dissouts.
- Déterminer l'enveloppe convexe du polygone densifié.
- Superposer l'enveloppe convexe par rapport au polygone densifié pour calculer les superficies vides entre les polygones.
- Trianguler les superficies vides.Conserver uniquement les tiangles dont la longueur est inférieure au paramètre de longueur maximum.
- Dissoudre les triangles pour former des connections.
- Pour chaque connection, vérifier s'il est valide.Il est considéré valide s'il partage une frontière commune avec un polygone dissout.
- En sortie, toutes les entités qui ne touchent aucun connecteur ressortent par le port UNTOUCHED.
- Dissoudre les connecteurs valides avec les polygones dissouts pour former un amalgame.
- Pour chaque amalgame, supprimer les trous dont la superficie est inférieure au paramètre "Surface trouée minimale ".Les autres trous ressortent par le port de sortie HOLES.
- Pour chaque amalgame, chercher tous les triangles qui le contiennent.Ces triangles ressortent par le port de sortie TRIANGLES.
- Tous les amalgames ressortent par le port de sortie AMALGAMATED.
- Pour le comportement des attributs, reportez vous à la partie sur les paramètres "Nom de la liste" et "Attribut ID".
Ports en entrée
- AREAS : Entités de type polygonal, incluant les polygones troués.Elles peuvent se chevaucher et partager des frontières communes mais doivent être valides (pas d'auto-intersection ou non-planaire).
Ports de sortie
- AMALGAMATED : Amalgames calculés à partir des polygones d'entrée.
- UNTOUCHED : Polygones en entrée qui ne touchent pas des triangles valides.
- HOLES : Trous dans les amalgames dont la superficie est supérieure au paramètre "Surface trouée minimale ".
- TRIANGLES : Triangles qui forment un connecteur valide.
- INVALID : Les entités en entrée de type non polygonal. Occasionnelement, si une condition inatendue est rencontrée, les résultats intermédiaires ressortent par ce port.
| Port d'entrée | Port de sortie |
|---|---|
![]() TRIANGLES (rouge) |
|
![]() |
![]() AMALGAMATED (vert) |
![]() HOLES (noir) |
Paramètres
Regrouper par (option)
En spécifiant un ou plusieurs attributs de regroupement, les entités en entrée sont traitées par groupe et le processus d'amalgamation est exécuté séparemment pour chaque groupe. Dans chaque groupe, les entités ont la même valeur pour le ou les attribut(s) sélectionné(s).
Si aucun attribut de regroupement est sélectionné, un seul groupe est formé contenant toutes les entités. Par défaut, aucune groupe n'est spécifié.
Mode d'Amalgamation
Ce paramètre contrôle le mode d'amalgamation. Le Transformer Amalgamator est conçu comme un opérateur binaire qui permet de connecter ensemble deux entités à proximité.Toutefois, deux détails géométriques peuvent avoir la même géométrie. Imaginons, deux péninsules de la même côte, ou deux géométries différentes, comme deux îles voisines. Plusieurs options sont fournies pour satisfaire les deux modèles conceptuels :
- Auto amalgamation : Ce mode amalgame un polygone avec lui même.Il traite les deux péninsules mais pas les deux îles voisines.
- Amalgamation binaire (par défaut) : Ce mode amalgame des polygones différents.Il traite les deux îles voisines mais pas le cas des péninsules.
- Amalgamation auto et binaire : Ce mode combine l'auto amalgamation et l'amalgamation binaire. Il traite les deux cas, des péninsules et des îles.
| Port d'entrée | Output : AMALGAMATED |
|---|---|
|
Auto Amalgamation |
|
![]() |
Amalgamation binaire |
|
Amalgamation auto et binaire |
Largeur maximum des triangles
Ce paramètre spécifie la largeur maximum des triangles provenant des connecteurs. La largeur du triangle est la largeur de sa base (cf. : image ci-dessous), la base étant le côté partagé avec un polygone. Plus cette valeur est grande, plus les triangles seront grands. En terme de nombre de triangles, en diminuant ce paramètre, le nombre de triangles augmentera généralement (du moins, ne diminura pas).
Après la dissolution des polygones de départ, des vertex sont ajoutés pour le processus de densification. L'intervalle de densification contrôle la largeur des triangles créés. Ce paramètre spécifie donc implicitement la longueur de l'intervalle de densification.
Hauteur maximum des triangles
Ce paramètre spécifie la longueur des triangles provenant des connecteurs. La longeur des triangles est approximativement la longeur de la médiane, qui partage la base en deux (cf. : image ci-dessous). Cette valeur ne peut pas être plus petite que la largeur maximum des triangles. En terme de nombre de triangles, en diminuant ce paramètre, le nombre de triangles diminuera généralement (du moins, n'augmentera pas).

Superficie minimum des trous
Ce paramètre contrôle quels trous doit être supprimés de l'amalgame.Plus cette valeur est grande, plus les trous restant seront grands. En terme de nombre de trous, plus cette valeur est petite, plus le nombre de trous restant augmentera (du moins ne diminuera pas).
Nom de liste (option)
Ce paramètre spécifie le nom de la liste des attributs pour les amalgames. Pour chaque amalgame, cette liste contient un élément pour chaque entité qui a une frontière commune avec l'amalgame. Tous les attributs de l'entité de départ sont récupérés dans la liste, à l'exception des attributs préfixés par fme_.
Attribut ID (option)
Ce paramètre spécifie le nom de l'identifiant (attribut) des amalgames. S'il est renseigné, chaque amalgame recevra une valeur unique par groupe pour cet attribut. Tous les triangles et les trous contenus dans l'amalgame recevront le même identifiant que l'amalgame.
Notes
La dissolution des entités en entrée est nécessaire pour supprimer les frontières communes et les chevauchements, avec lesquels l'Amalgamator peut ne pas fonctionner correctement. Cependant, la dissolution des entités a quelques effets secondaires :
- Si plusieurs entités en entrée sont dissoutes en une seule entité, alors seulement la liste d'attributs d'une entité sera conservéaprès dissolution.
- Si deux géométries en entrée ont une frontière commune - par exemple, deux péninsules collées ensemble - l'utilisateur pourrait s'attendre à ce que des triangles se forment entre les deux géométries lorsque le mode d'amalgamation bianaire est défini. Cependant, une telle géométrie sera d'abord dissoute, et le mode d'amalgamation binaire ne produira pas de connecteurs. Dans ce cas là, il faudra plutôt opter pour le mode d'amalgamation auto et binaire.
Si la longeur maximum des triangles est plus petite que la largeur maximum des triangles, les résultats pourront être imprévisibles.
Transformers liés
Implémentation
Fonction(s) de bas niveau utilisée(s) (Function ou Factory) : AmalgamatorFactory









Ajouter un commentaire