Marlin 0.9.0 : bug du simplifieur de path ?

15 views
Skip to first unread message

Olivier Brault

unread,
Mar 22, 2018, 12:15:52 PM3/22/18
to marlin-renderer
Bonjour Laurent,

J'ai remarqué un possible bug dans ton algorithme de simplification de path.
J'ai observé cela avec un gros shapefile représentant toutes les frontières du monde.
Ce shapefile est conçu de sorte que tout est découpé en "linestring" de 1000 pt max : ainsi, une longue frontière peut être tronçonnée en plein de morceaux de 1000 points, mais visuellement contigus.

Quand j'utilise l'option de simplification de Marlin, et que je zoome suffisamment en arrière, plein de trous apparaissent un peu partout dans le dessin.
Options utilisées :
-Dsun.java2d.renderer.useSimplifier=true
-Dsun.java2d.renderer.usePathSimplifier=true
-Dsun.java2d.renderer.pathSimplifier.pixTol=0.5

Je pense que quand un linestring a une emprise trop petite, tu ne le dessines pas du tout (l'algo de simplif semble supprimer tous les points), au lieu de conserver a minima le 1er et le dernier point.
Est-ce le cas ? cela pourrait expliquer ces trous.

Le shapefile est énorme, et je peux difficilement te l'envoyer. Mais je pense que tu peux reproduire ce phénomène facilement avec des données crées de toutes pièces pour l'occasion.

Cordialement,

Olivier

Laurent Bourgès

unread,
Mar 25, 2018, 7:51:12 AM3/25/18
to marlin-...@googlegroups.com
Bonjour,
Peux tu m'envoyer un screenshot ?
Le bug peut venir du PathSimplifier en effet car moveTo() ne gere pas ce cas particulier ou tous les segments sont dans le rayon de 0.5px.
Il faudait faire de la quantization...

Merci pour le bug report,
Laurent

--
You received this message because you are subscribed to the Google Groups "marlin-renderer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to marlin-render...@googlegroups.com.
To post to this group, send email to marlin-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Olivier Brault

unread,
Mar 26, 2018, 9:26:51 AM3/26/18
to marlin-renderer

Voici 2 images à 2 différents niveaux de zoom.
Ce phénomène pourrait expliquer en partie une remarque que j'avais faite dans un précédent post, où je constatais qu'ajouter l'option de simplification de Marlin en plus de mon traitement DouglasPeucker (avec la même tolérance) entrainait un nouveau gain en perf, par rapport à ma seule simplification : c'est que Marlin supprimant sans doute des petits morceaux, la vitesse de dessin devenait alors plus élevée.

Olivier
zoom éloigné.png
zoom proche.png

Laurent Bourgès

unread,
Apr 20, 2018, 1:51:09 PM4/20/18
to marlin-...@googlegroups.com
Hi Olivier,

--

Olivier Brault

unread,
Apr 22, 2018, 1:55:12 PM4/22/18
to marlin-renderer
Nice !
Thanks for your quick fix.
I will try it as soon as it becomes available.
Olivier

Laurent Bourgès

unread,
May 11, 2018, 10:59:43 AM5/11/18
to marlin-...@googlegroups.com
Olivier,
Marlin 0.9.2 is released:

Enjoy,
Laurent
Reply all
Reply to author
Forward
0 new messages