河南省测绘工程院 宋新龙 肖 锋 田耀永 侯 岳
精细化真三维数字城市研究
河南省测绘工程院 宋新龙 肖 锋 田耀永 侯 岳
当前,三维数字城市是城市信息化发展的一个重要方向,也是GIS(Geographic Information Systerm)技术的重要应用领域。三维数字城市的建立能够全方位和直观地为人们提供有关城市的各种具有真实感的场景信息,它综合运用了GIS、遥感、遥测、网络、多媒体和虚拟仿真等高科技手段,为人们提供了一种全新的城市规划建设理念和工作生活环境。它能够适应并预测城市的变化,尤其是GIS的空间信息综合处理能力与直观变现能力,在处理城市复杂系统问题时,能够帮助人们更好地建立全局观念和模拟直观感。因此,对三维数字城市的研究不仅具有十分重要的现实意义,而且是亟待人们解决的问题之一。本文,笔者根据多年实践经验,总结出一套精细化真三维数字城市的制作流程,现作以下阐述。
1.三维模型的建造。三维数字城市需要建模的区域很大且数量较多,如果全部依靠手工建模,将花费大量的人力和物力。本文,笔者利用航测内业采集的房屋线划图,设计开发了三维建模程序,能够对模型建造进行自动化处理,从而实现了高精度快速批量建模,大大提高了工作效率,降低了劳动成本。
2.建拱程序的工作流程。建拱程序采用ObjectARX SDK和Visual Studio 2005的开发环境,在AutoCAD 2008平台下研发而成。AutoCAD 2008作为一个2.5维的设计平台,其三维二次开发比平面二次开发难度大得多。在AutoCAD 2008里对“体”的操作比较复杂,因此在程序编写中采用brep技术部,按照sliod(体)—region(面域)—face(面)—loop(环)—edge(边)—node(点)的顺序构建。建拱程序利用航测内业采集的房屋线划图,在保证平面精度的基础上,不仅可以自动完成房屋图形的处理和房屋的三维建模,而且还能够通过航测采集到的房屋顶部高程和地面高程,精确地控制房屋的高度,且模型生成的数据格式能与3D MAXS进行无缝衔接。
目前,三维地图地表模型大多是通过手工构建的模拟地表纹理,虽然操作较为简单,但是构建地表模型需要耗费大量的人力和物力,且缺乏真实感。因此,本文,笔者在制作三维地图时首次采用高清DOM(Digital Ortho Photo)作为地表纹理。在DOM地表纹理覆盖方面,涉及坐标配准和拼接输出,由于3D MAXS受输出窗口的限制,不能把所有模型一起输出,需要分成许多块,而在进行拼接时会出现视角投影差,不像人为建模渲染做出来的纹理可以允许比较大的误差,基于DOM的地表纹理必须精确拼接。本文,笔者在经过不断探索和反复实验后,最终解决了DOM地表纹理的坐标配准和拼接输出所带来的视角投影差问题,主要采用了以下技术。
1.DOM数据的前期预处理技术。由于DOM质量的参差不齐,可能存在着单张内部或者多张之间的明暗和色彩的差异,以及倾斜投影、色调暗、清晰度不高等问题。并且,在使用DOM作为地表纹理时,由于地面物体的投影差不能完全被三维模型所覆盖,也需要进行处理。在采用DOM作为地表纹理覆盖时,需要对DOM进行统一的预处理,从而消除色差及投影差等一系列问题。首先,利用Geoway ColorPro匀色软件对DOM进行匀色处理。然后,套用相对应的DLG数据,使用Potoshop将DOM中的建筑物、树木等高于地面的投影逐个套取分离出去。再把分离出去的部分用其所在区域的地表纹理进行填充,并对合并边缘进行融合处理,使接缝部位的纹路自然过渡。最后,对预处理后的DOM进行接边,转换成JPG格式的图片,按照DLG平面图比例尺对DOM进行分幅保存。
2.网格拼接技术。三维数字城市涉及的DOM数量众多,这些DOM必须精确无误地与模型进行对接,并在渲染时保持相同的投影视角和比例,从而消除拼接时的视角投影差。首先,根据场景模型的比例建立网格,并按照网格对DOM进行分幅处理,以DOM的图号作为各个网格的名称来构建网格。然后,将分幅处理后的DOM作为贴图纹理分别赋予对应的网格,调整每块贴图的大小使影像贴图恰好布满整个网格。最后,合并场景模型与大地地面,创建灯光并调试灯光参数,以使光线效果接近自然界的真实效果。
3.渲染视口设置技术。使用渲染视口设置技术可以有效解决渲染输出后的视角投影差以及无法精确拼接的问题。设置渲染视口技术不但可以使将要进行渲染的三维模型与地表纹理保持相同的投影比例和视角,还能够保证一定的重叠度,便于工作人员以后的整体拼接。
3D MAXS的透视图为立体视图,在渲染输出地表纹理时,由于立体视图的视角投影差问题,输出的三维地图会因为距离的远近而产生变形,从而无法实现精确量测以及拼接。经过反复的实验,笔者发现3D MAXS里的平面视图顶视图是根据屏幕栅格建立的,对其旋转45°相当于将二维地图在平面内旋转了45°,这样渲染输出的成果能够保持平面地图的精度而不发生变形。因此,采用对平面视图进行立体旋转的方法可以得到最终的渲染窗口。由于场景面积过大,不可能把所有模型一起输出,因此要分成许多块。而在进行拼接时,DOM地表纹理必须进行精确的拼接。这就需要在输出时必须确保每块的规格相同,且要达到一定的重叠度。经过反复实验,笔者发现了使用3D MAXS的输出安全框结合网格来控制每块输出成果规格的方法。通过对平面视图旋转45°后发现安全框是菱型结构,渲染输出成果时,使菱型结构的4个角对齐输出安全框,这样输出的成果就能保持相同的规格和一定的重叠度。
通过以上设定,可以在对平面视图进行立体45°旋转后的窗口内,利用渲染安全框对齐每块格网的方法对每块格网进行逐个渲染,然后只需要对成果进行简单的对齐覆盖就可以完成地表纹理的拼接并得到真实的地表纹理。
1.地形构建的方法。利用DEM(Digital Elevation Model)建立真实的地形地貌在GIS中比较容易实现,但却无法调节纹理的效果和光影效果,且与3D MAXS无法兼容。笔者通过探索和试验,最终形成了基于3D MAXS技术构建地形的方法。该法采用可调整的大地格网并添加DEM灰度值的方法,实现了高精度的地形模型构建。
2.DEM接边处理。首先,利用建立地表纹理时建立的网格创建一个大地平面,通过调整平面参数,增加格网的宽度分段以及长度分段。分段越多,地形表现越细致,相应地也会大大增加模型的面数并提高机器的运行负荷,因此要根据所建场景的范围以及表现效果的粗细程度来综合考虑。因为以后要对格网进行置换处理,而置换处理的实质就是根据每个格网内由长度分段和宽度分段组成的矩形格网对应的灰度值进行偏移实现地形起伏。分段越多,则每块矩形格网面积就越小且分布越密集,构成的地形也就越细致。然后,对格网进行置换处理,处理中叠加格网所对应的DEM灰度图,调整置换强度因子,使地形表现符合实际使用情况。最后,调整DEM灰度图,使分幅的DEM灰度图布满与其对应的大地平面。对建立的地形进行网格平滑处理,根据地形的表现要求调整平滑细分迭代次数以及平滑度;将地形转化为可编辑网格或可编辑片面,通过调整各个节点对不符合现实的部分地形进行局部微调;对每块地形赋予地表纹理,复制构建地表纹理时的格网到地形底部,使用渲染视口设置技术,使渲染出的地形与地表纹理保持相同的规格,以便于成果的拼接。
以上是笔者在实际生产中不断地摸索和总结出的一套建设三维数字城市的技术和方法。笔者不但在制作中进行了技术改进,而且还自主研发了针对实际生产的系列程序和软件,大大降低了生产的劳动成本和建设周期,实现了三维数字城市大规模、批量化的生产,为三维数字城市的建设提供了技术保障。