GeoServer系列-发布WMTS切片服务

前言:

  • WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。
  • GeoServer发布WMST是在已经发布好WMS服务的基础上进行的,将已发布的WMS图层按级别切片,前端根据缩放级别分别加载各个小切片图片

1、安装GeoServer的矢量切片插件

GeoServer的矢量切片插件是官方的插件,可以在GeoServer download页面中下载
注意根据自己geoserver的版本下载,可以直接修改下载页面url切换版本
在这里插入图片描述
解压压缩包,并将包内文件全部拷贝到‘GeoServer\webapps\geoserver\WEB-INF\lib’ 处,并重启服务

打开GeoServer的Web管理界面,点开切片图层,进入某个切片图层的Tile Caching选项页面,可以看到Tile Image Formats多了几个选项,代表安装成功。
选择切片图层的“Tile Caching”,将数据类型中的geojson、topojson、mvt等勾选上
在这里插入图片描述

2、发布wmts服务

点击要发布WMTS的切片,选择网格集和缩放层级
在这里插入图片描述
设置好后在切片图层列表可以看到上一步选择的切片方案在这里插入图片描述
预览wmts服务,表示wtms服务可用。不过此时看到的瓦片服务是geowebcache动态生成的,并没有生产全套的瓦片集合。
在这里插入图片描述
制作本地切片缓存,加快访问速度
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当切片完成后,切片保存在geoserver数据默认数据存储位置gwc文件下,进入gwc文件夹找到对应的图层, 可以在存放数据的目录看到切片文件,一个层级一个文件夹
在这里插入图片描述
至此,wmts服务的瓦片生产已经完成了。

3、使用cesium加载wmts服务

代码如下,如果选择EPSG:4326,还需要添加tilingScheme: new Cesium.GeographicTilingScheme()

let wmtsImageryProvider = new Cesium.WebMapTileServiceImageryProvider({
      url: "http://localhost:8899/geoserver/gwc/service/wmts/rest/test:all_roads/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png",
      layer: "test:all_roads",
      style: "", //务必加上style属性,哪怕style属性值为空字符串!!!!
      tileMatrixSetID: "EPSG:4326", //不能用4326,否则cesium中不显示
      tilingScheme: new Cesium.WebMercatorTilingScheme(),  // 当想要加载EPSG:4326瓦片服务时,只需要创建一个GeographicTilingScheme对象即可
    });
 
viewer.imageryLayers.addImageryProvider(wmtsImageryProvider);

其中:

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

参考文章 https://blog.csdn.net/qq_45956730/article/details/129792761

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

占星安啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值