当前位置: 首页 > news >正文

GeoServer发布数据进阶

GeoServer发布数据进阶

GeoServer介绍

GeoServer是用于共享地理空间数据的开源服务器。 它专为交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。

GeoServer实现了行业标准的 OGC 协议,例如网络要素服务 (WFS)、网络地图服务 (WMS) 和网络覆盖服务 (WCS)。其他格式和发布选项可作为扩展模块提供,包括 Web 处理服务 (WPS) 和 Web 地图切片服务 (WMTS)。

image-20230227085555194

GeoServer创建工作空间

GeoServer中的工作空间可以理解为数据分组,我们可以将不同省份的数据进行分组,这里已经创建了江苏(jiangsu)和内蒙(neimeng)两个工作空间,如图所示:

img

推荐数据发布命名规则如下:

栅格数据:数据行政区划+时间(年月日)

矢量数据:数据行政区划+时间+内容

数据地址中不要出现中文,可以用英文和数字。

img

数据坐标转换

使用GeoServer发布数据时,最好统一数据坐标系,这里我们需要统一成WGS84(4326)坐标系。使用QGIS(类似ArcMap)工具进行坐标转换。

QGIS是一个用户界面友好的桌面地理信息系统 (opens new window),可运行在Linux (opens new window)、Unix (opens new window)、Mac OSX和Windows等平台之上。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。

接下来介绍如何使用QGIS进行坐标系转换。

image-20230227135027961

我们加载数据到QGIS中,在图层管理中右击图层选择属性,就能看到图层的相关信息。这里我们能看到数据的坐标系和数据的字符编码。

image-20230227135036464

在图层管理中右击图层选择导出-》要素另存为,就可以设置图层导出后的格式、坐标系和字符编码了。

image-20230227135046539

这里如果是导出矢量就选择esri shapefile格式,坐标系选择4326-WGS84,字符编码选择UTF-8。

如果是栅格数据就选择tiff格式,坐标系选择4326-WGS84。

最后将数据上传到GIS服务器上对应的目录中。

GeoServer设置数据样式

这里主要介绍如何设置矢量数据的样式,栅格数据一般不需要设置样式。

GeoServer默认的矢量数据样式是灰黑色的,很可能不符合我们得要求,这里我们可以使用QGIS工具来设置矢量的样式,并上传到GeoServer中使用。

这里我以测试数据为例。

设置图层符号

image-20230227134816933

在图层管理中右击图层选择属性-》选择符号化,

img

这里我们基于矢量中的DLBM字段做分类,不同类型用不同的颜色。

img

设置图层标注

image-20230227135122288

我们还需要将图斑属性标记到图层上,这里我们使用图层标注功能,选择需要标注的属性,可以设置属性的样式、大小和颜色等。

img

image-20230227135147158

导出sld样式文件

image-20230227135212775

选择符号化-》样式-》保存图层样式-》保存为SLD格式样式文件

img

image-20230227135250777

GeoServer新增样式文件

将导出好的样式文件上传到GeoServer中,才能让发布的图层使用,接下来介绍如何在GeoServer中发布样式文件。

登录GeoServer主页面后,选择左侧样式按钮,进入样式目录后可以新增样式。

img

进入新增样式页面后,我们可以手动设置样式文件,也可以上传样式文件,如图所示:

image-20230227135345922

这里我们选择刚刚生成的sld文件-》点击upload按钮,sld文件会被解析到页面中,如图所示:

image-20230227135359556

传完成后我们可以点击左下方的验证按钮,来确保格式是否正确,如果验证通过我们可以设置样式的名称和工作空间,最后点击保存按钮保存样式。

推荐样式的命令方式:行政区划-样式类型

到此GeoServer发布一个矢量样式就完成了。

GeoServer数据发布

做好以上准备后,接下来介绍如何使用GeoServer发布矢量数据和栅格数据。

矢量数据发布

添加存储仓库

存储仓库是将数据所在连接到GeoServer的存储库。每个存储必须在一个工作空间中, 因此在创建时就需要设置一个工作空间。img

点击新建数据源按钮,这里选择矢量数据源中的shapefile文件,如图所示:

img

img

点击浏览按钮选择文件-》选择服务器上传数据的目录-》选择要发布的矢量数据,如图所示:

img

设置矢量文件的名称、工作空间和字符编码,点击保存按钮保存数据源,如图所示:

img

新增图层

设置完矢量数据源点击保存按钮后,会提醒你新建图层,如图所示:

img

