문제

I am working with Shape files to draw a map on Geoserver. I am able to change the color of a track or line using SLD. can any body tell me how i can divide a line into different colors. if possible then with respect to length. e.g every 1km a different color. Thank you!

도움이 되었습니까?

해결책

To get a line composed of different colours is easy enough. Something like

<FeatureTypeStyle>
     <Rule>
       <LineSymbolizer>
         <Stroke>
           <CssParameter name="stroke">#0000FF</CssParameter>
           <CssParameter name="stroke-width">3</CssParameter>
           <CssParameter name="stroke-dasharray">5 5</CssParameter>
         </Stroke>
       </LineSymbolizer>
       <LineSymbolizer>
         <Stroke>
           <CssParameter name="stroke">#FF0000</CssParameter>
           <CssParameter name="stroke-width">3</CssParameter>
           <CssParameter name="stroke-dasharray">5 5</CssParameter>
           <CssParameter name="stroke-dashoffset">5</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
   </FeatureTypeStyle>

Now getting this to happen every 1Km rather than by pixels might be a bit harder. I haven't tested this but I image you can do it with something like the following:

<FeatureTypeStyle>
     <Rule>
       <LineSymbolizer uom="http://www.opengeospatial.org/se/units/metre" >
         <Stroke>
           <CssParameter name="stroke">#0000FF</CssParameter>
           <CssParameter name="stroke-width">0.5</CssParameter>
           <CssParameter name="stroke-dasharray">1000 1000</CssParameter>
         </Stroke>
       </LineSymbolizer>
       <LineSymbolizer uom="http://www.opengeospatial.org/se/units/metre" >
         <Stroke>
           <CssParameter name="stroke">#FF0000</CssParameter>
           <CssParameter name="stroke-width">0.5</CssParameter>
           <CssParameter name="stroke-dasharray">1000 1000</CssParameter>
           <CssParameter name="stroke-dashoffset">1000</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
   </FeatureTypeStyle>

You may need to play arround with the widths ect to get this looking ok.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top