在图形填充周围添加空间

从GeoServer 2.3.4开始,可以在图形填充中使用的符号周围添加空白,从而有效地控制地图中符号的密度。

<PolygonSymbolizer>
  <Fill>
    <GraphicFill>
      <Graphic>
        <ExternalGraphic>
          <OnlineResource xlink:type="simple" xlink:href="./rockFillSymbol.png"/>
          <Format>image/png</Format>
        </ExternalGraphic>
      </Graphic>
    </GraphicFill>
  </Fill>
  <VendorOption name="graphic-margin">10</VendorOption>
</PolygonSymbolizer>

上面强制符号上方、下方和两侧各有10个像素的空白,有效地在填充符号之间添加20个像素的空白。这个 graphic-margin 可以用四种不同的方式表达,就像CSS的边距一样:

  • 上、右、下、左(每个边距一个显式值)

  • 上、右、左、下(三个值,左右值相同)

  • 上下、右左(两个值,顶部和底部共享相同的值)

  • 右上左下(所有四个页边距的单个值)

指定不同边距的功能允许在填充中使用多个符号,并同步各种符号的相对位置以生成复合填充:

<PolygonSymbolizer>
  <Fill>
    <GraphicFill>
      <Graphic>
        <ExternalGraphic>
          <OnlineResource xlink:type="simple" xlink:href="./boulderGeometry.png"/>
          <Format>image/png</Format>
        </ExternalGraphic>
      </Graphic>
    </GraphicFill>
  </Fill>
  <VendorOption name="graphic-margin">35 17 17 35</VendorOption>
</PolygonSymbolizer>
<PolygonSymbolizer>
  <Fill>
    <GraphicFill>
      <Graphic>
        <ExternalGraphic>
          <OnlineResource xlink:type="simple" xlink:href="./roughGrassFillSymbol.png"/>
          <Format>image/png</Format>
        </ExternalGraphic>
      </Graphic>
    </GraphicFill>
  </Fill>
  <VendorOption name="graphic-margin">16 16 32 32</VendorOption>
</PolygonSymbolizer>
../../../_images/margin.png