基于GeoTIFF数据格式的Creator三维地形建模方法研究摘要:大面积真实地形三维建模技术是视景仿真系统开发的难点问题。
提供了一种基于GeoTIFF数据格式的三维地形建模方法,采用Global Mapper格式转换技术将GeoTIFF数据格式转换为USGS DEM数据格式,应用Creator地形建模技术建立了某地域的三维地形仿真模型,实现了真实地形三维建模的快速化、实用化。
关键词:GeoTIFF数据;USGS DEM数据;Creator地形建模0 引言视景仿真是三维地形建模技术、图形处理和图像生成技术、立体影像和信息合成技术、计算机网络技术、仿真技术等诸多高新技术的综合应用,在军事训练、城市规划、健康医疗、教育培训等领域有着广泛的应用。
大面积真实地形三维建模技术是实时视景仿真系统开发的关键技术之一,是近年来视景仿真领域研究的热点。
能获取真实、准确地表述地形起伏特征的地形数据源是进行大面积真实地形三维建模的前提条件,地形数据源主要是指建立数字高程模型(Digital Elevation Model,DEM)用到的高程数据。
目前,利用遥感卫星技术获取地形高程数据进行大面积地形三维建模已成为真实地形建模的主要方法之一,本文研究了基于遥感GeoTIFF数据格式的Creator三维地形建模过程、方法和技巧。
1 GeoTIFF数据格式解析TIFF (Tag Image File Format)是Adobe公司制定的一种通用图像格式,其图像格式复杂,但由于它对图像信息的存放灵活多变,可以支持很多色彩系统,而且独立于操作系统,因此在遥感数据记录领域得到了广泛应用,由于遥感数据记录的是空间地理信息,用户只有在知道了坐标、投影等参数之后才能正确使用数据。
为了使遥感数据直接与其对应的地理信息建立联系,方便使用,Intergraph、Spot、SoftDesk、NASA等公司/机构充分利用TIFF扩展性强的特点,用一些自定义的私有标签(Tag)记录地理信息,并且制定了GeoTIFF(Geographic Tagged Image File Format)标准。
GeoTIFF标准作为TIFF标准的一种扩展,对各种坐标系统、椭球基准、投影信息等进行定义和存储,使图像数据和地理数据存储在同一图像文件中,这样就为开发人员制作和使用带有地理信息的图像提供了方便途径。
GeoTIFF目前支持三种坐标空间:栅格空间(Raster Space)、设备空间(Device Space)和模型空间(Model Space)。
栅格和设备空间在TIFF 6.0标准中已经定义。
为了支持影像和DEM数据的存储,GeoTIFF又将栅格空间细分为描述“面像元”和“点像元”的两类坐标系统;设备空间通常在数据输入/输出时发挥作用;模型空间是GeoTIFF引入的坐标空间,用来描述数据对应的地理位置,根据不同需要可选用地理坐标系、地心坐标系、投影坐标系和垂直坐标系(涉及高度或深度时)表示。
2009年,美国航空航天局(NASA)官方网站提供了GeoTIFF数据格式的最新全球遥感数据,该数据源采用的是GeoTIFF数据格式的DEM数据(简称GDEM),GDEM遥感数据记录的地域非常广阔,覆盖范围从北纬83°到南纬83°,除了部分极地区域,覆盖绝大部分的地球区域。
每个GDEM地形文件包含1°×1°度的范围,用一个3601×3601像素的TIFF图片来记录地形信息,采样精度达到了30 m,海拔精度为7-14 m,基本满足普通三维地形建模的数据精度要求。
2 GeoTIFF数据格式转换方法目前可用于进行三维地形建模的开发软件很多,比如3DS MAX、Auto CAD、Maya、MultiGen Creator等,使用的开发环境不同,所需要的数据源格式也不相同。
笔者选用MultiGen-Paradigm公司开发的Creator2.5软件进行三维地形开发,使用该软件建立模型,可以在满足实时性的前提下,生成面向仿真的、逼真度高的大面积地形。
然而GeoTIFF格式的DEM地形数据文件不能直接在MultiGen Creator中使用,首先必须将GDEM地形数据文件转换成MultiGen Creator支持的USGS DEM(U.S.Geological Survey Digital Elevation Models)格式或者DTED格式,然后利用Creator地形格式转换模块生成MultiGen Creator专用的数字高程数据(Digital Elevation Data,DED)格式文件,上述格式转换的过程是三维地形生成的重要环节,该转换过程可用图1所示的流程图进行描述。
图1 MultiGen Creator三维地形建模格式转换流程具体步骤为:(1) 应用Global Mapper软件提取GDEM数据文件中的地形数据信息,其中每个采样点用(经度,纬度、高程)表示,Global Mapper 会完成数据二维可视化图像和3D模型的显示。
如图2所示绘制的是北纬37度、东经117度附近地域的GeoTIFF格式的DEM地形模型。
图2 Global Mapper绘制的图3 USGS DEM数据格式GDEM数字高程模型转换成DED格式(2)在File菜单下选取Export Raster and Elevation Data项,在二级子菜单中选择Export DEM Command菜单项输出USGS DEM数据格式或者选择Export DTED command菜单项输出DTED数据格式。
(3)在Options属性页中设定经纬度方向的格网间距,在提取范围属性页中设定地形数据的经纬度范围,生成采样点的经纬度高程信息。
(4)打开Multigen Creator,借助Creator平台的Terrain模块的DED Builder 工具,将DEM格式文件生成Creator专用的高程数据格式文件(DED),如图3所示将USGS DEM数据格式转化为DED数据格式。
3 Creator三维地形生成方法根据仿真任务的不同需求,应建立不同分辨率的三维地形,比如飞行仿真需要大范围的地形,实时性要求高,但对地形细节要求不高,而基于地面的车辆驾驶和徒步行走的仿真,需要较高的分辨率,但是地形的使用范围较小,开发人员需要结合其仿真任务需求灵活设置不同的参数。
进行Creator三维地形的建模的关键内容是地形的LOD(层次细节)、投影方式、建模算法等参数的选取与设置。
3.1 层次细节模型参数设置层次细节模型(Level of Details,LOD)技术的思想是在不影响画面视觉效果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂度,其目的是提高绘制算法的效率,增加仿真的实时性。
例如,若有许多可见面在屏幕上的投影小于一个像素,则完全可以合并这些可见面而对画面的视觉效果没有任何影响。
该技术通常对每一原始多面体模型建立几个不同逼近精度的几何模型,与原模型相比,每个模型均保留了一定层次的细节。
由于LOD算法要涉及到动态细分或规并三角网,所以运用LOD算法时,常采用规则网格进行地形建模。
如图4所示在Creator中设置LOD 为3层。
图4 设置LOD 为3层图5 选择地图投影方式为Trapezoidal3.2 设置投影方式参数Creator提供5种地图投影方式:Flat Earth、Trapezoidal、Lambert Conic Conformal、UTM和Geocentric。
Flat Earth在原点使用纬度,得到调整每个x值的单收敛因子,生成一个矩形的地形;Trapezoidal 是一种方位角映射,在中心点最精确,离中心点越远越扭曲;Lambert Conic Conformal使用两条标准纬线,在北纬84°和南纬80°的中间最精确,距离两极越近越扭曲;UTM使用旋转90°的柱面圆柱投影,在经度上将地球分为6个区域,沿着中央子午线最精确,越远离子午线越扭曲;Geocentric方式使用圆形地球映射,Z轴以地球中心为起点通过北极。
我国地处中纬度地区,适合采用斜轴方位投影。
选择Trapezoidal地图投影方式,较好地保持了地形的轮廓形状和地理位置,使等变形线与制图区域的轮廓基本一致,减少了变形,提高了精度。
如图5所示设置投影方式为Trapezoidal地图投影方式。
3.3 选择建模算法用Creator将数字高程数据转换成地形时,可以选择4种转换算法,分别是Polymesh、Delaunay、CAT和TCT算法。
Polymesh转换算法主要适用于BSP进行遮挡计算的实时系统。
基本思想是,通过在原数字高程数据文件中对高程信息进行有规律的采用,从而获取地形多边形顶点坐标,创建矩形网络的地形数据库。
Delaunay转换算法是一种基于Delaunay三角网的地形生成算法,主要适用于使用Z-buffering进行遮挡计算的实时系统。
与Polymesh算法相比,生成相同精度的系统模型,使用Delaunay算法的地形模型中包含的多边形数量较少。
使用Delaunay算法时,数字高程数据中的每个高程点都会被采样,而且会从最低的LOD地形模型生成,较低LOD模型中的多边形顶点会被合并到较高的LOD地形模型中,以保证LOD地形之间的平滑过度。
TCT(Terrain Culture Triangulation)转换算法相当于一种限制性的Delaunay算法。
当使用TCT算法生成的地形时只能有一个单独的LOD,而且只能用于批处理地形转换中。
CAT(Continuous Adaptive Terrain)转换算法是一种改进型Delaunay转换算法,该算法提高了相邻LOD地形之间的平滑过渡,可以有效避免由Polymesh和Delaunay算法生成的多LOD地形模型转换的视觉跳跃现象。
本文选择Delaunay三角剖分算法,因为,与规则网格算法(Polymesh)相比,生成相同精度的地形模型,使用Delaunay转换算法的地形数据库中包含的多边形数量较少。
3.4 设置纹理贴图根据地形模型的LOD数量,将每张图片调整为相应数量和精度的分辨率,将它们加载到Creator的纹理调板,并定义为地形纹理,设置纹理图片的纹理坐标和地图投影方式。
纹理坐标必须对应于地形模型的面积范围和坐标位置,地图投影方式则必须和对应地形模型的设置一致。
然后通过Terrain/Batch GeoPut菜单命令,为对应的LOD地块模型映射纹理。
图 6 生成的不含纹理的三维模型图7 加入纹理映射后的三维模型3.5 进一步优化地形整个三维地形生成完毕后,将其导入视景驱动环境下,在计算机仿真硬件平台上,通过视点变换、其它仿真应用添加、网络连接等多个综合测试环节,观察场景运行的实时性和逼真度。