Vous êtes ici

generalizer

Il existe quatre types d'algorithmes disponibles :

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.

Paramètres correspondant :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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.

Paramètres correspondants :

  • 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