Cesium 实战 10 - 两种方式加载 Geoserver 服务 WMTS 以及 WMS、WFS、KML 资源图层

53 篇文章 127 订阅 ¥29.90 ¥99.00
本文介绍了如何在Cesium中加载Geoserver发布的WMTS缓存图层、WMS图层、WFS图层以及KML数据。重点强调了加载WMTS图层时style参数的重要性以及正确设置地址的必要性。提供了两种加载WMTS图层的方式,并给出了核心代码示例和在线示例链接。
摘要由CSDN通过智能技术生成

2023年4月19日更新—搞了一个 Cesium 镜像,欢迎使用:沙盒示例API

最近有需求,Cesium 叠加 Geoserver 缓存瓦片,也就是 WMTS 瓦片,本来想直接使用 Tomcat 之类的容器发布瓦片服务再叠加。

后来发现 Geoserver 的瓦片规则有点不太常规,因此还是使用 Geoserver 的服务来叠加缓存图层。

按老规矩,肯定要试一大堆错的,大概试了小半天,终于搞好了,这里放上成功代码,提供广大 GISer 借鉴参考。

PS:百度搜索的一大堆博客大哥,估计试都没试,直接互相复制的,出现问题几乎都差不多!!!

本示例介绍两种叠加方式,Geoserver Rest 方式和标准 WMTS 方式,推荐使用 标准 WMT

好的,我明白了。关于您的问题,我可以回答:Cesium是一个基于WebGL的虚拟地球和地理信息系统(GIS)库,可以用来展示地球上的各种数据,包括矢量图、卫星影像、地形模型等等。而Geoserver是一个开源的地理信息系统服务器,可以提供各种地图服务,包括WFS服务。 通过将CesiumGeoserver结合起来,我们可以实现矢量图的编辑,具体步骤如下: 1. 首先,需要在Geoserver上创建一个WFS数据源,并发布一个WFS服务。这里不再赘述具体的步骤,可以参考Geoserver的官方文档。 2. 在Cesium中,可以使用Cesium的DataSource来加载WFS服务中的图层数据。具体步骤如下: ```js // 创建一个DataSource var dataSource = new Cesium.GeoJsonDataSource(); // 加载WFS服务中的数据 var promise = dataSource.load('http://localhost:8080/geoserver/wfs', { service: 'WFS', version: '2.0.0', request: 'GetFeature', typeName: 'myworkspace:mylayer', outputFormat: 'application/json' }); // 数据加载完成后,将数据源添加到场景中 promise.then(function() { viewer.dataSources.add(dataSource); }); ``` 3. 接下来,可以使用Cesium的Entity来表示每个要素,并添加一些编辑功能。例如,可以使用Cesium的PolylineGraphics来表示线要素,并添加编辑功能。 ```js // 创建一个线要素 var entity = dataSource.entities.add({ polyline: { positions: Cesium.Cartesian3.fromDegreesArray([ -110.0, 38.0, -105.0, 40.0 ]), width: 5, material: Cesium.Color.RED } }); // 添加编辑功能 entity.polyline.editable = true; entity.polyline.width = 10; entity.polyline.material = Cesium.Color.BLUE; ``` 4. 最后,可以监听Cesium的编辑事件,将编辑结果保存回Geoserver中。 ```js // 监听编辑事件 dataSource.entities.collectionChanged.addEventListener(function(collection, added, removed, changed) { // 将编辑结果保存回Geoserver中 // ... }); ``` 以上是实现矢量图编辑的大致步骤,具体的实现可能会因为数据源的不同而有所差异。希望对您有所帮助。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

非科班Java出身GISer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值