https://docs.geoserver.org/latest/en/user/styling/sld/cookbook/points.html#example-points-layer
在不同比例尺下显示不同的大小
本示例在不同的缩放级别更改点的样式
创建自然外观的地图时,通常需要在较高的缩放级别上放大形状。本示例根据缩放级别(或更准确地说,比例分母)设置点的样式以改变大小。比例尺分母是指地图的比例尺。比例分母为10,000表示地图以地图投影为单位的比例为1:10,000。
注意
确定要使用的适当比例分母(缩放级别)超出了本示例的范围。
此样式包含三个规则。这三个规则的设计如下:
规则顺序 |
规则名称 |
标度分母 |
点数 |
1个 |
大 |
1:160,000,000以下 |
12 |
2 |
中 |
1:160,000,000至1:320,000,000 |
8 |
3 |
小 |
大于1:320,000,000 |
4 |
这些规则的顺序无关紧要,因为每个规则中指定的比例尺不重叠。
第一条规则(第2-16行)适用于最小比例分母,与视图“放大”时相对应。比例尺规则设置在第4行上,因此该规则将适用于比例分母为160,000,000或更小的任何地图。该规则绘制一个圆(第8行),红色(#CC3300
上线10)的尺寸的12个像素(13行)。
第二条规则(第17-32行)是中间比例分母,对应于视图“部分缩放”的时间。比例尺规则在第19-20行上设置,因此该规则将适用于比例分母在160,000,000和320,000,000之间的任何地图。(the <MinScaleDenominator>
包含且the <MaxScaleDenominator>
排除,因此精确的320,000,000缩放级别将不适用。)除比例尺外,此规则与第一个规则之间的唯一区别是符号的大小,其大小设置为8像素第29行。
第三条规则(第33-47行)是最大比例尺分母,对应于地图“缩小”的时间。比例尺规则在第35行设置,因此该规则将应用于比例分母为320,000,000或更大的任何地图。同样,此规则与其他规则之间的唯一其他区别是符号的大小,该大小在第44行设置为4个像素。
这种风格的结果是,随着放大一个点,绘制的点变大,而缩小一个点,绘制的点变小
-
-
<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”>
-
<NamedLayer>
-
<Name>Simple point</Name>
-
<UserStyle>
-
<Title>GeoServer SLD Cook Book: Simple point</Title>
-
<FeatureTypeStyle>
-
<Rule>
-
<Name>Large</Name>
-
<MaxScaleDenominator>160000000</MaxScaleDenominator>
-
<PointSymbolizer>
-
<Graphic>
-
<Mark>
-
<WellKnownName>circle</WellKnownName>
-
<Fill>
-
<CssParameter name=“fill”>#CC3300</CssParameter>
-
</Fill>
-
</Mark>
-
<Size>12</Size>
-
</Graphic>
-
</PointSymbolizer>
-
</Rule>
-
<Rule>
-
<Name>Medium</Name>
-
<MinScaleDenominator>160000000</MinScaleDenominator>
-
<MaxScaleDenominator>320000000</MaxScaleDenominator>
-
<PointSymbolizer>
-
<Graphic>
-
<Mark>
-
<WellKnownName>circle</WellKnownName>
-
<Fill>
-
<CssParameter name=“fill”>#CC3300</CssParameter>
-
</Fill>
-
</Mark>
-
<Size>8</Size>
-
</Graphic>
-
</PointSymbolizer>
-
</Rule>
-
<Rule>
-
<Name>Small</Name>
-
<MinScaleDenominator>320000000</MinScaleDenominator>
-
<PointSymbolizer>
-
<Graphic>
-
<Mark>
-
<WellKnownName>circle</WellKnownName>
-
<Fill>
-
<CssParameter name=“fill”>#CC3300</CssParameter>
-
</Fill>
-
</Mark>
-
<Size>4</Size>
-
</Graphic>
-
</PointSymbolizer>
-
</Rule>
-
</FeatureTypeStyle>
-
</UserStyle>
-
</NamedLayer>
-
</StyledLayerDescriptor>
-
- 转自:https://blog.csdn.net/u014572215/article/details/108753504