[GIS] Making GeoServer SLD style for double dashed line

geoserversld

Is it possible to make SLD style for GeoServer maps to represent a street that has 3 tracks (or more) with something like this

enter image description here

I know that it is possible to make single dashed line —— so the street will apear to have 2 tracks, but I was unable to make double dashed or triple dashed line. I just need to represent each track on street.

I think it might be possible with using custom shape along with textsymbolizer and then making it appear as double dashed line, but I cannot use that because of all vendor options for displacement cause I will have street name, street direction etc. also with textsymbolizer.

I was wondering is it possible with some line displacement or something similar?

Best Answer

Thanks to @Branco suggestion, I investigated qGIS and I used it's style editor to create my road style. What is interesting is that when I exported style to SLD it generated this PerpendicularOffset tag for LineSymbolizer ... I never knew that tag exists... and this is the solution

<se:LineSymbolizer>
        <se:Stroke>
          <se:SvgParameter name="stroke">#ffffff</se:SvgParameter>
          <se:SvgParameter name="stroke-width">0.53</se:SvgParameter>
          <se:SvgParameter name="stroke-linejoin">round</se:SvgParameter>
          <se:SvgParameter name="stroke-linecap">round</se:SvgParameter>
          <se:SvgParameter name="stroke-dasharray">1 2</se:SvgParameter>
        </se:Stroke>
        <se:PerpendicularOffset>0.8</se:PerpendicularOffset>
      </se:LineSymbolizer>
      <se:LineSymbolizer>
        <se:Stroke>
          <se:SvgParameter name="stroke">#ffffff</se:SvgParameter>
          <se:SvgParameter name="stroke-width">0.53</se:SvgParameter>
          <se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
          <se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
          <se:SvgParameter name="stroke-dasharray">1 2</se:SvgParameter>
        </se:Stroke>
        <se:PerpendicularOffset>-0.8</se:PerpendicularOffset>
      </se:LineSymbolizer>
Related Question