优势:javascript
缺点:html
软件环境:java
cesium1.25,tomcat7api
1,首先使用XX地图下载器,破解版4.6,下载全球高德影像图,我下载1-7级,大概几百兆,比较快,第八级1个多G,指数级增加,学习阶段不须要太多。tomcat
下载操做:首先缩小地图,框选全球地图,双击,弹出下载页面,经纬度能够手动调整,-180,180 -90 90,肯定便可下载。其它都默认。网络
2,下载完成后,以下图:并发
点击导出按钮,如上右图。存储格式选择“瓦片:tms”,图片格式png便可,选择保存位置,导出。app
3,将导出的瓦片目录复制到tomcat wabapps目录下,文件名GlobalTMS,下面1-7级瓦片。编辑器
4,Cesium中显示影像,代码以下:ide
var url='http://localhost:8080/geoserver/wms'; //Geoserver URL var viewer = new Cesium.Viewer('cesiumContainer',{ imageryProvider:new Cesium.WebMapServiceImageryProvider({ url : url, layers: 'nurc:Arc_Sample'// Here just give layer name }), baseLayerPicker:false }); var layers = viewer.imageryLayers; var blackMarble = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({ url : '/GlobalTMS', credit : '北京市昌平区' }));
5,保存文件后,显示效果:
使用Cesium能够直观的看基于DEM切片产生的Terrain地形数据,有种身临其境的感受,但缺点是Cesium默认缺省加载了微软Bing提供的地形以及遥感影像数据,能够跟踪日志,总提示让你申请微软的Bing地图Key。若是Cesium在绝对离线,即不链接互联网的状况下,第一步加载Bing地形图时候就抛出了异常,后面的图层也没法加载,整个地图区域将显示漆黑的天空,这就意味着须要在底层,取消对Bing地形图的访问。
因为Cesium超乎寻常的大,未压缩状况下有6Mb多,好处是 能够看清楚代码结构。这样就能够跟踪分析,如何取消对Bing地图的访问(如采用通常的文本编辑器,基本会死掉,Sublime也会常常卡死,所以我使用宇宙中最强大的IDE-VS2015)。打开Cesium.js后搜索代码行,有一个createDefaultImageryProviderViewModels函数,里面加载在线地图服务近10多种,其中一些就是Bing地图,还有其余互联网在线地图商提供的地图服务。因为个人场景是物理隔绝的网络,即不能使用在线地图服务,所以,所有将这些代码注释掉,返回空的providerViewModels。
注释后保存,编写测试代码发现加载后的地图有黑色天空变成了蓝色,固然,很丑陋。
为了不蓝色地球,预先加载了一张全球地图做为背景效果如上右图。
接下来,采用爬虫爬取谷歌地形图和影像图,硬盘越大越好,缩放级别越高越好,使用IIS发布后,调用以下接口在Cesium中显示地形图,代码以下:
layersTerrainMap.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
url: 'http://192.168.198.183/Google_DEM/',
credit: 'Google_DEM'
}));
Cesium