Ah oui ? Comment crois-tu qu'on trace des traits épais ? Ou même n'importe
quel trait d'ailleurs.

Le logiciel calcule des "buffers" puis les remplit. Même si cela ne se fait
pas dans la requête SQL (qui elle calcule des buffers en taille
géolocalisée et non dans la taille du rendu final ; la différence c'est le
système de coordonnées : le SQL travaille dans le système géographique,
alors que le rendu des lignes travaille dans le système après projection).

C'est nécessaire de faire comme ça pour obtenir des tracés lissés (cela
nécessite de calculuer non pas des positions de pixel mais des taux de
couverture des pixels carrés par la surface limitée par le buffer interne ;
d'nacienne méthodes utilisait un rendu suréchantillonné mais c'était trop
coûteux en mémoire, pas assez précis pour avoir plus de 4 niveaux de
transparence pour l'anticrénelage, et c'est plus efficace ce calculer des
taux de couverture pour en déduire un niveau de transparence à appliquer
pour le rendu de la couleur effective des pixels qui dès lors peut avoir un
lissage bien meilleur jusqu'à 256 niveaux ; visuellement le rendu est bien
meilleur sans nécessiter aucun suréchantillonnage, et en calculant
directement chaque pixel une seule fois).



Le 7 juin 2013 18:15, Christian Quest <cqu...@openstreetmap.fr> a écrit :

> Le 7 juin 2013 17:06, Philippe Verdy <verd...@wanadoo.fr> a écrit :
> > Une texture pour le trait ? Les textures n'ont pas d'orientation, ou
> plutôt
> > cette orientation est figée.
>
> C'est comme ça que sont tracés les falaises.
>
> Exemple: https://github.com/mapnik/mapnik/wiki/LinePatternSymbolizer
>
> > Tracer deux ou trois traits semi-transparents superposés de taille
> > croissante vers l'intérieur du polygone demande deux ou trois calculs de
> > buffers mais ça se fait déjà pour tracer les routes (même si elles ne
> sont
> > pas semi-transparentes, la couleur n'a pas d'influence sur les
> performances
> > ou la complexité du calcul.
>
> Et bien non... les routes ne sont pas tracées comme ça.
> On a un premier trait épais, puis un second un peu plus fin... et
> magie... ça fait une fine bordure.
>
> > Combien de buffers ? Tout dépend de la précision qu'on veut obtenir pour
> > l'effet d'ombrage (comment est fait l'ombrage blanc des libellés ?)
> >
>
> Les calculs de buffers sont long. J'en utilise un pour décaler les
> noms sur les limites administratives, et c'est pas neutre du tout.
>
> --
> Christian Quest - OpenStreetMap France
> Un nouveau serveur pour OSM... http://donate.osm.org/server2013/
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr@openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-fr
>
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à