Comment utiliser au mieux Curvfitter

Note: Exemples fournis par TCI Corp.

Comprendre le fonctionnement de Curvefitter et comment l'utiliser pour qu'il fournisse de bons résultats.

Que fait le plug-in ?

CurveFitter lisse les lignes issues de segment de lignes, de points ou de raster et les remplace par une série de segments avec une combinaison optimale de lignes droites et d'arcs pour créer des courbes.

Exemple 1 :  Cette ligne simple pourrait être extraite de n'importe quel format supporté par FME. Elle est composée de 85 segments de ligne droite.

Solution idéale

L'utilisation optimale de Curvefitter dépend de :

  • Des caractéristiques de la ligne source.
  • Des objectifs de l'utilisateur.

Dans cet exemple, nous supposerons que le tracé représente une entité technique telle qu'une limite d'emprise routière. En tant que tel, le tracé a probablement été défini à l'origine par des arcs et des lignes. Notre objectif est de créer un tracé qui recrée cette structure tout en s'adaptant précisément au tracé d'origine. Avec ces hypothèses, notre "solution idéale" contiendra un tracé très lisse car les routes sont généralement conçues comme une série de segments tangents.

Première solution

Trouver les "bons réglages" pour produire la "solution idéale" nécessite souvent quelques essais et erreurs. Vous pouvez créer un traitement à l'aide du Transformer de l'Inspecteur pour montrer le tracé original superposé aux résultats de Curvefitter.

En utilisant une précision de 0,5 pieds.

 

 

Cela crée une solution composée de 3 segments d'arc. Remarquez que cette solution donne une transition assez lisse entre le segment le plus à gauche et le segment du milieu, mais que le segment le plus à droite est moins lisse - les deux segments les plus à droite ne sont évidemment pas tangents.

Tenter un paramétrage plus précis.

Dans cette situation, nous pouvons obtenir une solution plus précise et plus lisse en utilisant une valeur de précision plus petite. C'est souvent le cas lorsque la précision et/ou la fluidité sont les aspects les plus importants du résultat souhaité.

En utilisant une précision de 0,2 pieds.

 

 

 

Cela donne une solution avec 4 segments d'arc. Cela correspond mieux au tracé original et la solution est un peu lisse, mais pas parfaitement.

Accentuation asymétrique

Le Curvefitter permet le réglage de 3 poids : Compression, Lissage et Précision.  Notre "solution idéale" est définie comme très lisse (parce que le tracé a probablement été créé à partir de segments parfaitement tangents) et nous ne sommes pas tellement intéressés par une réduction maximale des sommets, nous pouvons donc ajuster l'emphase du Curvefitter pour atteindre cet objectif.  Nous exprimerons notre solution idéale souhaitée en mettant l'accent sur le lissage le plus, la précision un peu moins et la compression très peu.

Paramètres :

  • Précision: 0.2
  • Compression : 0.1
  • Précision du poids : 1.0
  • Poids lissé : 10

Résultat - Lissage presque parfait et une précision de 0.2 pieds.

 

 

Cette solution utilise 4 segments : un arc, suivi d'un segment droit, suivi de 2 segments d'arc (de gauche à droite). C'est notre "solution idéale" réalisée.

 

Exemple 2 : Ce segment de ligne aurait pu être extrait de n'importe quel format supporté par FME. Il s'agit d'un polygone fermé, très lisse et composé de 440 segments de ligne droite.

440 segments

Superficie = 260,909

Solution idéale

Dans cet exemple, nous supposons que l'objectif est de mettre l'accent sur la compression et la précision.

Vue zoomée sur le polygone avec les vertex en surbrillance.

 

 

Notre première estimation pour la Précision sera 1.  Nous allons commencer avec la solution asymétrique et regarder le polygone résultant superposé à l'original.

Paramétrage de Curvefitter :

  • Précision: 1
  • Accentuation = Asymétrique (défini à 1)
  • Résultats
  • Vertex Réduction = 1 : 25.88
  • Superficie du polygone CF = 261004
  • Différence de superficie = 0.0364%

Nous pouvons voir que ces paramètres donne plus de 25 /1 de compression, et la reproduction du polygone est fidèle avec une très légère modification de superficie.

Plus de Compression

Pour obtenir une meilleure compression (plus de réduction de vertex), nous tenterons d'augmenter la précision

Paramétrage de Curvefitter :

  • Précision: 2
  • Accentuation = Asymétrique (défini à 1)
  • Résultats
  • Vertex Réduction = 1 : 36.66
  • Superficie du polygone CF = 261162
  • Différence de superficie = 0.0969%

Nous obtenons ce que nous souhaitons avec un bon niveau de compression avec une superficie assez similaire à l'originale. La superficie de ce polygone a plus de modifications qu'avec une précision de 1.

Ainsi, la solution idéale pour cet exemple est de maintenir la superficie du polygone autant que possible tout en ayant une compression élevée. L'utilisation des paramétrage d'accentuation asymétrique facilite le résultat.

Paramétrage de Curvefitter :

  • Précision: 2
  • Accentuation
  • Précision : 1.0
  • Compression : 1.0
  • Lissage : 0.1
  • Résultats
  • Vertex Réduction = 1 : 33.84
  • Superficie du polygone CF = 261054
  • Différence de superficie = 0.0555%

 

Avec ces paramétrages, nous obtenons presque la même compression qu'avec l'accentuation asymétrique mais avec une meilleur précision de superficie.

Nous obtenons ainsi la solution idéale.

Résultat – 12 segments

11 arcs et 1 segment de ligne

Superficie = 261,05

Hasklig-Bold.ttf

Hasklig-BoldIt.ttf

Hasklig-Regular.ttf

OpenSans-Bold.ttf

OpenSans-BoldItalic.ttf

OpenSans-Italic.ttf

OpenSans-Regular.ttf

SourceSansPro-Bold.ttf

SourceSansPro-BoldItalic.ttf

SourceSansPro-Italic.ttf

SourceSansPro-Regular.ttf