Cesium调用geoserver2.14发布的WMTS瓦片

本文详细介绍了如何使用Geoserver 2.14发布自定义影像图并供Cesium调用。通过安装JDK1.8和Geoserver,创建工作区,添加数据存储,设置切图参数,以及在Cesium中构造调用接口来实现瓦片的加载。在遇到加载问题时,调整tileMatrixSetID和tileMatrixLabels参数可解决400错误。

目的:试用geoserver发布自己的影像图,并提供Cesium调用

工具:geoserver2.14,idk1.8

步骤:

1、安装jdk1.8,在官网上下载即可,安装过程只需要解压即可,不需要配置环境变量,不需要安装jre,1.8版本自带jre,在选择时直接选择到安装路劲下即可

2、安装geoserver,我安装的是2.14版本,老版本安装之后发布地图服务还需要安装geowebcache,新版本自带geowebcache,所以在切图时能提供方便,安装过程很简单,需要注意geoserver的端口号不要与本机其他端口号冲突,具体安装过程可以参考https://jingyan.baidu.com/article/6c67b1d65544752787bb1e14.html

3、安装完成之后需要登陆,访问地址http://localhost:9000/geoserver(端口号为自己的)若出现以下界面表示安装成功,登陆即可。

4、接下来就是发布数据了,首先新建工作区,和系统自带的工作区区分开,添加一个工作区,里面的url随便给,任何形式都行

Cesium加载Geoserver发布wmts服务有以下两种常见方法: ### 方法一 可以通过`Cesium.WebMapTileServiceImageryProvider`来加载wmts瓦片服务,示例代码如下: ```javascript //wmts瓦片服务 viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ url: 'http://localhost:9001/geoserver/gwc/service/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0' + '&LAYER=shp:pm25bj&STYLE=&FORMAT=image/png&TILEMATRIXSET=EPSG:900913&TILEMATRIX=EPSG:900913:{TileMatrix}&TILECOL={TileCol}&TILEROW={TileRow}', //服务地址 maximumLevel: 20 })); ``` 此代码中,`url`为wmts服务的地址,`maximumLevel`指定了最大的缩放级别 [^2]。 ### 方法二 在Geoserver欢迎界面点击右侧WMTS服务,打开xml文件,找到要发布的图层,复制url(Geoserver版本不同url结构略有差异)。修改url,将`{TileMatrix}`改为`{TileMatrixSet}:{TileMatrix}`。若选择EPSG:4326,还需要添加`tilingScheme: new Cesium.GeographicTilingScheme()` 。示例代码如下: ```javascript let wmtsImageryProvider = new Cesium.WebMapTileServiceImageryProvider({ url: "http://localhost:8090/geoserver/gwc/rest/wmts/Cesium:S40PGWGS1984/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png", style: "", tileMatrixSetID: "EPSG:900913", // tileMatrixSetID: "EPSG:4326", // tilingScheme: new Cesium.GeographicTilingScheme(), }); viewer.imageryLayers.addImageryProvider(wmtsImageryProvider); ``` 若加载后控制台报错401,网页弹出登录Geoserver账号界面,是因为未进行用户名密码验证,请求头中没有传入授权验证。可关闭Geoserver请求的过滤器,在`Security->Authentication->Filter Chains`中删除`gwc`过滤器;也可以在请求头中添加用户名密码,参考https://blog.csdn.net/weixin_42047398/article/details/107400129 [^3]。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值