之前写的文章
基于skyline的城市三维建模研究
自从戈尔提出“数字地球”的概念后,用数字形式表示地理空间成为热点,数字省市、数字城镇已经成为世界各国发达省市和地区21世纪的发展战略,成为争先抢占科技、产业和经济的制高点之一。在构建数字城市的过程中,城市三维景观建模是一个重要的组成部分,是摄影测量与遥感、地理信息系统及计算机科学等学科的研究内容之一。城市三维景观的建立,将以全新的方式表达和处理地理空间信息,在城市规划、房地产开发、交通管理、旅游等领域起着重要的作用。
随着信息化时代的迅速发展,人们对城市中各种三维信息的表达与处理日益迫切,不仅需要表达单个建筑物或建筑物群体,还需要建立整个城市景观模型,并希望利用这些模型进行有关城市的规划设计、应急指挥等工作。然而,由于快速构建大规模三维模型较困难,城市三维建模受到数据资源不足的困扰。一方面,规则、简单的建筑物难以真实表达现实的三维世界;另一方面,精细建模不但费时费力,数据量也给系统后期的可视化和空间分析带来很多难题。在数字区域研制中,城市虚拟建模往往面临着“数据量大,任务繁重,硬件要求高,开发周期长”的难题,从而大大限制了该领域的发展。为此,笔者通过对比研究和实验,综合已有的方法,针对城市景观模型的特点,探索出一个相对经济快捷的解决方案,并以skyline系列软件为平台,以河南许昌市为试验区,完成城市三维景观的构建,为城市三维景观的建设提供了一个思路,相信对于推动我国城市三维建模将会有所帮助。
1三维建模研究现状
目前人们对城市三维景观建模作了很多研究,三维建模从技术本质上将,大致有如下三种实现技术:一是直接使用三维模型制作软件,如Sketch Up、3DMAX等软件进行建模; 二是直接利用传统GIS的二维线划数据及其相应的高度属性进行三维建模,各建筑物表面还可以加上相应的纹理; 三是利用数字摄影测量技术进行三维建模。第一种方法能逼真地表示城市的精细结构和材质特征,但所建模型不能表示真实的地理位置,且制作需耗大量的人力和物力。第二种方法利局限于较规则建筑物的三维建模,对城市的精细节点表达力度不够,视觉效果不是很好。第三种方法目前来说成本还相对较高。
在进行城市三维建模的实际操作中,面对名目繁多的地物类型和大量的地表建筑,单纯使用以上的某一种技术方法很难做到快速而有效,所以往往是将不同的技术方法综合使用,即多源数据多种方法综合的三维建模。例如,早期人们将航空影像与DEM 叠加,用以构建城市的地形或建筑群景观模型。尽管这种方法方便、快捷,但所构建的建筑群缺少侧面纹理及几何信息。在此基础上,有学者提出基于2DGIS 与DEM 结合构建三维城市模型的方法,但该方法仅能在城市自然景观上建立较为规则的建筑物模型,难以构建城市中诸如河流、道路、绿化、市政设施等较为复杂的实体。目前许多学者借助成熟的三维建模成果,基于对象的平面底图数据、航空影像或地面摄影影像对其进行三维重建,这种建模方法虽然可以建立精细、逼真的三维模型,但整个建模流程需要手工操作,自动化程度低。而且这种方法建立的模型数据量非常大,不利于3DU GIS 的可视化和空间分析,而基于几何要素的三维建模方法(CSG方法)和基于程序的建模方法由于受几何要素的规则性限制,难以描述较为复杂和真实的三维建筑,多用于对现实真实性要求不强的三维游戏、军事仿真等领域。
从整体上讲,上述三维模型的构建方法因可视化效果差或自动化程度低,已成为制约地理信息发展和数字城市建设的瓶颈。
2数据准备和技术路线
2.1 实验区概况
实验所选样区为河南省许昌市老城区。片区面积为1.8平方公里,单体建筑上千栋,区内古老与现代建筑并存,且有大面积的水体和绿地,充分体现出一般城市应具有的复杂性与多样性,具有很强的代表性。
2.2 数据源
1) 许昌市老城区及其周边地区1∶500 地形图(DWG格式),地形图坐标系统采用1954 年北京坐标系,地形图内容包括道路、水体、等高线、建筑物和标注信息,地形图的信息采集时间为1998年。
2) 许昌市老城区及其周边地区QucikBird高分辨率卫星影像,影像成像时间为2005年,采用的坐标系统为UTM投影坐标系。
3) 许昌市老城区部分建筑物及其他物体的近景数码照片,数码照片拍摄时间为2007年。
2.3 软件配置
核心应用软件为Skyline系列软件,用于三维展示和应用开发,开发环境为Visual Studio2005。辅助软件有四套,名称及主要用途为:ArcGIS用于矢量数据的处理和转换;AutoCAD用于建筑物轮廓提取及数据源处理;PhotoShop用于纹理图像加工与处理; 3DSMAX用于特殊建筑的三维建模。
Skyline 系列软件是非常优秀的三维地理信息系统软件,它是由三个相互独立的子系统构成: TerraBuilder、TerraExplorer Pro和TerraGate,通过这三个子系统可以把不同的地理数据联系起来,并且可以把它们快速的分发到各个用户。
2.3.1 TerraBuilder
融合大量的影像、高程和矢量数据,以此来创建有精确坐标的三维模型地形数据库。
2.3.2 TerraExplorer Pro
它是一个桌面应用程序,使得用户可以浏览分析空间数据,并可以对其进行编辑。也可以在上面添加二维或者三维的物体、浏览路径、场景以及地理信息文件。TerraExplore 与TerraBuilder 所创建的地形库相连接,并且可以在网络上发布。
2.3.3 TerraDeveloper
它是TerraExplorer 家族中的一款产品,利用它可以定制客户需求功能。
2.4 技术路线
整体技术路线是将实验区的OuickBird卫星影像以及高程数据加载到Skyline 系统的TerraBuilder软件中,并对这些数据的格式进行转换,然后进一步生成MPT 格式的文件,形成Skyline系统的TerraExplorer Pro 软件所需要的地表数据集。接下来在TerraExplorer Pro中,加载地表数据集,导入矢量数据集及相关数据,进行二维、三维模型的建立,进而生成真实的三维城市景观。图1为具体的技术路线。
图1城市三维建模技术路线
3 城市三维模型的建立
3.1地形建模
地形建模的方法主要是采用在某地区的DEM数据的基础上叠加遥感影像来完成三维地形的显示。
对DWG地形图进行处理,删除不必要的图层,仅保留建筑物、标注、绿地、道路树木以及等高线所在的图层,提取其中的等高线图层,然后对等高线数据进行内插处理,生成地形DEM。这一过程可以在AutoCAD和ArcGIS中完成。
对快鸟影像进行纠正和投影变换,并使用Photoshop进行调色处理,使其符合美观自然的原则,作为地形纹理或者说是三维城市的“底图”。
将坐标系统一的地形DEM和遥感影像加载到Skyline 系列的TerraBuilder软件中,生成*.mp格式的文件,该改格式的文件即为反应地形起伏和表达真实地面纹理的地形数据集。
3.2建筑物建模
对于大区域的建筑群进行三维建模时,需要对不同类型的建筑物进行分别建模,提高效率。对于城市片区内部的建筑以简单纹理的体块表示;沿街的主要建筑需要在体块的基础上添加照片纹理,增强真实感;对于结构复杂或者重要的标志性建筑可使用3DSMAX进行单独建模,赋以精细的结构和纹理。这样处理不仅会提高建模的效率,而且减少了数据量,有利于三维场景的显示和漫游。
3.2.1 普通建筑的建模
在AutoCAD中对地形图进行处理,对不需要的线进行删减,减少数据量,只剩下主要并清晰的建筑物轮廓,将数据导入到ArcGIS中进行拓扑检查,对那些没有闭合的建筑物轮廓线进行闭合处理,以保证后面的建模可以顺利进行,将处理好的建筑物数据与楼层标注信息进行空间关联,给建筑物赋以楼层属性,并按照每层3米来推算建筑高度。从而得到包括建筑物的平面轮廓数据和高程信息的矢量数据
在Skyline 系列的TerraExplorer Pro软件中加载之前生成的地形数据集,导入建筑物矢量数据,按照高度属性进行拉伸处理,得到建筑物体块。由于数据源的时间差问题,可能会存在少量的建筑物与遥感底图中显示的建筑物不匹配的问题,需要使用TerraExplorer Pro中的3D-Building功能,在建筑物的位置上进行三维建模,使建筑物体块与遥感底图一致,并辅以简单统一的纹理。对于处于城市地块内部的大量建筑群可采用这种方式进行建模。
3.2.2纹理映射
纹理的意义可简单归纳为:用图像来替代实体模型中的可模拟或不可模拟细节,提高模拟逼真度和显示速度。建筑物纹理是建筑物三维模型的重要组成部分,它的质量决定了场景的整体效果与纹理细节,并最终决定场景的逼真程度。对于沿街的主要建筑需要进行纹理添加,增强真实感。
建筑物的纹理包括侧面和顶面两部分,分别通过近景数码照片提取和影像提取的方式。试验区内拍摄有大量的建筑近景照片,需要在Photoshop中对近景照片进行处理,主要是综合利用裁剪、拼接、自由变换和拉伸等一些基本操作。根据试验可以得出:处理后的照片最好保存为JPG格式,以减少数据量,同时图像的分辨率应调整为2的幂次方,图像的大小也应该尽量小于100KB。而建筑模型的顶面纹理则是从遥感影像中采集的。
对纹理图片进行处理之后,在TerraExplorer Pro软件中选择沿街建筑的相应立面,进行纹理映射,添加纹理,增强了城市三维表达的真实感。
3.2.3特殊建筑
对于城市内一些结构复杂的建筑或是标志性建筑,如果采用自动拉伸的方法建模会使建筑物产生严重失真,如古建筑、桥梁、大型雕塑等,诸如此类的不规则物体及其标志性建筑物都需要进行单独的建模。
在3DMAX中对这些建筑进行单独建模,赋以精细的结构和材质。将建好的模型转为*.x或是*flt格式,这是skyline支持的两种3D文件格式,这两种格式的模型文件都比较小,利于加载和显示。这一格式转化的过程需要第三方插件来完成。转换格式之后的模型文件可直接加载到TerraExplorer Pro中,调整好位置和相关属性,从而完成特殊建筑的建模,试验区内需要单独建模的建筑有十处左右。
3.2.4其它建模部分
对树木的处理,采用透明纹理的方法,而不是立体模型,这样做的目的主要是考虑到数据量的问题。目前通用的方法是采用交叉面纹理或是单个纹理表现单个树木,本研究采用单张纹理的方式。当采用此方式时,树木的显示为广告牌技术,即不论场景怎么旋转,对象总保持面向屏幕和观测者。这种方法虽然纹理画面比较简单,但是在最大可能上节省了数据空间,这样做也保持了较好的观赏性。对道路和绿地的处理,可以相对灵活,可以采用真实纹理的方式,也可以用单一颜色表示,
4 城市三维景观的展示
在加载地形数据集,添加矢量数据和相应的模型之后,即可在TerraExplorer Pro中进行城市三维景观的浏览漫游,也可以进行二次开发,定制界面和相应的功能。本研究采用Skyline系列的TerraDeveloper 开发工具对许昌市老城区三维展示系统进行了实现。TerraDeveloper 以ActiveX 控件形式提供丰富的应用客户化定制功能。可在可视化集成开发环境Visual Studio2005中,利用TerraDeveloper 开发工具,集成TerraExplorer Pro 软件系统的全部功能以及自定义的界面,开发独立的3D 可视化应用系统。可在该系统中进行基本的漫游导航操作,对整个许昌市老城区的三维景观进行浏览。其应用界面如图2 所示。
5 总结
本文提出了一套完整的城市三维建模的解决方案。首先介绍了三维建模的研究现状,然后以CAD地形图和遥感影像为数据源,以skyline系列软件为平台,完成了许昌市老城区的三维建模,最后利用skyline提供的开发包实现了许昌市老城区三维展示系统。结果表明这种三维建模方式是切实可行的,能够高效快速的建立大场景的城市三维景观,直观快速地显示和浏览三维信息,能满足城市三维建模的需求。目前基础测绘部门的地形数据大部分仍然是DWG 格式的数据,采用此方式来进行城市三维景观的构建能节省大量的人力和物力,既适合我国国情,又能满足多种需要,对于提高三维虚拟城市数字小区的建设速度具有重要的示范意义和指导作用。