SherbendGeneralizer

Sherbend est un algorithme qui simplifie les lignes en supprimant des détails en fonction d'une analyse des courbes des lignes.

Comment fonctionne-t-il ?

Sherbend est un algorithme basé sur des contraintes qui préserve la relation spatiale des lignes et des points dans les données d'entrée. L'algorithme Sherbend généralise itérativement les courbes d'une ligne en utilisant le paramètre Diamètre pour sélectionner les courbes à généraliser. Le processus de généralisation peut éliminer, réduire ou combiner les courbes, tout en résolvant les conflits.

Stratégie pour la généralisation des courbes d'une ligne :

  • Calculer la superficie du cercle de référence dont le diamètre est spécifié dans le paramètre Diamètre.
  • Pour chaque ligne, déterminer l'emplacement des courbes.
  • Pour chaque coude, calculez son périmètre. Ensuite, construisez un cercle dont la circonférence est égale à ce périmètre. Enfin, déterminez l'aire ajustée du coude, qui correspond à 75 % de l'aire de ce cercle.
  • Pour chaque courbe, généraliser la courbe si sa superficie est en dessous de la superficie de cercle de référence et les contraintes spatiales seront remplies.
  • Répéter les étapes précédentes jusqu'à qu' il n'y ait plus de courbe à généraliser.

Informations complémentaires

Le but de la généralisation des lignes est de réduire les détails d'une ligne pour la représenter à une échelle plus petite. Si le célèbre algorithme de Douglas-Peucker est efficace pour réduire le nombre de points d'une ligne, il ne l'est pas pour supprimer les détails inutiles. Le Transformer Generalizer contient une sélection d'algorithmes sous ses paramètres, dont l'algorithme de Douglas-Peucker.

En comparaison, l'algorithme de Sherbend est bien adapté à la généralisation d'entités naturelles (contours, lacs, rivières, zones boisées, etc.) car il préserve la forme générale de la ligne. De plus, si les contraintes spatiales sont activées, la relation spatiale entre les entités d'entrée est préservée. L'algorithme de Douglas-Peucker avec une petite tolérance est souvent utilisé avant ou après Sherbend pour réduire davantage le nombre de points afin d'atteindre les objectifs de la généralisation.

Notes

  • L'algorithme Sherbend détecte et généralise les courbes de manière itérative, puis détecte et résout les conflits spatiaux. Les lignes généralisées d'une itération sont transmises à l'itération suivante jusqu'à ce que les lignes ne puissent plus être généralisées. En raison de ce processus itératif, l'algorithme prend beaucoup de temps, ce qui est un compromis pour améliorer la précision et la qualité de la généralisation.
  • La vérification des contraintes est une opération qui prend beaucoup de temps. N'utilisez les contraintes qu'en cas de nécessité.
  • Pour généraliser les entités de façon indépendante, le Transformer Generalizer est plus adapté.

Exemples

Dans cet exemple la courbe est réduite (vert = entrée, rouge = sortie ):

Dans cet exemple, une courbe est supprimée :

Dans cet exemple, les 3 courbes sont combinées en une seule :

L'exemple ci-dessous illustre le processus de généralisation sur une simple ligne dans un réel jeu de données :

Cet exemple illustre le processus de généralisation des courbes de niveau :

Configuration

Ports en entrée

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.