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个像素。

这种风格的结果是,随着放大一个点,绘制的点变大,而缩小一个点,绘制的点变小

  1.  
    <?xml version=”1.0″ encoding=”ISO-8859-1″?>
  2.  
    <StyledLayerDescriptor version=“1.0.0”
  3.  
    xsi:schemaLocation=“http://www.opengis.net/sld StyledLayerDescriptor.xsd”
  4.  
    xmlns=“http://www.opengis.net/sld”
  5.  
    xmlns:ogc=“http://www.opengis.net/ogc”
  6.  
    xmlns:xlink=“http://www.w3.org/1999/xlink”
  7.  
    xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
  8.  
    <NamedLayer>
  9.  
    <Name>Simple point</Name>
  10.  
    <UserStyle>
  11.  
    <Title>GeoServer SLD Cook Book: Simple point</Title>
  12.  
    <FeatureTypeStyle>
  13.  
    <Rule>
  14.  
    <Name>Large</Name>
  15.  
    <MaxScaleDenominator>160000000</MaxScaleDenominator>
  16.  
    <PointSymbolizer>
  17.  
    <Graphic>
  18.  
    <Mark>
  19.  
    <WellKnownName>circle</WellKnownName>
  20.  
    <Fill>
  21.  
    <CssParameter name=“fill”>#CC3300</CssParameter>
  22.  
    </Fill>
  23.  
    </Mark>
  24.  
    <Size>12</Size>
  25.  
    </Graphic>
  26.  
    </PointSymbolizer>
  27.  
    </Rule>
  28.  
    <Rule>
  29.  
    <Name>Medium</Name>
  30.  
    <MinScaleDenominator>160000000</MinScaleDenominator>
  31.  
    <MaxScaleDenominator>320000000</MaxScaleDenominator>
  32.  
    <PointSymbolizer>
  33.  
    <Graphic>
  34.  
    <Mark>
  35.  
    <WellKnownName>circle</WellKnownName>
  36.  
    <Fill>
  37.  
    <CssParameter name=“fill”>#CC3300</CssParameter>
  38.  
    </Fill>
  39.  
    </Mark>
  40.  
    <Size>8</Size>
  41.  
    </Graphic>
  42.  
    </PointSymbolizer>
  43.  
    </Rule>
  44.  
    <Rule>
  45.  
    <Name>Small</Name>
  46.  
    <MinScaleDenominator>320000000</MinScaleDenominator>
  47.  
    <PointSymbolizer>
  48.  
    <Graphic>
  49.  
    <Mark>
  50.  
    <WellKnownName>circle</WellKnownName>
  51.  
    <Fill>
  52.  
    <CssParameter name=“fill”>#CC3300</CssParameter>
  53.  
    </Fill>
  54.  
    </Mark>
  55.  
    <Size>4</Size>
  56.  
    </Graphic>
  57.  
    </PointSymbolizer>
  58.  
    </Rule>
  59.  
    </FeatureTypeStyle>
  60.  
    </UserStyle>
  61.  
    </NamedLayer>
  62.  
    </StyledLayerDescriptor>
  63.  
     
  64. 转自:https://blog.csdn.net/u014572215/article/details/108753504