内网geoserver发布多层级影像数据,并实现调用(使用leaflet)_geoserver wms 多级-程序员宅基地

技术标签: java  leaflet  

公司近期会有项目需要实现在内网环境下调用高德、百度地图,但是内网与互联网又是物理隔离,无法直接调用各地图api,目前的方法是,将需要使用的地图下载到本地服务器上,并通过geoserver发布为服务,来实现调用。
步骤分为以下几步:

一、下载地图数据

在各种地图下载器中流连之后,发现还是“太乐地图下载器”好用些,下载下来直接就可以发布,只需要注册下就可以。【其他下载器:BIGEMAP下载器、水经注、sxearth等,只是繁琐程度不同,都可以使用】

‘太乐’下载步骤放在文章末尾,需要请移步(毕竟不是文章重点(0.。0))
第二种下载方式(python)
需要下载PyCharm 2021.1.2 x64程序,将python包丢进去进行下载
代码下载位置:
链接:https://pan.baidu.com/s/1tce6iEiVW5lLyFyr93asTg
提取码:a21k

#raw_input(“等待中…”)这句需要注释才能执行

二、发布服务(geoserver)

【新建工作区——新建数据存储——发布为图层——切片处理】
①新建工作区
在这里插入图片描述在这里插入图片描述②新建数据存储
在这里插入图片描述



接下来需要根据下载数据的类型选择数据存储的格式,我这里下载的地图是tif格式的影像数据,因此需要选择“栅格数据”中的"GeoTIFF"


在这里插入图片描述
在这里插入图片描述确定后自动跳转,点击“发布”按钮
在这里插入图片描述
一般需要调整的只有这两个选项卡中的内容,其中“数据”选项卡中需要确认图层边框、坐标参考系统、覆盖参数。覆盖参数默认为空,此时加载图层会有黑边,调整为“000000”(即纯黑色),可以去掉黑边。"Tile Caching"选项卡中需要调整网格集的坐标系统,只留下需要的就可以,我这边只留下“EPSG:3857”。【ps:如果是刚安装的geoserver,一般来说没有这个坐标系,需要手动添加,找页面最左侧“Gridsets”即可】
在这里插入图片描述完成后点击“保存”
在这里插入图片描述
在这里插入图片描述点击Tile Layers,在刚刚添加的图层后选择“Seed/Truncate”
在这里插入图片描述此时就做好了切片处理,切片存储在data_dir文件夹下的gwc文件夹里
在这里插入图片描述
多个图层发布服务就重复以上步骤即可。

三、调用服务地图

我这里使用的是leaflet,其他框架大同小异
对地图缩放做监听,每次地图缩放就调用对应级别的影像

//写给新手:“()=>”近似于function ***(),相当于不用写名称的方法
//具体差异自行百度
mymap.on('zoomend',()=>{
//wmsLayer提前定义了全局变量
					if(wmsLayer){
						mymap.removeLayer(wmsLayer);
					}
					//let是es6的用法,作用为定义局部变量
					let mm=mymap.getZoom();
					wmsLayer = L.tileLayer.wms("http://localhost:8080/geoserver/try/wms", {
						layers: 'try:L'+mm, //需要加载的图层
						format: 'image/png', //返回的数据格式
						transparent: true,
						//crs: L.CRS.EPSG4326
					});
					mymap.addLayer(wmsLayer);
				})

同一位置不同级别效果

在这里插入图片描述在这里插入图片描述在这里插入图片描述
看其他大佬采用方法为多图层切片后,把切片后的文件整理到一个文件夹下,然后就可以实现自动切换,但是我试过后发现只有在geoserver中预览时才会这样,实际调用的时候还是只显示其中一个图层的,百撕不得其姐,很奇怪,如果有大佬知道,烦请告知一二,或者日后我研究出来再更新本文。

下载地图(使用“太乐地图下载器”)

如果未注册的话,下载的地图会有水印,因此建议下载带注册机的“学习”版本。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述然后会进入下载界面,下载完成后自动在屏幕右下角弹出窗口询问是否导出地图,
在这里插入图片描述下载完成后自动打开位置
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42751928/article/details/106665094

智能推荐

Servlet Response直接返回JSON数据_servlet response返回数据-程序员宅基地

文章浏览阅读1.7w次,点赞9次,收藏21次。获取打印输出流打印输出流:response.getWriter() 返回的是 PrintWriter可以通过 response.getWriter().write()和response.getWriter().print()响应数据给客户端,如果前端没有接收数据的位置,就会在浏览器上生成一个新的页面来显示内容。区别:write():仅支持输出字符类型数据,字符、字符数组、字符串等print():可以将各种类型(包括Object)的数据通过默认编码转换成bytes字节形式,这些字节都通过writ_servlet response返回数据

