Geoserver发布shp、tiff、瓦片等格式的GIS数据
这里写目录标题
- 1 发布shp矢量数据
- 1.1 添加shp作为数据源
- 1.2 发布shp图层
- 1.3 预览服务
- 1.4 配置样式
- 2 发布Postgres数据库
- 2.2 发布数据
- 3 发布 tif 栅格数据
- 3.1 添加 tif 数据源
- 3.2 发布tif数据
- 3.3 预览服务
- 3.4 配置地图样式
- 关于中文标注乱码的问题
1 发布shp矢量数据
发布shp分为两种方式:
- 单独发布指定的shp文件;(适合临时发布一个数据,测试用)
- 将一个文件夹内的shp数据统一发布。(适合同时发布多个数据,且在同一个文件夹下)
1.1 添加shp作为数据源
添加存储仓库:

根据需要选择你的数据源类型,本教程选择第一个Directory of spatial files (shapefiles)

将预先存放shp的文件夹,发布为数据源:

1.2 发布shp图层

点击发布,然后设置一些服务选项即可:

数据

Tile Caching

点击保存,即完成发布。
1.3 预览服务
在左侧的图层预览中,找到你刚刚发布的图层名字,以openlayers方式预览:


1.4 配置样式
参考官方给的 样式示例,根据需要选择一个适合的sld文件进行下载:
此处选择一个带有标签的sld文件

在Geoserver中新建样式,并上传刚刚下载的sld 样式文件,点击保存完成样式创建:

算了,你也可以直接copy下面的xml到内容框里(建议):
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:se="http://www.opengis.net/se" version="1.1.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:xlink="http://www.w3.org/1999/xlink"><NamedLayer><se:Name>Province_Henan</se:Name><UserStyle><se:Name>Province_Henan</se:Name><se:FeatureTypeStyle><se:Rule><se:Name>Single symbol</se:Name><se:PolygonSymbolizer><se:Fill><se:SvgParameter name="fill">#85b66f</se:SvgParameter></se:Fill><se:Stroke><se:SvgParameter name="stroke">#232323</se:SvgParameter><se:SvgParameter name="stroke-width">1</se:SvgParameter><se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter></se:Stroke></se:PolygonSymbolizer></se:Rule><se:Rule><se:TextSymbolizer><se:Label><ogc:PropertyName>name</ogc:PropertyName></se:Label><se:Font><se:SvgParameter name="font-family">微软雅黑</se:SvgParameter><se:SvgParameter name="font-size">13</se:SvgParameter></se:Font><se:LabelPlacement><se:PointPlacement><se:AnchorPoint><se:AnchorPointX>0</se:AnchorPointX><se:AnchorPointY>0.5</se:AnchorPointY></se:AnchorPoint></se:PointPlacement></se:LabelPlacement><se:Halo><se:Radius>2</se:Radius><se:Fill><se:SvgParameter name="fill">#ffffff</se:SvgParameter></se:Fill></se:Halo><se:Fill><se:SvgParameter name="fill">#000000</se:SvgParameter></se:Fill><se:VendorOption name="maxDisplacement">1</se:VendorOption></se:TextSymbolizer></se:Rule></se:FeatureTypeStyle></UserStyle></NamedLayer>
</StyledLayerDescriptor>
在图层中,找到刚刚发布的图层:

选择刚刚创建的样式名称,点保存:

保存之后,继续预览该图层,发现已经有样式和标注了:

2 发布Postgres数据库
为了教程,新建了一个面图层,作为测试:

2.1 添加数据库作为数据源

通过IP 端口,用户名+密码,连接指定数据库test_gis:

如果你的输入都正确的话,保存之后,会自动跳转到:

2.2 发布数据
后面的发布过程与shp一样了。请参考前面的步骤。。。

3 发布 tif 栅格数据
3.1 添加 tif 数据源
添加存储仓库:

新建数据源:

选中tif文件

3.2 发布tif数据

默认选项可以不用更改,直接点保存,即完成发布。

3.3 预览服务


OK!

3.4 配置地图样式
默认的样式只有灰度,如果想让它展示五彩斑斓,参考官方样式说明 Geoserver SLD样式规范,流程如下:
根据需要下载一个sld文件:

在Geoserver中新建样式,并上传刚刚下载的sld 样式文件:

新建样式完成后,回到图层中,找到刚刚发布tif图层,给它选择样式。

选中刚刚新建的样式名字:


重新预览地图,发现已经变了颜色:

关于中文标注乱码的问题
在Linux系统上,排除编码问题后,依旧显示方框,此时查看geoserver中支持的字体,并没有中文。

因此,需要给所在的Linux系统,增加中文字体。
从当前所使用Windows系统中,copy出一些中文字体,如:

