【Geoserver】SLD点位样式(PointSymbolizer)设计全通

SLD文件可以控制geoserver的样式管理,这里专门针对点位进行设计,首先点位的设计需要用到这面这个大标签

之前的项目中已经用到了很多关于面的样式管理,这里新学习的是关于点的样式管理

PointSymbolizer

参考资料地址:https://docs.geoserver.org/stable/en/user/styling/sld/reference/pointsymbolizer.html

一、基础语法

<PointSymbolizer>包含一个可选 <Geometry>元素, 其中 Graphic>必需元素。

image-20231127143624232

二、Geometry几何体标签

<Geometry>元素是可选的。 如果存在,则指定要从中获取要设置样式的几何的 featuretype 属性 使用元素 "<PropertyName>。 另请参阅 SLD for GeoServer 扩展模块中的几何变换,以指定几何图形。

(目前用不到)

三、Graphic图形标签

符号系统是使用<Graphic> 元素指定的。 符号由 或 元素指定 <ExternalGraphic>和 ·<Mark>

  • <ExternalGraphic>是图像文件(格式为 PNG 或 SVG),其中包含定义如何呈现符号的形状和颜色信息。
  • <Mark>是矢量形状,其描边和填充在符号化器中显式定义。

该元素有五个可能的子元素,其中 <ExternalGraphic>和 ·<Mark> 必须指定其中一个, 其他则是可选的

TAG必填?描述
<ExternalGraphic>二选一)指定要用作元件的外部图像文件。
<Mark>二选一指定要用作符号的命名形状。
<Opacity>指定符号的不透明度(透明度)。 值范围从0(完全透明)到(完全 1 不透明)。 值可以包含表达式。 默认值为 1 (opaque)。
<Size>指定符号的大小(以像素为单位)。 当与图像文件一起使用时,这将指定图像的高度,并相应地缩放宽度。 如果省略,则使用本机符号大小。 值可以包含表达式
<Rotation>指定符号围绕其中心点的旋转(以十进制度为单位)。 正值表示顺时针方向旋转, 负值表示逆时针旋转。 值可以包含表达式。 缺省值为 0

3.1 ExternalGraphic 外部图形 标签

<ExternalGraphic>是图像文件(格式为 PNG 或 SVG),其中包含定义如何呈现符号的形状和颜色信息。 有关用于指定外部图形的 GeoServer 扩展模块,请参阅 GeoServer 中的图形符号系统。

包含以下子元素

TAG必填?描述
<OnlineResource>xlink:href 属性指定图像文件的位置。 该值可以是相对于 SLD 目录的 URL 或本地路径名。 该值可以包含以 分隔的 CQL 表达式${ }。 该属性 xlink:type="simple" 也是必需的。 该元素不包含任何内容。
<Format>图像格式的 MIME 类型。 支持大多数标准 Web 图像格式。 常见的 MIME 类型有 image/png image/jpeg image/gifimage/svg+xml

举个例子:

<se:Graphic>
    <se:ExternalGraphic>
        <se:OnlineResource xlink:type="simple" xlink:href="/flag.svg"/>
        <se:Format>image/svg+xml</se:Format>
    </se:ExternalGraphic>
</se:Graphic

PS:其中,还可以使用配置给SVG文件直接上色,比如

/flag.svg?fill=%2300ffff&amp;fill-opacity=1&amp;outline=%23ffffff&amp;outline-opacity=1&amp;outline-width=0

3.2 Mark标记

<Mark>由众所周知的名称标识的预定义矢量形状

  • 它们的填充和描边可以在 SLD 中显式定义。
  • 支持是形状有 “circle” 、 、 “square” “triangle”、 “star” "cross"或 “x”

<Mark>元素包含以下子元素:

TAG必填?描述
<WellKnownName>形状的名称。 标准 SLD 形状为 circlesquaretrianglestar crossx。 缺省值为 square
<Fill>指定符号的填充方式(对于闭合形状)。 选项用于 <CssParameter name="fill"> 指定纯色填充颜色,或用于 <GraphicFill> 平铺图形填充。 有关 PolygonSymbolizer 完整语法,请参阅 Fill。
<Stroke>指定符号线条的绘制方式。 某些选项<CssParameter name="stroke">用于指定描边颜色,或用于 <GraphicStroke> 重复图形。 有关 LineSymbolizer 完整语法,请参阅 Stroke。

PS:fill标签和stroke标签是于描绘图形时一样会用到的参数

举个例子:

<se:Graphic>
    <se:Mark>
        <se:WellKnownName>circle</se:WellKnownName>
        <se:Fill>
            <se:SvgParameter name="fill">#ffffff</se:SvgParameter>
            <se:SvgParameter name="fill-opacity">0.85</se:SvgParameter>
        </se:Fill>
        <se:Stroke>
            <se:SvgParameter name="stroke">#e31a1c</se:SvgParameter>
            <se:SvgParameter name="stroke-width">1</se:SvgParameter>
        </se:Stroke>
    </se:Mark>
    <se:Size>19</se:Size>
</se:Graphic>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xcong_Zhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值