cesium三维GIS开发实践(三)
一、影像文件的下载
1、某地图下载器下载高德影像文件,为了方便,只下载了全球前7级的瓦片数据。
2、导出成TMS瓦片包。
二、TMS瓦片包的发布
1、将瓦片和tms.xml文件部署到tomcat的webapps下,将tms.xml改名为tilemapservice.xml,以供cesium加载。然后将瓦片放置到tilemapservice.xml文件同级目录下,如下所示(8~13级是后边加入的,见后文)。
tomcat发布tiles瓦片
2、启动tomcat,则瓦片发布成功。
三、在cesium中加载发布的瓦片数据
1、新建LoadtmsService.html并添加相关css、js和div内容。参照前两篇文章。
2、script下写如下代码:
var url=' http://localhost:9090/gaode'; // tms 瓦片地址
var viewer = new Cesium.Viewer('cesiumContainer',{
imageryProvider:new Cesium.createTileMapServiceImageryProvider({
url : url
}),
baseLayerPicker:false
});
3、浏览器中打开页面,则看到高德影像包裹的地球。
高德影像地球四、加载影像改进
1、现在有一个想法,全球影像,我们可能只需要到7级瓦片。但如果定位到国内某个地方,需要定位到更高级别的瓦片。
2、我们调出控制台页面,放大地球超过7级时,可以看到并没有继续加载第8级瓦片数据。当然,这个是cesium自动控制的。
3、单独添加其他瓦片数据,我以下载江苏省影像图8~13级瓦片数据为例。将下载的瓦片数据添加到之前的瓦片放置位置,然后打开江苏省的tms.xml文件。
添加瓦片数据的tml配置
复制所有等级的<tileset>配置,添加到所有瓦片数据所在的tilemapservice.xml文件相应位置,这样就可以实现江苏省单独加载到13级影像文件了。
4、区别效果如下,还蛮明显。同样,如果需要在某一地区需要超高精度的瓦片数据,可以单独添加,甚至自己制作。达到完美效果。
单独加载多级瓦片数据
五、关于前边尝试的一点经历
1、最开始尝试将下载的数据,导出成arcgis瓦片格式。但是,我按照geowebcache官网的文档以及参考网上的文档,将该格式发布完成之后。怎么尝试也无法展示我的数据,wgs84坐标下的天地图数据,居然还缩小到原来范围的1/4。没找到办法解决,暂时只能放弃。若是有人能解决了,烦请告知解决办法。我用的geowebcache是1.8.3版本。
2、若是出现跨域问题,比如上一篇文章中的跨域问题,建议关闭浏览器的跨域方案。