然后,将其上传至Linux服务器,可以存放到/usr/share/fonts/font_zh,并安装字体:
# 进入你存字体的目录
cd /usr/share/fonts/font_zh
# 安装
sudo apt -y install xfonts-utils fontconfig
# xfonts-utils 生产字体索引
sudo mkfontscale
sudo mkfontdir
# fontconfig 更新字体缓存
sudo fc-cache
安装好字体之后,重启一下系统,再次进入Geoserver检查,发现已经有了中文字体。
此时,图层的中文标注也可以正常显示!
相关文章:
Geoserver发布shp、tiff、瓦片等格式的GIS数据
这里写目录标题 1 发布shp矢量数据1.1 添加shp作为数据源1.2 发布shp图层1.3 预览服务1.4 配置样式 2 发布Postgres数据库2.2 发布数据 3 发布 tif 栅格数据3.1 添加 tif 数据源3.2 发布tif数据3.3 预览服务3.4 配置地图样式 关于中文标注乱码的问题 1 发布shp矢量数据 发布sh…...
读书笔记-《ON JAVA 中文版》-摘要24[第二十一章 数组]
文章目录 第二十一章 数组1. 数组特性2. 一等对象3. 返回数组4. 多维数组5. 泛型数组6. Arrays的fill方法7. Arrays的setAll方法8. 数组并行9. Arrays工具类10. 数组拷贝11. 数组比较12. 流和数组13. 数组排序14. binarySearch二分查找15. 本章小结 第二十一章 数组 1. 数组特…...
go语言基本操作---五
error接口的使用 Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型 type error interface {Error() string }package mainimport ("errors""fmt" )type Student struct {name stringid int }func …...
【sgLazyTree】自定义组件:动态懒加载el-tree树节点数据,实现增删改、懒加载及局部数据刷新。
特性 可以自定义主键、配置选项支持预定义节点图标:folder文件夹|normal普通样式多个提示文本可以自定义支持动态接口增删改节点可以自定义根节点Id可以设置最多允许添加的层级深度 sgLazyTree源码 <template><div :class"$options.name" v-lo…...
Rust个人学习笔记
感悟:感觉rust好像缝合怪,既有python的影子,又有java和cpp的影子,可能这就是新型编程语言趋势吧。而且他的各种规范很严格很规范,比java还更工程,各种规范不对都有warning。 命名规范:蛇形命名…...
Java根据身份证号码提取出省市区,JSON数据格式
package com.rdes.talents.utils;import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern;/*** Author: 更多实用源码 www.cx1314.cn* Date: 2023/9/7 …...
MySQL知识笔记——初级基础(实施工程师和DBA工作笔记)
老生长谈,MySQL具有开源、支持多语言、性能好、安全性高的特点,广受业界欢迎。 在数据爆炸式增长的年代,掌握一种数据库能够更好的提升自己的业务能力(实施工程师)。 此系列将会记录我学习和进阶SQL路上的知识…...
javaee 事务的传播行为
事务的传播行为 事务的第一个方面是传播行为(propagation behavior)。当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的…...
C#-SQLite-使用教程笔记
微软官网资料链接(可下载文档) 教程参考链接:SQLite 教程 - SQLite中文手册 项目中对应的system.dat文件可以用SQLiteStudio打开查看 参考文档:https://d7ehk.jb51.net/202008/books/SQLite_jb51.rar 总结介绍 1、下载SQLiteS…...
Tomcat详解 一:tomcat的部署
文章目录 1. Tomcat的基本介绍1.1 Tomcat是什么1.2 Tomcat的构成组件1.2.1 Web容器1.2.2 Servlet容器1.2.3 JSP容器(JAVA Scripts page) 1.3 核心功能1.3.1 Container 结构分析 1.4 配置文件1.5 Tomcat常用端口号1.6 启动和关闭Tomcat 2. 部署Tomcat服务…...
算法 - 二分
~~~~ 题目 - 整数二分需要考虑边界思路code开平方 - 浮点数二分codecode core 题目 - 整数二分需要考虑边界 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始…...
蠕虫病毒问题
蠕虫病毒处理过程 修改病毒定时时间,今天遇到的是 */30 crontab -e先修改延长时间,会提示无操作权限,执行下面的问题 chattr -l /filepath查看可疑进程,这次遇到的进程有 /tmp/***** /tmp/crontab***** ps -auxkill -9 相关进程 删除/…...
pytest笔记2: fixture
1. fixture 通常是对测试方法和测试函数,测试类整个测试文件进行初始化或是还原测试环境 # 功能函数 def multiply(a, b):return a * b # ------------ fixture---------------def setup_module(module):print("setup_module 在当前文件中所有测试用例之前&q…...
day55 补
392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,&quo…...
CSS变量之var()函数的应用——动态修改样式 root的使用
一、css变量 body {--foo: #7F593F;--urls: ./img/xxx.jpg; }变量的名称可以用数字、汉字等,不能包含**$,[,^,(,%**等字符,变量的值也是可以使用各种属性值: 如: // 定义css变量 :r…...
索尼 toio ™应用创意开发征文|一个理想的绘画小助手
引言 toio™机器人是索尼推出的一款创意玩具,它的小巧和可编程性使其成为一个理想的绘画助手。通过编程控制机器人的运动和绘画工具,我们可以为小朋友提供一个有趣的绘画体验。 创意描述 我们可以通过JavaScript编程来控制toio™机器人的运动和绘画工具…...
java加密,使用python解密 ,使用 pysm4 报 byte greater than 16的解决方法
1,业务需要,对方需要用java进行参数加密,双方约定使用的加密方法是 SM4,对方给的key是32位,并且给出了加解密的java代码。 import org.bouncycastle.jce.provider.BouncyCastleProvider; import java.security.Key; i…...
django后台启动CORS跨越配置
文章目录 背景什么是跨域问题?跨域问题的解决方案 Django 解决跨域问题 背景 什么是跨域问题? 跨域问题是指浏览器的同源策略限制了来自不同域的 AJAX 请求。 具体来说: 同源策略要求源相同才能正常进行 AJAX 通信。判断是否同源需要满足三个条件: 协…...
异常的顶级理解
目录 1.异常的概念与体系结构 1.1异常的体系结构 1.2异常的举例 1.3错误的举例 2.异常的分类 2.1编译时异常 2.2运行时异常 3.异常的处理 3.1异常的抛出throw 3.2try-catch捕获并处理 3.3finally 3.4 异常声明throws 4.自定义异常类 1.异常的概念与体系结构 1.1异常的…...
LinkedHashMap实现LRU缓存cache机制,Kotlin
LinkedHashMap实现LRU缓存cache机制,Kotlin LinkedHashMap的accessOrdertrue后,访问LinkedHashMap里面存储的元素,LinkedHashMap就会把该元素移动到最尾部。利用这一点,可以设置一个缓存的上限值,当存入的缓存数理超过…...
EVA-02模型辅助软件测试:自动化生成测试用例与边界条件描述
EVA-02模型辅助软件测试:自动化生成测试用例与边界条件描述 如果你是一名软件测试工程师,下面这个场景你一定不陌生:产品经理递过来一份几十页的需求文档,你需要在几天内,把它拆解成成百上千条逻辑清晰、覆盖全面的测…...
CloudFlare Workers实现高级邮箱转发:过滤垃圾邮件+自动分类实战
CloudFlare Workers实现高级邮箱转发:过滤垃圾邮件自动分类实战 邮箱已经成为现代人工作和生活中不可或缺的工具,但随之而来的垃圾邮件、广告推广和各类通知也让收件箱变得杂乱无章。对于开发者和技术爱好者来说,传统的邮箱转发功能往往不能满…...
ssm+java2026年毕设体育赛事管理系统App【源码+论文】
本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于赛事管理问题的研究,现有研究主要以大型综合性体育赛事(如奥运会、亚运会)的信息化管理…...
像素皇城·灵蛇贺岁实战案例:高校AI课程中像素春联生成器教学项目设计
像素皇城灵蛇贺岁实战案例:高校AI课程中像素春联生成器教学项目设计 1. 项目背景与教学价值 在高校AI课程教学中,如何将传统文化与现代技术相结合,设计出既有教育意义又富有趣味性的实践项目,一直是教学设计的难点。"像素皇…...
Qwen3.5-2B部署实战:端侧轻量化多模态模型一键镜像教程
Qwen3.5-2B部署实战:端侧轻量化多模态模型一键镜像教程 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为低功耗、低门槛部署场景设计,特别适合端侧…...
QuickSnap:提升三维建模效率的快速对齐工具——三维建模爱好者的精准对齐解决方案
QuickSnap:提升三维建模效率的快速对齐工具——三维建模爱好者的精准对齐解决方案 【免费下载链接】quicksnap Blender addon to quickly snap objects/vertices/points to object origins/vertices/points 项目地址: https://gitcode.com/gh_mirrors/qu/quicksna…...
5分钟成为效率大师!NoteGen快捷键可视化配置终极指南
5分钟成为效率大师!NoteGen快捷键可视化配置终极指南 【免费下载链接】note-gen 一款专注于记录和写作的跨端 AI 笔记应用。 项目地址: https://gitcode.com/GitHub_Trending/no/note-gen NoteGen是一款专注于记录和写作的跨端AI笔记应用,通过快捷…...
编程技巧:模式切换程序框架
目录 1.模式切换程序框架 2.实现思路 3.模式切换程序框架 4.模式切换每个模式模块化流程 5.代码 Mode1.c Mode2.c Mode3.c Global.c main.c 1.模式切换程序框架 Init:进入模式前,执行一遍,用于初始化工作 Loop:执行完In…...
汽车智能制造如何落地?从“黑灯工厂”看AI赋能的关键路径
一、当工厂学会在黑暗中自行运转偌大的汽车生产车间里,灯光熄灭,只有AGV小车穿梭的微光和机械臂有节奏的运作声。没有工人的手电筒,也没有巡检的脚步,一切生产、检测、调度都在黑灯状态下有条不紊地进行。这并非科幻电影ÿ…...
3分钟搞定跨平台:Whisky让你的Mac运行Windows应用零障碍
3分钟搞定跨平台:Whisky让你的Mac运行Windows应用零障碍 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 你是否曾经在Mac上需要运行某个Windows专属软件而感到束手无策&a…...
