铯 - 离线使用
使用Cesium可以直观的看基于DEM切片产生的Terrain地形数据,有种身临其境的感觉,但缺点是Cesium默认缺省加载了微软Bing提供的地形以及遥感影像数据,可以跟踪日志,总提示让你申请微软的Bing地图Key。如果Cesium在绝对离线,即不连接互联网的情况下,第一步加载Bing地形图时候就抛出了异常,后面的图层也无法加载,整个地图区域将显示漆黑的天空,这就意味着需要在底层,取消对Bing地形图的访问。
由于Cesium超乎寻常的大,未压缩情况下有6Mb多,好处是 可以看清楚代码结构。这样就可以跟踪分析,如何取消对Bing地图的访问(如采用一般的文本编辑器,基本会死掉,Sublime也会经常卡死,因此我使用宇宙中最强大的IDE-VS2015)。打开Cesium.js后搜索代码行,有一个createDefaultImageryProviderViewModels函数,里面加载在线地图服务近10多种,其中一些就是Bing地图,还有其他互联网在线地图商提供的地图服务。由于我的场景是物理隔绝的网络,即不能使用在线地图服务,因此,全部将这些代码注释掉,返回空的providerViewModels。
注释后保存,编写测试代码发现加载后的地图有黑色天空变成了蓝色,当然,很丑陋。
为了避免蓝色地球,预先加载了一张全球地图作为背景,
var imageryProvider = new Cesium.SingleTileImageryProvider({
url : './images/global.jpg'
}),
baseLayerPicker : false
});
global.jpg是全球地图
效果如下:
接下来,采用爬虫爬取谷歌地形图和影像图,硬盘越大越好,缩放级别越高越好,使用IIS发布后,调用如下接口在Cesium中显示地形图,代码如下:
layersTerrainMap.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
url: 'http://192.168.198.183/Google_DEM/',
credit: 'Google_DEM'
}));
效果如下图所示:
上一篇: 三国地图
下一篇: 一名摸金校尉决定转到业务前端
推荐阅读
-
每周总结20130814——Android NDK环境的搭建和使用,YUV420SP格式图像的处理
-
将YUV420图像转换为BGR图像的方法使用OpenCvSharp实现
-
在uyuv转换为planar yuv420的过程中所使用的方法进行记录
-
使用OpenGL渲染YUV数据的方法
-
编译Android 使用的 libx264 并使用进行 H.264 编码
-
使用Qt开发音视频应用:通过FFmpeg解码本地摄像头并转换yuv422为yuv420
-
WPF中使用D3D的解决方案实现YUV播放
-
解决树莓派4b 64bit上无法使用 Pi Camera V2 的方法
-
使用ffmpeg将H264数据流解码为YUV420P视频
-
记录海思3559万能平台搭建时使用YUV422的经验与问题