【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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/209535.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入解析SpringBoot的请求响应机制

SpringBootWeb请求响应 前言1. 请求1.1 Postman介绍 1.2 简单参数1.2.1 原始方式1.2.2 SpringBoot方式1.2.3 参数名不一致 1.3 实体参数1.3.1 简单实体对象1.3.2 复杂实体对象 1.4 数组集合参数1.4.1 数组1.4.2 集合 1.5 日期参数1.6 JSON参数1.7 路径参数 2. 响应2.1 Response…

C#图像处理OpenCV开发指南(CVStar,06)——图片光滑处理之高斯滤波(GaussianBlur)的实现代码

1 高斯滤波 原理就不讲了&#xff0c;文章很多。 基础代码请参阅&#xff1a; C#图像处理OpenCV开发指南&#xff08;CVStar&#xff0c;03&#xff09;——基于.NET 6的图像处理桌面程序开发实践第一步https://blog.csdn.net/beijinghorn/article/details/134684471?spm10…

RHCSA学习笔记(RHEL8) - Part1.RH124

Chapter Ⅰ 入门 - Linux 开源系统&#xff0c;命令行&#xff0c;模块化&#xff08;软件包的形势&#xff09; - Windows 闭源Linux是类UNIX系统&#xff0c;mac系统也是类UNIX系统&#xff0c;所以二者的图形化界面比较相似 开源许可证&#xff1a;公共版权&#xff1b;宽…

uniapp-从后台返回的一串地址信息上,提取省市区进行赋值

1.这是接口返回的地址信息 2.要实现的效果 3.实现代码&#xff1a; <view class"address">{{item.address}}</view>listFun() {let url this.$url.url.positionInfoCompany;let param {page: this.page,limit: this.limit,keyword: this.keyword,};thi…

Rust语言项目实战(二) - 准备键盘和终端屏幕

上一章节中&#xff0c;我们实现了游戏开始音频的播放&#xff0c;本章我们开始编写游戏界面。我们的游戏是在命令行终端中运行的&#xff0c;因此编写的界面也是终端中展示的界面&#xff0c;上一章中&#xff0c;我们已经把相关的依赖包crossterm添加到了依赖列表中。本章首先…

【嵌入式Linux程序开发综合实验】-1(附流程图) | ARM开发板 | 测试“Hello World” | Makefile文件 | 实现加法相加

任务&#xff1a;编写在标准输出终端输出“Hello World&#xff01;”的C语言代码以及输入指定数字相加结果、Makefile&#xff0c;并分别编译出在PC与ARM上运行的可执行程序文件。 设备以及工具 硬件&#xff1a;Linux开发板、PC机、串口连接线 图1 Linux开发板以及串口接线 …

原生video设置控制面板controls显示哪些控件

之前我们学习了如何使用原生video播放视频 今天来一个进阶版的——设置控制面板controls显示哪些控件 先看一下当我们使用原生video时&#xff0c;controls属性为true时&#xff0c;相关代码如下&#xff1a; 正常的控制面板默认显示的控件有&#xff1a;播放、时间线、音量调…

四、Zookeeper节点类型

目录 1、临时节点 2、永久节点 Znode有两种,分别为临时节点和永久节点。 节点的类型在创建时即被确定,并且不能改变。 1、临时节点 临时节点的生命周期依赖于创建它们的会话。一旦会话结束,临时节点将被自动删除,

机器学习笔记 - 基于百度飞桨PaddleSeg的人体分割模型以及TensorRT部署说明

一、简述 虽然Segment Anything用于图像分割的通用大模型看起来很酷(飞桨也提供分割一切的模型),但是个人感觉落地应用的时候心里还是更倾向于飞桨这种场景式的,因为需要用到一些人体分割的需求,所以这里主要是对飞桨高性能图像分割开发套件进行了解和使用,但是暂时不训练…

LiteOS内存管理:TLSF算法

