cesium加载geoserver发布的mvt服务

编程入门 行业动态 更新时间:2024-10-28 19:21:35

cesium<a href=https://www.elefans.com/category/jswz/34/1771433.html style=加载geoserver发布的mvt服务"/>

cesium加载geoserver发布的mvt服务

cesium 本身并不支持矢量切片的加载,所以需要借助其他工具进行解析。在Canvas中把矢量瓦片绘制好了,以图片形式像WMTS一样向Cesium提供图片服务就行了,当然也可以采用中间件的形式在后台把服务渲染好再以服务形式提供给前端。

方法1:

cesium+mapbox,这个方法解析和加载的速度都很快,不过只支持3857和900913,不支持2000坐标系。GitHub上已经有开源的代码MVTImageryProvider,不过这个mapbox是修改过的,和原生的mapbox有区别。关键类src/index.js和src/mapbox-gl.js,示例:example/src/index.js

const provider = new MVTImageryProvider({style: maplibreStyle,requestTransformFn: (url) => {console.log('request tile at: ' + url);return {url: url, headers: {'Accept-Language': 'zh-cn'}, credentials: ''};}
});
provider.readyPromise.then(() => {viewer.imageryLayers.addImageryProvider(provider);
});

maplibreStyle参数传mapbox的style配置(完全按照原生的mapbox写法)。

MVTImageryProvider的渲染源码地址Mapbox-vector-tiles-basic-js-renderer,可以修改这个源码来实现支持2000坐标系。

方法2:

cesium+openlayer,利用openlayer的方法将mvt绘制到canvas上,然后传给cesium进行渲染,这个方法不限制坐标系,支持4490,4326,3857,900913等。

 可以利用ol.style支持自定义样式,定制样式配置文件,参照mapbox的规则适配

方法3:

使用超图封装的cesium加载

更多推荐

cesium加载geoserver发布的mvt服务

本文发布于:2023-06-29 22:53:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/951962.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加载   cesium   mvt   geoserver

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!