Vous êtes ici
generalizer
Il existe quatre types d'algorithmes disponibles :
- L'algorithme de généralisation va supprimer des points.
- L'algorithme de lissage va déterminer une nouvelle position pour chaque vertex.
- L'algorithme de mesure calcule l'emplacement des points et retourne une liste de ces points (par exemple, pour mesurer la sinuosité d'une entité).
- L'algorithme Fitting remplace complètement la géométrie originale avec une nouvelle entité selon une ligne spécifique (par exemple, pour minimiser la distance orthogonale à l'originale).
Le choix de l'algorithme détermine quels paramètres seront activés dans le Transfomer.
Algorithme de généralisation
Douglas
L'algorithme de Douglas entraîne la suppression des vertex responsables d'une faible déviation (inférieure à la TOLERANCE DE GENERALISATION).Les vertex restants ne sont pas déplacés.
- Préserver les limites communes
- Tolérance de généralisation
Thin
L'algorithme de Thin entraîne la suppression des vertex qui sont à une distance inférieure à la TOLERANCE DE GENERALISATION du vertex voisin.Les points de départ et de fin ne sont jamais supprimés, sauf si la longueur totale de l'entité est inférieure à la TOLERANCE DE GENERALISATION. Dans ce cas, l'entité est remplacée par un point dont les coordonnées correspondent au point final.
- Préserver les limites communes
- Tolérance de généralisation
ThinNoPoint
L'algorithme de ThinNoPoint entraîne la suppression des vertex qui sont à une distance inférieure à la TOLERANCE DE GENERALISATION du vertex voisin.Les points de départ et de fin ne sont jamais supprimés, même si la longueur totale de l'entité est inférieure à la TOLERANCE DE GENERALISATION.Dans ce cas, l'entité est remplacée par une ligne reliant le premier point au dernier.
- Préserver les limites communes
- Tolérance de généralisation
Deveau
L'algorithme de Deveau entraîne la suppression des vertex qui contribuent le moins à la forme générale de l'entité. Il se peut que de nouveaux vertex apparaissent. Le comportement de cet algorithme est tel qu'il fausse la valeur des coordonnées z, ainsi que les mesures de distance. Les entités en sortie seront donc toujours en 2D et sans mesure. Cet algorithme utilise deux nouveaux paramètres : le NOMBRE D'ANGLES et l'ANGULOSITE.
- Préserver les limites communes
- Tolérance de généralisation
- Facteur poids lissé
- Angulosité
Wang
l'algorithme de Wang élimine et exagère les coudes jusqu'à qu'une entité linéaire n'aie plus de virage plus petit que la valeur de tolérance fournie.
- Préserver les limites communes
- Tolérance de généralisation
Algorithme de lissage
McMaster
L'algorithme de McMaster détermine une nouvelle position pour chaque point en calculant tout d'abord la moyenne des valeurs des coordonnées x, y de ce point et des points voisins. Le point moyen ainsi calculé est ensuite décalé vers le point d'origine, suivant le paramètre POURCENTAGE DE DECALAGE. Chaque point est ainsi déplacé vers ses voisins.
- Préserver les limites communes
- Nombre de voisins
- Pourcentage de décalage
L'algorithme de McMaster à Distance Pondérée
L'algorithme de McMaster à Distance Pondérée réalise la même opération que l'algorithme de MacMaster mais le point moyen est calculé en donnant aux points voisins un poids inversement proportionnel à leur distance. Les points éloignés ont ainsi un effet plus limité et tirent moins le point résultant vers eux que les points qui lui sont plus proches.
L'algorithme de McMaster à Distance Pondérée utilise un nouveau paramètre, le COEFFICIENT DE PONDERATION. Il sert à déterminer le poids affecté à chaque voisin.
Note : Pour les lignes, l'algorithme de McMaster ne change pas les N premiers et derniers points (où N est le nombre de voisins) car ils n'ont pas assez de voisins pour calculer le point moyen.Pour les polygones, une rotation est utilisée afin que chaque point soit déplacé. Dans le cas de polygones adjacents, et si l'option PRESERVER LES LIMITES COMMUNES est choisie, les limites communes des polygones sont lissées de la même façon. Leurs autres limites sont lissées comme des lignes. Ceci veut dire que la rotation n'est pas utilisée pour les polygones adjacents.
- Préserver les limites communes
- Nombre de voisins
- Pourcentage de décalage
- Coefficient de pondération
NURBfit
L'algorithme NURBfit lisse les lignes en utilisant B-Spline du Les lignes résultantes suivent les courbes sur la longueur spécifiée par le paramètre "Longueur des segments". Plus le degré du polynôme est élevé, plus la ligne est lissée. Un exemple d'utilisation est fourni par le lissage des lignes afin de supprimer les épis et simuler le travail manuel d'un cartographe.
- Préserver les limites communes
- Degré de Base Polynomial
- Longueur de segment
Algorithme de Mesure
Points d'inflexion
L'algorithme d'inflexion calcule l'emplacement des points d'inflexion le long d'une ligne et retourne la liste de ces points. Les points d'inflexion mesurent la sinuosité d'une ligne.
- Nombre de voisins
Algorithmes Fitting
Distance orthogonale de regréssion
Cet algorithme remplace la géométrie de l'entité par une ligne qui minimise la distance orthogonale entre elle et le point d'origine. La distance orthogonale signifie la plus petite distance (perpendiculaire) entre un point et une ligne.
- Aucun
Paramètres
Chaque paramètre peut être défini comme une constante ou comme la valeur d'un attribut choisi dans la liste déroulante.
Préserver les limites communes
Non : Si vous choisissez la valeur 'Non', chaque entité sera traitée et généralisée individuellement, sans se préoccuper des entités voisines. Si les entités étaient à l'origine bien jointives, des trous et des chevauchements peuvent apparaître après traitement. Donc, si vous souhaitez préserver la topologie d'une couche, vous devez choisir 'Oui'.
Oui : la topologie de la couche sera préservée. Les entités présentes dans la couche ne doivent pas se chevaucher. Si elles se chevauchent, vous devez choisir 'Non'. Sinon, utilisez au préalable le Transformer AreaOnAreaOverlayer afin de supprimer ces chevauchements. Dans certaines situations, le transformer Snapper (avec l'option VERTEX) devra également être utilisé avant, après, ou à la place du transformer Generalizer.
Ce Transformer produit la topologie pour la couche, généralise les lignes individuelles, puis recrée les polygones. Cette option prend plus de temps car elle produit la topologie "arc/noeud", généralise les lignes individuelles, puis recrée les polygones.
Tolérance de généralisation
La TOLERANCE DE GENERALISATION est utilisée par les quatre algorithmes. Elle doit être spécifiée dans l'unité de mesure des entités.
Facteur poids lissé
Le NOMBRE D'ANGLES est utilisé seulement par l'algorithme de Deveau. Il contrôle le nombre de vertex pris en compte simultanément pour définir la forme de l'entité. Plus cette valeur est forte, plus la généralisation sera importante.
Angulosité
Le NOMBRE D'ANGLES est utilisé seulement par l'algorithme de Deveau. Il définit un seuil de tolérance pour les pointes qui seront aplaties. Les vertex formant un angle inférieur à la tolérance avec les deux vertex précédants ne sont pas déplacés.L'angle est mesuré en degrés.
Nombre de voisins
Le paramètre NOMBRE DE VOISINS détermine le nombre de voisins à prendre en compte pour chaque point. Par exemple, la valeur 2 indique que les deux points de gauche, le point lui-même et les deux points à sa droite sont utilisés. Pour l'algorithme de points d'inflexion, ce paramètre spécifie le nombre de points voisins de chaque côté qui affectera le calcul de l'inflexion. Plus le chiffre est élevé plus le lissage de la ligne est important et peut donner lieu à des points d'inflexion en moins. Une valeur de 0 siginfie aucun filtre.
Pourcentage de décalage
Le paramètre POURCENTAGE DE DECALAGE détermine la position du point final entre le point d'origine et le point moyen. Une valeur de 50 entraîne le positionnement du point final à mi-chemin entre le point moyen et le point d'origine.
Coefficient de pondération
Ce paramètre est utilisé uniquement par l'algorithme de McMaster à distance pondérée. Il sert à déterminer le poids affecté à chaque voisin.
Degré de Base Polynomial
Ce paramètre spécifie le degré utilisé pour approximer la courbe.
Longueur de segment
Ce paramètre spécifie la longueur des segments en sortie.Si il vaut 0, alors la courbe en sortie aura 10x le nombre de points en entrée.
Gestion de la géométrie
Si vous avez choisi l'option 'Riche' dans la propriété avancée 'Support de la Géométrie' de l'espace de travail, les arcs et les ellipses ne seront pas affectés, alors que la position des entités textes sont généralisées/lissées. Autrement, le résultat d'une généralisation/lissage d'arcs, d'ellipses et de texte sont des points dont la position est leur centre respectif.
Notes
Pour maintenir des topologies impliquant d'autres entités lors d'une généralisation, pensez à utiliser le Transformer SherbendGeneralizer.
Niveau de licence FME
FME Professional
Historique du Transformer
Ce Transformer remplace AreaGeneralizer, AreaSmoother, LineGeneralizer and LineSmoother.
Implémentation
Fonctions FME utilisées: @Generalize
Factories FME Utilisées: AggregateFactory, DeaggregateFactory, DonutFactory, ReferenceFactory, PolygonFactory, TopologyFactory

Ajouter un commentaire