osgEarth开发数据准备(二)——利用GIS数据制作一份可用的地形

序言

第一篇中说明如何得到一份可用的数据。这一篇将会介绍怎么将得到可用的原始数据做成一个可以用的目标数据,本文将会以利用ASTER_GDEM的数据通过VPB构建OSG自定义的.ive格式地形数据库为例。这样处理,osgEarth在处理地形数据时速度会比临时缓冲来的快一些。

数据准备

在此,我使用了SRTM250m的高程数据,这个数据覆盖了全球大部分的陆地面积,主要缺少的是极地的数据,而极地的数据可以从第一篇中的极地数据共享平台里去找找。还有一个问题是这个数据的精度还是不够,所能构建的数据的层级有限。至于用来作为纹理的卫星影像地图考虑到它的数据量极大,本机的存储空间不足以存放一套完整的影像数据,就只能一部分一部分往地形上贴,当然在精度要求不高的情况下也可以使用blumarble(如图5所示)全球影像来贴合地面模型(如图2所示)。

元数据

高程数据

文件名:SRTM_NE_250m.tif

格式:GeoTiff

投影系统:WGS84

数据量:5.41G

来源:https://hc.box.com/shared/1yidaheouv(密码:ThanksCSI!)

文件名:SRTM_SE_250m.tif

格式:GeoTiff

投影系统:WGS84

数据量:5.41G

来源:https://hc.box.com/shared/1yidaheouv(密码:ThanksCSI!)

文件名:SRTM_W_250m.tif

格式:GeoTiff

投影系统:WGS84

数据量:7.72G

来源:https://hc.box.com/shared/1yidaheouv(密码:ThanksCSI!)


影像数据

文件名:MOD09A1.E.interpol.cyl.retouched.3x21600x21600.png

格式:PNG

投影系统:无

数据量:313M

来源:ARSC(Arctic Region Supercomputing Center)

文件名:MOD09A1.W.interpol.cyl.retouched.3x21600x21600.png

格式:PNG

投影系统:无

数据量:188M

来源:ARSC


接下来考虑使用VPB工具osgdem来生成一个静态的osg数据库。

其实,数据准备对于整个设计也是极其重要的。可以用来测试引擎的性能,也可以作为将来运行平台的数据,当然这也是一个锻炼寻找数据的能力的机会。

    最后,数据如何使用,详细的信息做一些简单的说明。首先,这些数据的总量是107.8G。


目标数据分析

制作好了之后,看看那些可以用和不可以用的数据吧。

可用数据

中国的”三级阶梯“还是比较清晰的,

图1

这里是南美的一个大山脉,估计是安第斯(Andes)了吧,

图2

南美洲轮廓也是很清楚的,

图3

所使用的数据是SRTM 250米全球范围的,地形上没有极地的数据,通过纹理贴合还是把这个洞给补上了,

图4

这个球就是用的NASA提供的Bluemarble数据建的球,参考了FlySky的文档,


图5


不可用数据

不能用的,数据质量,制作环节出错,程序的随机性都可以制作出像下面所示的不可用的数据:

在为西半球的bluemarble影像校正投影坐标的时候误用了东半球的坐标,把西半球的影像贴到了东半球上,是不是很有趣。。。

图6

那个100多G的大数据做出来的,怎么看就怎么不顺眼,

图7

初始状态还差强人意,缺了极地的数据,只是南半球哦,


图8

总结

在本文中,数据的制作显得较为复杂,而且大多数工作都是以osgdem这个工具来完成的,对于参数的设置需要反复推敲才能得到想要的效果。前文列出的图片也很清楚地说明了这一点,在时间和磁盘空间上也有较大的消耗,若是启动全球数据的制作后果也是可想而知的——CPU时间无限占用,主存资源大量占用,外存空间大量消耗。不过,osgEarth也支持许多其他加载数据的方式,但是必须明确的是程序最终需要的是什么样的输入,这样原始的数据才能变换成最终需要的数据。

没有更多推荐了,返回首页