在Geoserver中使用SLD设计多边形

时间:2018-06-15 06:09:50

标签: postgis geoserver

我在Geoserver中发布了一个PostGIS表。PostGIS table

如何使用“颜色”列在Geoserver中使用SLD设置多边形样式?

我尝试使用CQL表达式但不起作用。任何的想法?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在 sld 样式中使用基于属性的行:

   <FeatureTypeStyle>
     <Rule>
       <Name>local-road</Name>
       <ogc:Filter>
         <ogc:PropertyIsEqualTo>
           <ogc:PropertyName>type</ogc:PropertyName>
           <ogc:Literal>local-road</ogc:Literal>
         </ogc:PropertyIsEqualTo>
       </ogc:Filter>
       <LineSymbolizer>
         <Stroke>
           <CssParameter name="stroke">#009933</CssParameter>
           <CssParameter name="stroke-width">2</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
   </FeatureTypeStyle>
   <FeatureTypeStyle>
     <Rule>
       <Name>secondary</Name>
       <ogc:Filter>
         <ogc:PropertyIsEqualTo>
           <ogc:PropertyName>type</ogc:PropertyName>
           <ogc:Literal>secondary</ogc:Literal>
         </ogc:PropertyIsEqualTo>
       </ogc:Filter>
       <LineSymbolizer>
         <Stroke>
           <CssParameter name="stroke">#0055CC</CssParameter>
           <CssParameter name="stroke-width">3</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
   </FeatureTypeStyle>
   <FeatureTypeStyle>
     <Rule>
     <Name>highway</Name>
       <ogc:Filter>
         <ogc:PropertyIsEqualTo>
           <ogc:PropertyName>type</ogc:PropertyName>
           <ogc:Literal>highway</ogc:Literal>
         </ogc:PropertyIsEqualTo>
       </ogc:Filter>
       <LineSymbolizer>
         <Stroke>
           <CssParameter name="stroke">#FF0000</CssParameter>
           <CssParameter name="stroke-width">6</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
   </FeatureTypeStyle>

参考:

https://docs.geoserver.org/stable/en/user/styling/sld/cookbook/lines.html#example-lines-layer