点击发布按钮就会新建图层,如果这个时候没有发布,可以点击左侧图层按钮,在图层菜单中选择数据源再次发布,如图所示:

img

点击发布按钮后开始编辑图层,编辑图层名称和图层标题,如图所示:

img

向下滚动,设置图层坐标和图层边界范围,如图所示:

img

编辑好图层属性后,点击发布按钮,设置图层样式,选择之前发布的样式,如图所示:

img

img

点击保存后,图层就发布完成了。

查看图层

点击左侧图层预览按钮,我们可以查看刚刚发布的图层,如图所示:

img

找到我们刚刚发布的图层数据,点击openLayers按钮,就能看到刚刚发布的图层,如图所示

img

栅格数据发布

栅格数据发布流程类似矢量数据发布流程。

添加存储仓库

点击新建数据源按钮,这里选择栅格数据源中的GeoTIFF文件,如图所示:

img

点击浏览按钮选择文件-》选择服务器上传数据的目录-》选择要发布的栅格数据,如图所示:

img

设置栅格文件的名称、工作空间和字符编码,点击保存按钮保存数据源,如图所示:img

新增图层

设置完栅格数据源点击保存按钮后,会提醒你新建图层,如图所示:

img

点击发布按钮后开始编辑图层,编辑图层名称和图层标题,如图所示:

img

向下滚动,设置图层坐标系和图层边界范围,如图所示:

img

查看图层

点击左侧图层预览按钮,我们可以查看刚刚发布的图层,如图所示:

img

找到我们刚刚发布的图层数据,点击openLayers按钮,就能看到刚刚发布的图层,如图所示:

img

GeoServer数据

GeoServer默认发布数据后,使用tms等切片协议进行访问时是动态进行数据切片的,切好片的数据就会被缓存下来。如果我们发布的矢量数据或栅格数据的数据量很大,这个时候数据时还没有完整切片的,用户访问的时候可能感觉有点慢,这个时候就可以主动进行数据切片操作对数据进行缓存,访问缓存后的数据就会快很多。

接下来介绍如何主动进行数据切片缓存操作。

点击左边的切片图层按钮,进入切片图层管理页面,如图所示:

image-20230227141101072

选择我们需要进行切片的图层,如图所示:

img

点击图层后面的Seed/Truncate按钮,进行切片操作,如图所示:

img

这里说明一下,这里切片需要选择坐标系EPSG:900913,这是由于前台使用的切片坐标系是3857。

Format:默认png格式就行

Zoom stop:一般最大不超过18级

相关文章:

GeoServer发布数据进阶

GeoServer发布数据进阶 GeoServer介绍 GeoServer是用于共享地理空间数据的开源服务器。 它专为交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。 GeoServer实现了行业标准的 OGC 协议,例如网络要素服务 (WFS)…...

Docker离线部署

Docker离线部署 目录 1、需求说明 2、下载docker安装包 3、上传docker安装包 4、解压docker安装包 5、解压的docker文件夹全部移动至/usr/bin目录 6、将docker注册为系统服务 7、重启生效 8、设置开机自启 9、查看docker版本信息 1、需求说明 大部份公司为了服务安全…...

《数据库系统概论》学习笔记——第七章 数据库设计

教材为数据库系统概论第五版(王珊) 这一章概念比较多。最重点就是7.4节。 7.1 数据库设计概述 数据库设计定义: 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构&#x…...

【Datawhale图机器学习】半监督节点分类:标签传播和消息传递

半监督节点分类:标签传播和消息传递 半监督节点分类问题的常见解决方法: 特征工程图嵌入表示学习标签传播图神经网络 基于“物以类聚,人以群分”的Homophily假设,讲解了Label Propagation、Relational Classification&#xff…...

【分布式缓存学习篇】Redis数据结构

一、Redis的数据结构 二、String 数据结构 2.1 字符串常用操作 //存入字符串键值对 SET key value //批量存储字符串键值对 MSET key value [key value ...] //存入一个不存在的字符串键值对 SETNX key value //获取一个字符串键值 GET ke…...

【跟着ChatGPT学深度学习】ChatGPT带我入门NLP

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

RGB888与RGB565颜色

颜色名称RGB888原色RGB565还原色英RGB888[Hex]RGB888_R[Hex]RGB888_G[Hex]RGB888_B[Hex]RGB565[Hex]RGB565_R[Hex]RGB565_G[Hex]RGB565_B[Hex]黑色Black0x0000000000000x0000000昏灰Dimgray0x6969696969690x6B4DD1AD灰色Gray0x8080808080800x8410102010暗灰Dark Gray0xA9A9A9A9…...

