稍微整理一下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>


發佈了77 篇原創文章 · 獲贊 12 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章