用随机符号填充¶
从GeoServer 2.4.2开始,可以通过在要填充的多边形中随机重复符号来生成填充。或者,更精确地说,通过在瓦片上重复,生成通常的纹理填充,瓦片的内容是填充的随机重复。随机分布是稳定的,所以在调用和分片之间是相同的,它由用来生成分布的填瓦控制。
通过指定带有标记或外部图形的图形填充,然后添加供应商选项以控制符号随机重复的方式,生成随机填充。下面是一个包含选项、默认值和可能值的表:
期权 |
默认值 |
描述 |
---|---|---|
随机的 |
没有人 |
激活符号的随机分布。可能的值是 none , free , grid . none 禁用随机分布, free 生成完全随机分布, grid 将生成一个规则的位置网格,并且只随机化单元格中心周围符号的位置,从而在空间中提供更均匀的分布。 |
随机瓦片大小 |
256 |
调整将包含随机分布符号的纹理填充切片的大小 |
随机旋转 |
没有人 |
激活随机符号旋转。可能的值是 none (无旋转)或 free |
随机符号计数 |
16 |
图块中的符号数。实际绘制的符号数量可以更低,因为分布将确保没有两个符号相互重叠。 |
随机填瓦 |
0 |
用来产生随机分布的“填瓦”。更改此值将导致不同的符号分布 |
下面是一个例子:
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:GraphicFill>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>shape://slash</sld:WellKnownName>
<sld:Stroke>
<sld:CssParameter name="stroke">#0000ff</sld:CssParameter>
<sld:CssParameter name="stroke-linecap">round</sld:CssParameter>
<sld:CssParameter name="stroke-width">4</sld:CssParameter>
</sld:Stroke>
</sld:Mark>
<sld:Size>8</sld:Size>
</sld:Graphic>
</sld:GraphicFill>
</sld:Fill>
<sld:VendorOption name="random-seed">5</sld:VendorOption>
<sld:VendorOption name="random">grid</sld:VendorOption>
<sld:VendorOption name="random-tile-size">100</sld:VendorOption>
<sld:VendorOption name="random-rotation">free</sld:VendorOption>
<sld:VendorOption name="random-symbol-count">50</sld:VendorOption>
</sld:PolygonSymbolizer>

对角线的随机分布¶
随机分布也可用于主题映射,例如,这里是TOPP版本的SLD:显示改变随机点分布密度的居住人数的状态:
<?xml version="1.0" encoding="UTF-8"?>
<sld:UserStyle xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
<sld:Name>Default Styler</sld:Name>
<sld:FeatureTypeStyle>
<sld:Name>name</sld:Name>
<sld:Rule>
<ogc:Filter>
<ogc:And>
<ogc:Not>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>2000000</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:Not>
<ogc:Not>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>4000000</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
</ogc:Not>
</ogc:And>
</ogc:Filter>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:GraphicFill>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>circle</sld:WellKnownName>
<sld:Fill>
<sld:CssParameter name="fill">#a9a9a9</sld:CssParameter>
</sld:Fill>
</sld:Mark>
<sld:Size>2</sld:Size>
</sld:Graphic>
</sld:GraphicFill>
</sld:Fill>
<sld:VendorOption name="random">grid</sld:VendorOption>
<sld:VendorOption name="random-tile-size">100</sld:VendorOption>
<sld:VendorOption name="random-symbol-count">150</sld:VendorOption>
</sld:PolygonSymbolizer>
<sld:LineSymbolizer>
<sld:Stroke/>
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<ogc:Filter>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>2000000</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:Filter>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:GraphicFill>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>circle</sld:WellKnownName>
<sld:Fill>
<sld:CssParameter name="fill">#a9a9a9</sld:CssParameter>
</sld:Fill>
</sld:Mark>
<sld:Size>2</sld:Size>
</sld:Graphic>
</sld:GraphicFill>
</sld:Fill>
<sld:VendorOption name="random">grid</sld:VendorOption>
<sld:VendorOption name="random-tile-size">100</sld:VendorOption>
<sld:VendorOption name="random-symbol-count">50</sld:VendorOption>
</sld:PolygonSymbolizer>
<sld:LineSymbolizer>
<sld:Stroke/>
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<ogc:Filter>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>4000000</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
</ogc:Filter>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:GraphicFill>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>circle</sld:WellKnownName>
<sld:Fill>
<sld:CssParameter name="fill">#a9a9a9</sld:CssParameter>
</sld:Fill>
</sld:Mark>
<sld:Size>2</sld:Size>
</sld:Graphic>
</sld:GraphicFill>
</sld:Fill>
<sld:VendorOption name="random">grid</sld:VendorOption>
<sld:VendorOption name="random-tile-size">100</sld:VendorOption>
<sld:VendorOption name="random-symbol-count">500</sld:VendorOption>
</sld:PolygonSymbolizer>
<sld:LineSymbolizer>
<sld:Stroke/>
</sld:LineSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>

点密度法专题地图¶
Previous: 在图形填充周围添加空间
Next: 色彩合成与混色