Things I Learned Today About Mapnik

Posted by asciiphil on 3 May 2010 in English (English)

In Mapnik rendering of LineSymbolizers, using a stroke-dasharray is incompatible with a stroke-linecap of "round". If you try to combine the two, Mapnik will ignore the stroke-dasharray and, if you're me, leave you very confused as to what's happening.

Comment from Andy Allan on 4 May 2010 at 10:25

I don't think that's correct - but you need to be careful on how the gap between dashes compares to the width of the line. So if you have a width of 2px, you'll need a gap between strokes of 5px to see a 1px gap. Each little dash gets rounded, and the round ends aren't counted as being part of the length of the stroke.

Comment from asciiphil on 4 May 2010 at 11:33

Ah, that makes sense. I was using a 4,2 dasharray, so there wasn't room for the gaps to show up.

Interestingly, that means I could make a line of circles if I wanted to.

Thanks for pointing that out!

Login to leave a comment