ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GeoServer入门(二):WMTS图层瓦片切割与调用

2021-12-30 21:35:12  阅读:452  来源: 互联网

标签:缩放 GeoServer 切片 WMTS 瓦片 图层


本章主要讲述如何GeoServer进行图层瓦片切割与缓冲,发布标准的WMTS服务,并介绍了REST格式的调用参数。主要包含以下内容:

  • 图层切片与缓冲
  • WMTS服务调用

GeoServer入门(一):发布第一个图层中,利用GeoServer服务器发布了第一张WMS地图,并使用OpenLayers在浏览器中进行了预览和基本的平移和放大操作。细心的读者可能已经发现,每次鼠标操作时浏览器都会向后台服务器发送一个地图更新的请求,这在地图较小、访问量较少的情况下感觉还不太明显。但是,对于稍微大一点的GeoTIFF地图每次花费的时间就显得比较长了。一方面是因为GeoServer服务器每次请求都要根据WMS服务的参数来生成需要返回给浏览器的图像,当地理图像越大时这个过程花费的时间就会越长;另一方面也因为相同的图片生成过程在服务器端被不断的重复,即使已经访问过很多次了也会在下次WMS服务时重新生成,这样就做了很多的无用功,白白浪费了服务器的计算资源。如果能将以前生成过的地理图片缓存在服务器上,这个生成图像的过程就会急剧减少,将会大大减轻服务器的负担,提高服务的影响效率。幸好GeoServer已经内置了GeoWebCache服务,通过这个缓冲机制,可以将所有和图层提前切片保存,虽然从存储空间的角度来讲似乎有些浪费,但是从服务响应时间上来看却极大地提高了地图服务的响应效率。

1. 图层切片与缓冲

GeoServer已内置了GeoWebCache服务,可以直接在GeoServer的管理界面左侧的“Tile Caching”瓦片缓冲菜单栏中进行操作,可以对图层进行切片、设置默认缓冲参数、网格集、磁盘限额等。

(1)打开“切片图层”

点击“切片图层”功能菜单,即可打开“切片图层”页面。

这张页面列出了GeoServer服务器发布的所有图层,在“图层名称”列找到想要进行切片的图层,点击图层的名称打开“编辑图层”页面。

(2)编辑图层切片参数

这里打开的“编辑图层”与GeoServer入门(一):发布第一个图层中“添加新图层”时打开的“编辑图层”页面完全一样。在“Tile Caching”标签页中可以对图层切片参数进行设置。

这里列出的参数可以全部使用默认设置,特别要提到的是网格的设置,GeoWebCache默认使用EPSG:4326和EPSG:3875两种坐标系统来对图层进行切片,这两种坐标系统也是目前WebGIS应用中最为常用的坐标系,如果需要其他的坐标系可以在“Add grid subset”栏中选择添加。其中的放大级别可以先不用设置,在后面具体切片时可以重新设置需要缓冲的切片的缩放级别。

所有参数设置完成后,点“保存”按钮即可。

(3)切片任务

完成切片参数设置以后,就可以在“图层切片”页面中点击图层名称那一行的“Seed/Truncate”按键打开“创建切片任务”设置页面并后台完成切片工作。

 

在“建立切片任务”页面,可以对任务的数量、操作的类型、网格集合、瓦片图像格式、起止缩放级别等参数进行设置,如上图中就设置了使用6个线程来完成EPSG:4326网格的png瓦片切割任务,缩放级别从0级到18级等,最后点击“Submit”按钮即可后台开始上述的切片任务如下:

 

等到所有这些任务全部都完成后,切片工作就算是完成了,这时可在Tomcat的temp/geowebcache文件夹(Tomcat下war包部署方式,其他方式可相应查找)找到以这个图层名称命名的文件夹,在图层文件夹下列出了瓦片缩放等级为文件夹的多个瓦片目录,所有的瓦片图像就缓冲在这里:

这里出现的文件夹的名字很重要,把名称中的下划线换成冒号(:)后实际上就是很多前台地理空间数据可视化库中所需要用到的TileMatrixID。这时就可以使用客户端来测试一下WMTS服务和瓦片缓冲的实际效果了。

2 WMTS服务调用

在管理界面首页右侧的“服务能力”栏目中找到WMTS服务,点击下面“1.0.0”或者直接在浏览器地址栏中输入

http://localhost:8080/geoserver/gwc/service/wmts?REQUEST=GetCapabilities

来查看GeoServer服务器当前发布的所有WMTS图层的参数情况。由于包含所有和发布图层,这个文件一般会比较长,可以通过搜索图层名称来快速找到该图层的切片情况。

 

 从这个能力文件中可以看出,如果想要以png瓦片的形式访问这个图层,只需使用以下REST命令格式向GeoServer发送请求:

http://localhost:8080/map/gwc/service/wmts/rest/xian:satellite/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png

其中:

{style}为瓦片风格,在“创建切片任务”时一般会选择默认值为“raster”;

{TileMatrixSet}为瓦片集合名,“创建切片任务”时会选择“EPSG:4326”或“EPSG:900913”;

{TileMatrix}为瓦片矩阵名,相当于其他切片方法中的缩放层级。由于GeoWebCache同时支持多种网格的切片,所以这个参数的命名与常用的切片机制稍微有点区别。还记得在geowebcache中看到的文件夹的名字吗?这里的{TileMatrix}就是用冒号替换了下划线后的那个文件名。这个参数一般是由前台可视化库自动给出的,注意要能获得正确的缩放级别,如“EPSG:4326:10”就表示10级缩放。

{TileRow}为瓦片行编号,由前台可视化库自动给出;

{TileCol}为瓦片列编号,由前台可视化库自动给出。

明白了这几个参数的含义,就赶紧去找OpenLayers或者Cesium前台JavaScript库去试一下吧!

标签:缩放,GeoServer,切片,WMTS,瓦片,图层
来源: https://blog.csdn.net/qlcheng2008/article/details/122245614

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有