如何利用免费地图数据构建一个离线三维地球?
点击
地图数据| 作者 / 水中天 整理 / 白水
01
概述
我们之前发布了“免费从网盘下载的卫星影像和高程DEM如何使用”一文【点击回顾】,其中以“北京”数据为例,详细讲解了卫星影像与高程DEM在微图中的查看导出方法。
这里我们还是以“北京”数据为例,讲解一下如何基于免费的卫星影像与高程DEM数据,在内网离线构建一个基于Cesium和OsgEarth的离线三维地球。
02
北京影像与高程数据准备
需要构建离线三维地球,就需要先从百度网盘上免费下载谷歌卫星影像与30米高程DEM数据。
如果你还没有领取到卫星影像与高程数据,请通过关注微信公众号“水经注GIS”,然后在后台回复“免费数据”即可领取,如下图所示。
公众号后台回复
将百度网盘上的北京地图数据下载到本地硬盘,其中“北京37.8GB”目录中为卫星影像数据,而“北京”目录中则为高程DEM数据,如下图所示。
卫星影像与高程数据
打开卫星影像目录,在“01卫星影像_北京”目录中存储的是卫星影像,而在“02地名标签_北京”目录中存储的是地名标签,如下图所示。
北京卫星影像与地名标签
打开“01卫星影像_北京”目录,就可以看到北京所有的DAT与IDX离线缓存文件了,如下图所示。
北京卫星影像
同样地,北京的地名标签数据也是存储的DAT与IDX文件,至于为什么会保存为此种文件格式,请参阅“DAT与IDX格式文件如何打开?”一文【点击查看】的详细说明。
现在,我们来看看北京的高程DEM数据,从百度网盘下载的数据目录中打开“北京”目录,如下图所示。
打开高程文件目录
在“北京”目录中,有多种高程DEM数据,这里我们只需要使用“谷歌地球全国30米高程DEM for WeServer 数据”,如下图所示。
北京高程DEM数据
打开“谷歌地球全国30米高程DEM for WeServer 数据”目录之后,可以看到有两个压缩包,需要将它们解压到本地,如下图所示。
解压高程文件
解压完成之后,数据共有141GB大小,如下图所示。
高程DEM解压结果
也许你会好奇,为什么北京的高程数据会比卫星影像还大呢?
那是因为这里为大家分享的是全国的30米高程DEM,而不只是北京范围,如果你需要更进一步了解该数据,请参阅“全国30米高程 DEM for WeServer 数据1.0”一文【点击查看】的详细说明。
高程数据目录
高程数据分了几个层级目录,其中“L0-L5”目录中是全球高程数据,另外两个目录中为全国范围数据,目录中存放的高程数据文件为DAT与IDX格式,如下图所示。
高程文件
特别说明:与影像数据不同,这里的高程数据是专门供中间件调用发布的文件格式,因此不可以用于在导入软件中进行查看。
03
修改中文路径为英文
由于我们使用《地图发布服务中间件》(英文名:WeServer)发布地图,而该软件不支持加载中文路径,因此需要分别将中文数据目录修改为英文。
将卫星影像数据所属目录分别命名为英文,例如“I:\BeijingSatellite\Satellite”,如下图所示。
卫星影像数据英文路径
同样地,地名标签数据的所属目录也需要修改为英文,例如“I:\BeijingSatellite\Label”,如下图所示。
地名标签文件英文路径
高程文件所属目录也需要修改为英文路径,例如“I:\BeijingDem\forWeServer\DEM”,如下图所示。
高程文件英文路径
04
基于北京数据构建OsgEarth的离线三维地球
需要构建基于北京数据的OsgEarth离线三维地球时,我们可以参阅“如何在内网离线发布全国高程DEM数据并在OsgEarth中调用”一文【点击回顾】的详细讲解,先把环境搭建好之后,再将数据更换为北京的地图数据即可。
如果基础的OsgEarth离线三维地球部署运行成功,将会看到如下图所示效果。
OsgEarth三维离线地球
现在,我们关闭程序,打开WeServer的安装目录找到“WeServerConfig.ini”文件,如下图所示。
配置文件
打开配置文件之后,分别将卫星影像、地名标签和高程DEM数据的英文路径设置正确,如下图所示。
设置数据路径
在任务管理器中重新启动WeServer,如下图所示。
重启WeServer服务
再次运行OsgEarth之后,我们就可以查看北京的三维效果了,比如查看北京永定河附近的虚拟三维地形,如下图所示。
在OsgEarth中的北京三维地形效果
05
基于北京数据构建Cesium的离线三维地球
基于北京数据构建Cesium的离线三维地球时,我们也需要先构建一个基础的Cesium离线三维地球,具体方法请参阅“开源三维地球Cesium中如何离线加载卫星影像和高程DEM数据”一文【点击回顾】的详细讲解,这里不再赘述。
如果按文档教程成功部署好Cesium后,会离线加载前10级基础卫星影像和基础高程数据,运行后的效果如下图所示。
Cesium三维地球
在WeServer的安装目录中打开配置文件,确认卫星影像、地名标签和高程DEM数据的英文路径设置正确无误。
由于Cesium三维地球所加载的高程数据格式与OsgEarth不同,因此“DEM_FORMAT”的参数是“Terrain”而不是“GeoTiff”,如下图所示。
参数配置
同样地,为了使配置生效,需要在系统的任务管理器中重启“WeServer”服务。
确保“WeServer”服务运行成功之后刷新页面,现在我们可以在Cesium中离线浏览北京的三维地形了,如下图所示。
北京永定河附近三维地形效果
06
在Linux系统中发布北京地图数据
上文讲述了在Windows系统中发布北京地图数据的方法,如果你的地图服务运行的是Linux操作系统,同样只需要更新地图数据源并重新启动服务即可。
Linux系统的安装与地图发布的相关文档,请参阅:
最新版 CentOS Linux 手把手下载安装教程 for Server with GUI
最新版 Ubuntu Linux 手把手下载安装教程 for Server
《地图发布服务中间件》在 Linux 纯命令行系统 Ubuntu Server 中的安装部署
07
12.5米高程与全球卫星影像的加载
关于OsgEarth和Cesium平台的离线部署,我们很早就出了本文中提到的文档,这里仅是在它们的基础之上以北京为例加上了更高清的卫星影像,和更高精度的高程DEM数据。
另外,我们还有更新更高清的1-20全国卫星影像和1-19级全球卫星影像,以及全国12.5米高程DEM数据,同样只需要按本文所述的方法更新数据即可。
如果你想马上看到12.5米高程的加载效果,只需在微图软件点击“3D”按钮,如下图所示。
切换视图
切换到三维地图之后,就可以在中国区域查看到12.5米的高程DEM数据效果,如下图所示。
12.5米三维地形
如果你还没有安装微图软件,可以通过关注微信公众号“水经注GIS”,并在后台回复“微图”即可获取软件下载地址,你也可以通过访问水经注官方网站进行下载。
08
总结
本文中提到的免费高清卫星影像数据和免费高程DEM都可以从百度网盘免费下载,只需要通过关注微信公众号“水经注GIS”,并在后台回复“免费数据”即可获取下载地址。
最后,如果您对本文中的内容有任何疑问,欢迎您在后台留言,也欢迎您联系我们客服人员或拔打热线电话400-028-0050进行咨询!
推荐阅读:
百度网盘可免费下载全国30米SRTM高程啦!
如何免费下载谷歌高清卫星影像地图?
长按关注水经注,我们与你更近一步
地图下载 | 地图发布 | 数据处理 | 项目订制
▲请拔打24小时热线:400-028-0050