美文网首页开源GIS相关
2,根据属性显示线颜色同时又根据比例尺决定线宽大小

2,根据属性显示线颜色同时又根据比例尺决定线宽大小

作者: 桃子味的白开水 | 来源:发表于2019-04-25 23:03 被阅读3次
在geoserver中有一个需求,发布服务时,根据指定字段值来设置不同线的颜色,同时要根据不同比例尺来改变线的宽度,具体代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<StyledLayerDescriptor version="1.0.0"

xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"

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

<!-- a named layer is the basic building block of an sld document -->

<NamedLayer>

<Name>mti_expressway</Name>

<UserStyle>

    <!-- they have names, titles and abstracts -->

<Title>mti_expressway style</Title>

<Abstract>mti_expressway</Abstract>

<!-- FeatureTypeStyles describe how to render different features -->

<!-- a feature type for lines -->

<FeatureTypeStyle>

<!--1-->

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

<!--fieldName-->

              <ogc:PropertyName>org_id</ogc:PropertyName>

  <!--fieldValue-->

              <ogc:Literal>518100000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <!--scale1-->

  <MinScaleDenominator>1000000</MinScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#00F5FF</CssParameter>

              <CssParameter name="stroke-width">2</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:PropertyName>org_id</ogc:PropertyName>

              <ogc:Literal>518100000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <MinScaleDenominator>10000</MinScaleDenominator>

<MaxScaleDenominator>1000000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#00F5FF</CssParameter>

              <CssParameter name="stroke-width">4</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:PropertyName>org_id</ogc:PropertyName>

              <ogc:Literal>518100000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <MaxScaleDenominator>10000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#00F5FF</CssParameter>

              <CssParameter name="stroke-width">8</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

    </FeatureTypeStyle>

<FeatureTypeStyle>

<!--2-->

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:PropertyName>org_id</ogc:PropertyName>

              <ogc:Literal>518200000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <MinScaleDenominator>1000000</MinScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#8470FF</CssParameter>

              <CssParameter name="stroke-width">2</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:PropertyName>org_id</ogc:PropertyName>

              <ogc:Literal>518200000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <MinScaleDenominator>10000</MinScaleDenominator>

<MaxScaleDenominator>1000000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#8470FF</CssParameter>

              <CssParameter name="stroke-width">4</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:PropertyName>org_id</ogc:PropertyName>

              <ogc:Literal>518200000010</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

  <MaxScaleDenominator>10000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#8470FF</CssParameter>

              <CssParameter name="stroke-width">8</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

    </FeatureTypeStyle>

          <FeatureTypeStyle>

<!--null-->

<Rule>

<ogc:Filter>

            <ogc:PropertyIsNull>

              <ogc:PropertyName>org_id</ogc:PropertyName>

            </ogc:PropertyIsNull>

          </ogc:Filter>

      <MinScaleDenominator>1000000</MinScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#33B100</CssParameter>

              <CssParameter name="stroke-width">2</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsNull>

              <ogc:PropertyName>org_id</ogc:PropertyName>

            </ogc:PropertyIsNull>

          </ogc:Filter>

      <MinScaleDenominator>10000</MinScaleDenominator>

<MaxScaleDenominator>1000000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#33B100</CssParameter>

              <CssParameter name="stroke-width">4</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

<Rule>

<ogc:Filter>

            <ogc:PropertyIsNull>

              <ogc:PropertyName>org_id</ogc:PropertyName>

            </ogc:PropertyIsNull>

          </ogc:Filter>

  <MaxScaleDenominator>10000</MaxScaleDenominator>

          <LineSymbolizer>

            <Stroke>

              <CssParameter name="stroke">#33B100</CssParameter>

              <CssParameter name="stroke-width">8</CssParameter>

            </Stroke>

          </LineSymbolizer>

</Rule>

    </FeatureTypeStyle>

</UserStyle>

</NamedLayer>

</StyledLayerDescriptor>
缩小时
放大时

相关文章

网友评论

    本文标题:2,根据属性显示线颜色同时又根据比例尺决定线宽大小

    本文链接:https://www.haomeiwen.com/subject/mptxnqtx.html