在地理服务器中划分不同颜色的线条

时间:2013-12-27 17:38:36

标签: geoserver

我正在使用Shape文件在Geoserver上绘制地图。我可以使用SLD更改轨道或线的颜色。任何身体都可以告诉我如何将一条线分成不同的颜色。如果可能的话,就长度而言。例如,每1公里不同的颜色。 谢谢!

1 个答案:

答案 0 :(得分:0)

获得由不同颜色组成的线很容易。像

这样的东西
<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>

现在每1Km而不是像素发生这种情况可能会有点困难。我没有对此进行测试,但我想象你可以用以下内容进行测试:

<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>

您可能需要使用宽度等播放arround以使其看起来不错。