JAVA毕业设计Web企业差旅在线管理系统计算机源码+lw文档+系统+调试部署+数据库_基于javaweb的差旅报销系统毕业设计-程序员宅基地

文章浏览阅读98次。JAVA毕业设计Web企业差旅在线管理系统计算机源码+lw文档+系统+调试部署+数据库。springcloud基于微服务架构的小区生活服务平台的设计与实现。jsp会议管理系统的设计与实现sqlserver。ssm+sqlserver精准扶贫项目管理系统。ssm+sqlserver音乐资源分享网站。ssm基于Web的精品课程网站的设计与实现。ssm基于JavaEE的网上图书分享系统。_基于javaweb的差旅报销系统毕业设计

ERROR: The executable **/python.exe is not functioning解决方案_error: the executable g:\workspace\pythonproject\v-程序员宅基地

文章浏览阅读2.4k次。我是从3.8.3更新到3.11.4,pycharm版本是2020.1.2,所以网上说的更改文件权限、检查路径是否有中文我统统都试过了,所以我狠心直接重装新版本的2022.3.3,一顿操作过后发现能成功创建project了也不报错。将python版本更新后,使用pycharm突然无法创建虚拟环境virtualenv失败,提示路径从C:\Users\Lenovo\AppData\Local\下的什么什么到创建的路径的下的什么什么 我这里已经解决了忘记截图保存。_error: the executable g:\workspace\pythonproject\venv\scripts\python.exe is

【计算机毕业设计】189电商平台-程序员宅基地

文章浏览阅读80次。如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统商品交易信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个电商平台,可以解决许多问题。电商平台可以实现商家管理,商品订单管理,用户管理,商品管理,商品评价管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。电商平台可以提高商品交易信息管理问题的解决效率,优化商品交

js处理xml文件,成execl格式_js浏览器环境excel转xml-程序员宅基地

文章浏览阅读344次。nginx配置映射,js读取xml文件,整理成规整excel格式的字符传_js浏览器环境excel转xml

springboot整合jett实现模板excel数据导出_spring boot 导出模板数据-程序员宅基地

文章浏览阅读648次。jett是使用Excel电子表格模板快速创建Excel电子表格报告的工具。_spring boot 导出模板数据

随便推点

java/php/net/python 企业固定资产信息管理系统【2024年毕设】-程序员宅基地

文章浏览阅读47次。springboot基于Springbootvue的教学辅助系统设计与实现。springboot基于springboot的智能ERP管理系统。springboot基于Springboot的高校教室管理系统。springboot基于springboot的产后护理系统。springboot基于java电商后台管理系统。springboot特困生在线申报和信息服务系统。ssm基于微信小程序的汉服租赁平台的设计与实现。ssm基于vue的高校宿舍报修系统的设计与实现。springboot少数民族饰品销售系统。

ArcGIS Engine IGeometry和WKB的转换_arcgis shape字段wkb-程序员宅基地

文章浏览阅读3.2k次。wkt 、wkb、几何对象的转换_arcgis shape字段wkb

Ubuntu14.04 64位运行32位程序 ./qt-creator-linux-x86-opensource-2.6.1.bin 问题解决_error while loading shared libraries: libgobject-2-程序员宅基地

文章浏览阅读972次。./qt-creator-linux-x86-opensource-2.6.1.bin./qt-creator-linux-x86-opensource-2.6.1.bin:: error while loading shared libraries: libgobject-2.0.so.0: cannot open shared object file: No such file or ..._error while loading shared libraries: libgobject-2.0.so.0: cannot open share

基于GitLab+Docker+K8S的持续集成和交付_getlab ci kubectl kubeconfig-程序员宅基地

文章浏览阅读5.5k次。基于GitLab+Docker+K8S的持续集成和交付_getlab ci kubectl kubeconfig

EMQX5.0使用Mysql认证,和Navicat Mysql数据库连接_emqx连接mysql-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏33次。在阿里云的服务器内安装好EMQX后,接下来使EMQX和Mysql数据库连接。_emqx连接mysql

浏览器中支持硬件加速_video acceleration information-程序员宅基地

文章浏览阅读3.9k次。1 什么是硬件加速硬件加速是指,应用程序使用计算机硬件的能力,比软件实现的功能能够更有效地执行某些操作。在 Chrome/Chromium 浏览器中,硬件加速能够利用计算机的图形处理单元(GPU)来处理图形密集型任务,例如:播放视频、浏览地图、网页渲染、游戏或需要更快数学运算的任何内容。通过分离特定任务,您的 CPU 就有机会专注于处理其它事务,而 GPU 则专门负责处理图形密集型任务的进程。2 硬件加速包括哪些内容硬件加速通常包括3D图形加速和视频硬件解码加速两部分。3 支持硬件加速需要满_video acceleration information

推荐文章

热门文章

相关标签