稍微整理一下geoserver配置style的几种样式

    首先,配置geoserver图层样式,可以手写sld文件,或者通过一些工具辅助(QGIS或者udig都可以)。

     第二,能够稍微阅读一下http://docs.geoserver.org/2.5.x/en/user/styling/index.html这里面的api。

未完待续,明天提供事例



事例1

图层介绍:

 事例1图层是完整的一个shp图层,其中根据name属性可以划分四种类别。具体style可以用以下代码实现。

<?xml version="1.0" encoding="GB2312"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
    <NamedLayer>
<Name>Attribute-based line</Name>
<UserStyle>
<Title>SLD Cook Book: Attribute-based line</Title>
<FeatureTypeStyle>
<Rule>
<Name>遗产区</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>Layer</ogc:PropertyName>
<ogc:Literal>遗产区</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff00ff</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>

<FeatureTypeStyle>
<Rule>
<Name>保护区</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>Layer</ogc:PropertyName>
<ogc:Literal>保护区</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff0000</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
 </Rule>
</FeatureTypeStyle>

<FeatureTypeStyle>
<Rule>
<Name>缓冲区</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>Layer</ogc:PropertyName>
<ogc:Literal>缓冲区</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#0000ff</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>

  <FeatureTypeStyle>
<Rule>
<Name>建设控制地带</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>Layer</ogc:PropertyName>
<ogc:Literal>建设控制地带</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#007f00</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>

</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>


事例2



事例2:色带主要特点与1差不多,都是要进行过滤特定字段,然后赋予不同颜色。此图层是在“字段”下有1、2这两条属性,所以只需要把这个字段过滤出来,然后分别赋予不同颜色就ok了(以下xml中的蓝色颜色的代码就是上面两句话的解释)


<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:se="http://www.opengis.net/se">
  <NamedLayer>
    <se:Name>国界色带</se:Name>
    <UserStyle>
      <se:Name>国界色带</se:Name>


      <se:FeatureTypeStyle>
        <se:Rule>
          <se:Name>1</se:Name>
          <se:Description>
            <se:Title>1</se:Title>
          </se:Description>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
           
<ogc:PropertyIsEqualTo>
              <ogc:PropertyName>名称</ogc:PropertyName>
              <ogc:Literal>1</ogc:Literal>
            </ogc:PropertyIsEqualTo>

          </ogc:Filter>
          <se:PolygonSymbolizer>
            <se:Fill>
              <se:SvgParameter name="fill">#E4B3FF</se:SvgParameter>
            </se:Fill>        
          </se:PolygonSymbolizer>
        </se:Rule>
        <se:Rule>
          <se:Name>2</se:Name>
          <se:Description>
            <se:Title>2</se:Title>
          </se:Description>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
           
<ogc:PropertyIsEqualTo>
              <ogc:PropertyName>名称</ogc:PropertyName>
              <ogc:Literal>2</ogc:Literal>
            </ogc:PropertyIsEqualTo>

          </ogc:Filter>
          <se:PolygonSymbolizer>
            <se:Fill>
              <se:SvgParameter name="fill">#F2D9FF</se:SvgParameter>
            </se:Fill>   
          </se:PolygonSymbolizer>
        </se:Rule>
      </se:FeatureTypeStyle>


    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>


GeoServer配置符号(也称为样式)可以让你定义和自定义地图图层的外观。下面是一个简单的步骤指南: 1. 打开GeoServer管理界面,通过浏览器访问GeoServer的URL,然后使用管理员账户登录。 2. 在管理界面中,点击“工作区”选项卡,选择你想要配置符号的工作区。 3. 在工作区页面中,点击“样式”选项卡。这里可以看到已经存在的符号样式列表。 4. 点击“添加新样式”按钮,进入新样式配置页面。 5. 在样式配置页面中,首先输入一个唯一的样式名称。 6. 在“SLD文本”框中,你可以使用SLD(Styled Layer Descriptor)语言编写符号样式。SLD是一种XML格式的语言,用于描述地图符号化规则。 7. 根据你的需求,编写SLD代码来定义图层的样式。可以设置点、线、面的颜色、宽度、填充等属性,还可以使用图标、箭头等自定义符号。 8. 在编写完SLD代码后,点击“应用”按钮保存样式。 9. 返回样式列表页面,你应该能够看到新添加的样式。 10. 最后,在图层页面中选择你想要应用该样式的图层。找到“样式”选项卡,并选择你刚刚创建的样式。 完成以上步骤后,你的图层将使用你自定义的符号样式进行渲染。你可以在GeoServer中使用SLD编辑器或手动编写SLD代码来创建更复杂的符号样式。此外,GeoServer还支持其他符号化格式,如Symbology Encoding(SE)规范。如果你想进一步了解符号配置样式定义的详细信息,请参考GeoServer的官方文档。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值