[OSM-talk-fr] rendu osm-fr et réserves naturelles
Philippe Verdy
verdy_p at wanadoo.fr
Dim 9 Juin 17:52:31 UTC 2013
Et en pratique ce support est intégré dans le LineSymbolizer:
if (sym.clip())
{
double padding = (double)(query_extent_.width()/width_);
double half_stroke = stroke_.get_width()/2.0;
if (half_stroke > 1)
padding *= half_stroke;
if (std::fabs(sym.offset()) > 0)
padding *= std::fabs(sym.offset()) * 1.2;
padding *= scale_factor_;
clipping_extent.pad(padding);
}
voir https://github.com/mapnik/mapnik/blob/master/src/cairo_renderer.cpp
Bref on fait le rendu avec les attributs offset et width donnés dans la
feuille de style pour le LineSymbolizer, le reste c'est le rendu PNG de
Cairo (ou le rendu en SVG) qui se débrouille pour calculer les buffers
corrects (et je pense même que ce sera bien plus performant que tes
symboles marqueurs en répétés en "pattern" sur une distance de 1 pixel le
long d'une ligne, la technique qui ne sert en pratique qu'à dessiner les
triangles le long des traits de falaises à distance régulière).
Peut-être qu'il faut bidouiller le code C++ de Mapnik pour activer la bonne
combinaison d'options, mais tout y est pour supporter ça, et ensuite
pouvoir l'utiliser dans la feuille de style XML.
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20130609/451c5e34/attachment.htm>
Plus d'informations sur la liste de diffusion Talk-fr