常见的域名后缀有哪些?不同域名后缀的含义是什么?

域名发展至今,已演变出各种各样的域名后缀,导致很多网站管理人员在注册域名时不知该如何选择。下面,中科三方针对常见域名后缀种类,以及不同域名后缀的含义做下简单介绍。 什么是域名后缀? 域名是由一串由点分隔开的…...

LevelDB架构介绍以及读、写和压缩流程

LevelDB 基本介绍 是一个key/value存储,key值根据用户指定的comparator排序。 特性 keys 和 values 是任意的字节数组。数据按 key 值排序存储。调用者可以提供一个自定义的比较函数来重写排序顺序。提供基本的 Put(key,value),Get(key),…...

华为OD机试模拟题 用 C++ 实现 - 快递货车(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明快递货车题目输入输出示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单…...

伺服三环控制深层原理解析

我们平时使用的工业伺服,通常是成套伺服,即驱动器和电机型号存在配对关系。 但有些时候,我们要用电机定转子和编码器制作非成套电机,这种时候,我们需要对驱动器进行各种设置才能驱动电机。 此篇文章将通过介绍伺服控制的三环控制原理入手来说明我们调试非成套伺服时需要…...

Cornerstone完整的基于 Web 的医学成像平台(一)

1.简介 Cornerstone是一个开源的基于Web的医学成像平台,它提供了一个易于使用的界面,可以用于加载、显示和处理医学图像。Cornerstone可以用于许多医学图像处理应用程序,例如计算机断层扫描(CT)、磁共振成像&#xff…...

老板让我在Linux中使用traceroute排查服务器网络问题,幸好我收藏了这篇文章!

一、前言 作为网络工程师或者运维工程师,traceroute命令不会陌生,它的作用类似于ping命令,用于诊断网络的连通性,不过traceroute命令输出的命令会比ping命令丰富的多,可以跟踪从源系统到目标系统的路径。 很多工程师…...

一文读懂【数据埋点】

数据埋点是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。 数据分析是我们获得需求的来源之一&#xff0c…...

Qt图片定时滚动播放器+透明过渡动画

目录参考结构PicturePlay.promain.cppmyqlabel.h 自定义QLabelmyqlabel.cpp自定义QLabelpictureplay.hpictureplay.cpppictureplay.uistyle.qss效果源码参考 Qt图片浏览器 QT制作一个图片播放器 Qt中自适应的labelpixmap充满窗口后,无法缩小只能放大 Qt的动画类修改…...

手把手带你做一套毕业设计-征程开启

本文是《手把手带你做一套毕业设计》专栏的开篇,文本将会包含我们创作这个专栏的初衷,专栏的主体内容,以及我们专栏的后续规划。关于这套毕业设计的作者呢前端部分由狗哥负责,服务端部分则由天哥操刀。我们力求毕业生或者新手通过…...

万字解析 Linux 中 CPU 利用率是如何算出来的?

在线上服务器观察线上服务运行状态的时候,绝大多数人都是喜欢先用 top 命令看看当前系统的整体 cpu 利用率。例如,随手拿来的一台机器,top 命令显示的利用率信息如下 这个输出结果说简单也简单,说复杂也不是那么容易就能全部搞明白…...

芯驰(E3-gateway)开发板环境搭建

1-Windows下环境配置 可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在 prebuilts/windows 目录中,包括编译器、Python和命令行工具。 1.1.1 CMD SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和…...

HiveSql一天一个小技巧:如何巧用分布函数percent_rank()求去掉最大最小值的平均薪水问题

0 问题描述参考链接(3条消息) HiveSql面试题12--如何分析去掉最大最小值的平均薪水(字节跳动)_莫叫石榴姐的博客-CSDN博客文中已经给出了三种解法,这里我们借助于此题,来研究如何用percent_rank()函数求解,简化解题思路…...

【python实现华为OD机试真题】优雅子数组【2023 Q1 | 200分】

题目描述 如果一个数组Q中出现次数最多的元素出现大于等于K次,被称为k-优雅数组,k也可以被称为优雅阈值只。 例如: 数组1,2, 3, 1、2, 3, 1,它是一个3-优雅数组,因为元素1出现次数大于等于3次, 数组[1,2, 3, 1, 2]就不是一一个3-优雅数组,因为其中出现次数最多的元素是1和…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...