问题背景 TLSF算法主要是面向实时操作系统提出的&#xff0c;对于RTOS而言&#xff0c;执行时间的确定性是最根本的&#xff0c;然而传统的动态内存分配器&#xff08;DMA&#xff0c;Dynamic Memory Allocator&#xff09;存在两个主要问题&#xff1a; 最坏情况执行时间不确…

Vue3+nuxt+ts项目引入高德地图API实现步骤

看了好多相关的文章都没有完全贴合选用Vue3nuxtts框架的&#xff0c;也不太靠谱&#xff0c;只好自己踩坑实现了 首先去高德开放平台用自己的账号申请一个key&#xff0c;位置如下&#xff0c;申请好后保存好生成的key 我们使用vuemap/vue-amap&#xff0c;一个高德地图2.0版本…

微信小程序自定义tabBar简易实现

文章目录 1.app.json设置custom为true开启自定义2.根目录创建自定义的tab文件3.app.js全局封装一个设置tabbar选中的方法4.在onshow中使用选中方法最终效果预览 1.app.json设置custom为true开启自定义 2.根目录创建自定义的tab文件 index.wxml <view class"tab-bar&quo…

Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能

原创/朱季谦 最近通过Vue Element ui实现了动态表单功能&#xff0c;该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能&#xff0c;趁热打铁&#xff0c;将开发心得记录下来&#xff0c;方便以后再遇到类似功能时&#xff0c;直接拿来应用。 简化的页…

用通俗的方法讲解:大模型微调训练详细说明(附理论+实践代码)

本文内容如下 介绍了大模型训练的微调方法&#xff0c;包括prompt tuning、prefix tuning、LoRA、p-tuning和AdaLoRA等。 介绍了使用deepspeed和LoRA进行大模型训练的相关代码。 给出了petals的介绍&#xff0c;它可以将模型划分为多个块&#xff0c;每个用户的机器负责其中一…

七、FreeRTOS之FreeRTOS中断管理

这部分非常重要&#xff0c;小伙伴们必须要掌握的哈~本节需要学的内容如下&#xff1a; 1&#xff0c;什么是中断&#xff1f;&#xff08;了解&#xff09; 2&#xff0c;中断优先级分组设置&#xff08;熟悉&#xff09; 3&#xff0c;中断相关寄存器&#xff08;熟悉&…

VLAN间路由详细讲解

本次实验拓扑的主要概述以及设计到的相关技术 VLAN技术&#xff1a; VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 每个VLAN是一个广播域&#xff0c;VLAN内的主机间可以直…

Leetcode—704.二分查找【简单】

2023每日刷题&#xff08;四十七&#xff09; Leetcode—704.二分查找 实现代码 int lower_bound(int* arr, int numsSize, int tar) {int left 0, right numsSize;int mid left (right - left) / 2;while(left < right) {mid left (right - left) / 2;if(arr[mid] …

论文精读 Co-DETR(Co-DINO、Co-Deformable-DETR)

DETRs with Collaborative Hybrid Assignments Training 基于协作混合分配训练的DETRs 论文链接&#xff1a;2211.12860.pdf (arxiv.org) 源码链接&#xff1a;https://github.com/Sense-X/Co-DETR 总结&#xff1a; Co-DETR基于DAB-DETR、Deformable-DETR和DINO网络进行了实…

ElasticSearch知识体系详解

1.介绍 ElasticSearch是基于Lucene的开源搜索及分析引擎&#xff0c;使用Java语言开发的搜索引擎库类&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业级搜索引擎。 它可以被下面这样准确的形容&#xff1a; 一个分布式的实时文档存储&#xf…

fastmock如何判断头信息headers中的属性值

fastmock可以快速提供后端接口的ajax服务。 那么&#xff0c;如何判断头信息headers中的属性值呢&#xff1f; 可以通过function中的参数_req可以获得headers中的属性值&#xff0c;比如 User-Agent&#xff0c;由于User-Agent属性带有特殊符号&#xff0c;因此使用[]方式而不…