PointSymbolizer

A PointSymbolizer 将功能样式设置为 .点在地图上的一个位置被描绘成图形符号。

句法

A <PointSymbolizer> 包含可选 <Geometry> 元素和必需的 <Graphic> 指定点符号的元素。

Tag

必修的?

Description

<Geometry>

指定要渲染的几何图形。

<Graphic>

是的

指定点符号的样式。

几何图形

这个 <Geometry> 元素是可选的。如果存在,它将指定FeatureType属性,从中使用 <PropertyName> 元素。另请参见 SLD中的几何变换 用于指定几何图形的地理服务器扩展。

任何类型的几何图形都可以使用 <PointSymbolizer> .对于非点几何图形,使用代表点(例如直线或多边形的质心)。

图解的

符号是使用 <Graphic> 元素。符号由 <ExternalGraphic> 或A <Mark> 元素。 外部图形 是图像文件(格式如PNG或SVG),其中包含定义如何呈现符号的形状和颜色信息。 标志 是向量形状,其笔画和填充在符号中明确定义。

有五个可能的子元素 <Graphic> 元素。什么之中的一个 <ExternalGraphic><Mark> 必须指定;其他选项是可选的。

Tag

必修的?

Description

<ExternalGraphic>

否(使用时 <Mark>

指定要用作符号的外部图像文件。

<Mark>

否(使用时 <ExternalGraphic>

指定要用作符号的命名形状。

<Opacity>

指定符号的不透明度(透明度)。值的范围从 0 (完全透明)至 1 (完全不透明)。值可以包含 expressions . 默认是 1 (不透明)。

<Size>

指定符号的大小(像素)。当与图像文件一起使用时,这将指定图像的高度,并相应地缩放宽度。如果省略,则使用本机符号大小。值可以包含 expressions .

<Rotation>

指定符号围绕其中心点的旋转,以十进制度数表示。正值表示顺时针旋转,负值表示逆时针旋转。值可以包含 expressions . 默认是 0 .

ExternalGraphic

外部图形 是图像文件(格式如PNG或SVG),其中包含定义如何呈现符号的形状和颜色信息。有关用于指定外部图形的地理服务器扩展,请参见 地理服务器中的图形符号 .

这个 <ExternalGraphic> 元素具有子元素:

Tag

必修的?

Description

<OnlineResource>

是的

这个 xlink:href 属性指定图像文件的位置。该值可以是相对于SLD目录的URL或本地路径名。该值可以包含由以下项分隔的cql表达式 ${{ }} . 属性 xlink:type="simple" 也是必需的。元素不包含任何内容。

<Format>

是的

图像格式的mime类型。支持大多数标准的Web图像格式。常见的mime类型是 image/pngimage/jpegimage/gifimage/svg+xml

作记号

标志 是由已知名称标识的预定义矢量形状。它们的填充和笔画可以在SLD中明确定义。有关用于指定标记符号的地理服务器扩展,请参见 地理服务器中的图形符号 .

这个 <Mark> 元素具有子元素:

Tag

必修的?

Description

<WellKnownName>

形状的名称。标准SLD形状有 circlesquaretrianglestarcross ,或 x 。默认值为 square

<Fill>

指定应如何填充符号(对于闭合形状)。选项将被使用 <CssParameter name="fill"> 指定实体填充颜色,或使用 <GraphicFill> 用于瓦片图形填充。查看 PolygonSymbolizer 填充 完整语法。

<Stroke>

指定应如何绘制符号线条。一些选项正在使用 <CssParameter name="stroke"> 指定笔划颜色,或使用 <GraphicStroke> 重复的图形。查看 LineSymbolizer 脑卒中 完整语法。

例子

以下符号取自 节中 SLD食谱 .

 1 <PointSymbolizer>
 2   <Graphic>
 3     <Mark>
 4       <WellKnownName>circle</WellKnownName>
 5       <Fill>
 6         <CssParameter name="fill">#FF0000</CssParameter>
 7       </Fill>
 8     </Mark>
 9     <Size>6</Size>
10   </Graphic>
11 </PointSymbolizer>

符号包含所需的 <Graphic> 元素。这个元素的内部是 <Mark> 元素和 <Size> 元素,是内部所需的最小元素 <Graphic> (不使用时 <ExternalGraphic> 元素)。这个 <Mark> 元素包含 <WellKnownName> 元素和a <Fill> 元素。不需要其他元素。总之,此示例指定了以下内容:

  1. 功能将呈现为点

  2. 点将呈现为圆形

  3. 圆将以6像素的直径呈现,并用红色填充。

下一个示例使用从文件系统加载的外部图形:

1 <PointSymbolizer>
2   <Graphic>
3     <ExternalGraphic>
4       <OnlineResource xlink:type="simple"
5                       xlink:href="file:///var/www/htdocs/sun.png" />
6       <Format>image.png</Format>
7     </ExternalGraphic>
8   </Graphic>
9 </PointSymbolizer>

为了 file:// URL,文件必须由运行geoserver进程的用户可读。您也可以使用 href:// 引用远程图形的URL。

更多示例见 剖面图 SLD食谱 .

在参数值中使用表达式

许多SLD参数允许其值为 混合型 .这意味着元素内容可以是:

  • 用字符串表示的常量值。

  • filter expression

  • 字符串和筛选表达式的任意组合。

通过在参数值中使用表达式,可以通过从特征属性计算参数值来动态地确定每个特征的样式。在某些情况下,使用计算参数是使用规则的一种替代方法,可以提供更紧凑的SLD文档。

geoserver还支持使用WMS请求中提供的替换变量。这在 SLD中的变量替换 .

Previous: 过滤器