1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Cesium 加载离线地图服务

Cesium 加载离线地图服务

时间:2019-12-21 09:34:06

相关推荐

Cesium 加载离线地图服务

Cesium 可以加载自定义的地图服务,一般在私有云上应用比较广。

原始地图数据有很多地方都可以下载。比如常用的下载工具,付费的有水经注、91助手等,还有国家空间地理服务的官网上也有可用的数据。假设你已经通过一些来源获得了原始的地图数据。

接下来需要对原始的地图数据进行切片。之前使用过geoserver。通过geoserver发布的wmts服务,在调用的时候参数比较繁琐,而且发布过程,中间环节太多,需要人干预配置的工作多,容易出错。后来找到一个处理原始地图数据的利器Cesiumlab/。可以处理的原始数据很多,而且切片完成可以直接发布成服务,并支持浏览。功能非常强大。

具体通过工具处理数据的过程,网上教程很多,可以自己去百度。假设到这里原始的数据已经发布完成,接着需要在我们自己的平台中加载。数据切片完成后,数据会导出到文件夹中。接着我们就可以利用web服务器把数据发布出去,支持后续的加载。web服务容器有很多可用,比如tomcat、NGINX、node等。这里我们直接用NGINX,把切片数据文件夹直接拷贝到NGINX根目录的html文件夹下。如果没有新建一个html文件夹就可以了。至于为什么要拷到文件夹下,不在本次的讨论范围内。简单来说,NGINX默认配置会从根目录html文件夹加载静态资源。如果服务运行起来了,http://ip:port/这个地址会直接定位到NGINX的html目录下,后面需要加载什么资源就跟上对应的资源路径。

我们使用Cesium加载离线地图服务。

对于原始数据都是tiff格式的图片数据的,都可以按这种方式发布、加载。

// 影像地图var layers = viewer.scene.imageryLayers;var satelliteMap = layers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({url: 'http://localhost:9010/stl_data/{z}/{x}/{y}.png',fileExtension: 'png'}));

http://localhost:9010/stl_data:这是本地web服务的地址,工具有很多,可以用nginx、tomcat、node等;stl_data是地图切片数据在web服务资源路径下的目录名称。

//tomcat发布服务// 加载地形服务viewer.terrainProvider = terrainProvider;var terrainProvider = new Cesium.CesiumTerrainProvider({url: "http://localhost:9005/treeian"});viewer.terrainProvider = terrainProvider;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。