基于ArcGIS与3ds Max三维地形可视化关键技术的研究

2011-04-18 08:54王星田茂义宁化展曾静静
城市勘测 2011年6期
关键词:纹理测绘节点

王星,田茂义,宁化展,曾静静

(1.山东科技大学测绘科学与工程学院,山东青岛 266510; 2.滨州水利勘测设计研究院,山东滨州 256600;3.青岛市勘察测绘研究院,山东青岛 266033)

基于ArcGIS与3ds Max三维地形可视化关键技术的研究

王星1∗,田茂义1,宁化展2,曾静静3

(1.山东科技大学测绘科学与工程学院,山东青岛 266510; 2.滨州水利勘测设计研究院,山东滨州 256600;3.青岛市勘察测绘研究院,山东青岛 266033)

在3ds Max中进行三维地形建模时,一般以等高线为基础,通过Terrain工具生成三维地形。这样的三维地形精确度比较低,难以满足用户的实际需求。本文以某项目的三维地形建模为例,研究如何将大数据量的离散点数据导入3ds Max实现高精度的三维地形模型。通过分析研究3ds Max所能接受的数据类型和离散点数据特点,提出了将离散点数据导入ArcGIS,利用ArcGIS进行特征点线的添加修改、数据的平滑处理、三维模型的导出,最后将生成的模型导入3ds Max,而后建立高精度的三维地形模型的技术路线。实践证明,此方法具有良好的可行性。

ArcGIS;3ds Max;TIN;可视化;三维地形

1 引 言

近年来,随着计算机技术的发展,虚拟现实技术越来越多地受到人们的关注。三维地形显示能很好反映区域地势地貌,在城市规划设计等领域的应用也越来越广泛。

3ds Max是当今国内外最流行的三维动画制作软件,其在电影特技制作、立体和影视动画、广告设计、建筑和室内装修设计、包装与装潢设计、三维游戏开发等行业广泛应用[1]。

在建筑设计领域,设计者习惯利用3ds Max等进行建筑物模型设计及建筑物效果渲染。3ds Max等非专业地形建模软件做三维地形都需要以等高线为基础生成三维地形,但生成的三维地形精度不高,很难达到设计者的要求,影响建筑模型设计和渲染的效果。

目前,专业 GIS建模软件(如 MapGIS、ArcGIS、GlobalMapper等)所做的三维地形模型精度能够达到设计者要求,但这些模型与3ds Max等模型设计软件还不能完全兼容。郑浩等做过将三维地形以DXF格式导入并在3ds Max中显示的研究,但这种方法存在三维模型数据量大,贴图坐标设置复杂,对计算机配置要求高,操作复杂等问题。

本文设计并实现了基于GIS的三维地形在3ds Max显示的技术流程(图1)。解决了三维模型在两种软件下兼容的问题。本文利用ArcGIS专业软件制作三维地形模型,并将模型在3ds Max中显示。实践证明,该方法的实现为用户的工作可提供极大便利。

图1 技术流程图

2 数据来源

2.1 数据获取

数据的获取主要借助数字摄影测量技术,利用低空无人飞艇拍摄得到项目区的俯瞰影像,再根据像控点信息对图像进行几何纠正与坐标配准。其中像控点一定要选取在显眼、固定的位置,且像控点要密度适中,均匀分布。根据项目区实际地形状况(如图2),像控点主要布设在海岸线的礁石上以及盘山公路上。在项目区选好像控点后,利用RTK(GPS实时动态差分法)测得各点的三维信息,为影像配准做好数据准备。内业处理中,对影像进行空三加密和数字地面模型的恢复,利用软件中自动采集和人工干预的方式获取离散点信息。离散点的数据量直接影响DEM的精度,离散点密度太小会降低DEM精度低;离散点密度太大又会增大数据量、处理的工作量以及不必要的存储空间。因此,在地形复杂的区域采点密度大,地形简单的区域采点密度小。本项目对地形三维显示要求较高,所以采点密度整体很高,数据量总体很大。采点过程中受水面区域较大和存在大量植被等不利因素的影响,在数据自动提取过程中,不可避免的出现大范围的高程点异常现象。

图2 项目区俯瞰图

2.2 数据预处理

(1)数据粗差处理

在ArcGIS中以shape点文件格式对离散点数据进行组织、存储与管理。计算机自动提取离散点过程中,会出现粗差,降低模型精度,所以对数据进行初步检查以剔除粗差。常规方法是直接修改三维地形,这种方法操作较复杂且容易改变三维地形精度。本文通过剔除原始数据中的粗差方法,来提高三维地形精度。以离散点为基础数据,在ArcGIS中利用3D Analyst工具生成TIN。在ArcScene中将TIN与影像融合,观察三维地形,发现其中明显错误的区域,同时在ArcMap中定位到错误区域,检查该区域离散点属性(如图3、图4所示),发现粗差点。将粗差点删除,再重新采集该区域点信息,以shape格式存储。

图3 ArcScene中错误处

图4 ArcMap中数据源

(2)数据误差处理

在地势变化较小的区域也存在误差,并且难以发现。在ArcGIS、Global Mapper等三维软件中进行三维显示时,不会影响区域显示的整体效果。由于3ds Max是模型的精细显示,因而在3ds Max中显示三维模型时,会出现局部区域褶皱现象(如图5)。由于这种误差比较隐蔽,修改原始数据难以实现,因此可利用图像处理的方法对地形GRID图像进行适当的平滑处理,以提高地形精度。

图5 平滑处理前褶皱区

在进行图像平滑时,平滑算子的选择对处理后的模型精度非常重要。由于模型中出现的褶皱区域面积较小,选择影响范围较小的3×3的算子(式(1))进行图像平滑。如果一次平滑效果不好,可重复平滑。平滑后效果如图6所示。

图6 平滑处理后褶皱区

(3)平面区域数据处理

在一些平面的区域,如海平面,养殖池,观光平台,房顶等,可以通过线文件或面文件的形式进行单独管理。将这些平面区域进行矢量化,并在矢量线中指定其高程属性值,以线文件的shape格式保存,这样会进一步降低由于计算机自动采点所造成的地形误差,如图7所示。

图7 平面矢量化

将已改正好的点文件与线文件作为原始数据,利用3D Analyst工具生成最终的三维模型。

3 数据格式转化

3ds Max支持多种三维模型的导入,比如DXF、WRL、DWG、WRZ等。通常情况下,人们将三维地形做成DXF格式再导入3ds Max。但是,经过笔者多次实验分析,与DXF格式三维模型相比,WRL格式三维模型具有数据可分割,贴图简单,操作方便等优势。在ArcScene中将生成的TIN贴上纹理后,导出为3D形式,会生成一个WRL格式文件和16个图像文件。

3.1 VRML模型结构

VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性[5]。

VRML文件由下列4个主要部分构成:VRML文件头、原型、造型和脚本、路由。在VRML文件中,并不是所有的文件都包括这些要素,唯一必须有VRML文件头。VRML文件的扩展名.wrl或.wrz,表示这是一个包含VRML空间的文件。

在一个VRML空间里创建一个造型时,必须使用shape节点。它包含两个域,分别是Appearance域和Geometry域。

(1)Appearance节点结构

Appearance节点将定义造型外观的颜色和纹理,其格式如下:

Texture:包含一个ImageTexture、MovieTexture或者PixelTexture节点。VRML文件表面的纹理映射在Texture节点中,而Texture节点中有3种:第一种是图像纹理(Image Texture),它是制定一个图像文件的URL;第二种是影片纹理(Movie Texture),它包含有MPEG影片文件的URL,可产生动画式纹理;第三种是像素纹理(Pixel Texture),它容许在节点内直接以十六进制定义像素形成纹理。

它通过指定一个图像文件和映像到几何图形的通用参数来定义一个纹理映像。其结构如下:

ImageTexture域 表1

经观察,发现在每一个shape节点中均有一个ImageTexture节点,其url域中的值都是平均分成的16个影像文件名之一。由此可知,每个shape节点均为一个模型区域外形节点。

(2)Geometry域值

Geometry域值是一个定义空间造型几何尺寸大小的造型节点。VRML模型中点、线、面集节点包含int-Set、IndexedLineSet、IndexedFaceSet、Coordinate,4种。IndexedFaceSet面集节点不仅可以创建平面几何造型,也可以创建实体几何造型;同时它可以被用作shape节点的Geometry域的值。IndexedFaceSet结构如下:

Solid域用于设定面造型是否为实体。域值为TRUE时,表示所建造型为实体,不需要构建其背面,浏览器将跳过对背面的绘制,从而节省运算时间;域值为FALSE时,表示所建造型不是实体,需要构建造型的背面[6]。

式中:cp=1 005 J·kg-1·K-1表示干空气的定压比热;ρ为干空气密度;在高原地区取平均密度0.85g/cm3;CH为热力输送系数;V0为地面10 m风速;Ta为2 m气温;Ts为地表温度。

鉴于此,在VRML文件检查时,应当注意Indexed-FaceSet中Solid域值是不是TRUE;若不是,应该改成TRUE。

3.2 纹理贴图

在郑浩等的研究中,需要对导入3ds Max的DXF模型进行贴图坐标设置。贴图坐标对生成的三维影像图有重要影响[1]。如果贴图坐标出现错误或偏差,必然导致纹理贴图错误或偏差。VRML三维模型具有自动计算纹理坐标的功能,这是DXF等三维模型无法比拟的优势,避免了手工设置贴图坐标所造成的贴图误差。

将三维地形模型导出VRML模型时,如果没有进行纹理贴图,则导出的VRML模型不具有贴图坐标。在ArcScene中,对三维模型进行纹理贴图,然后将三维模型导出为VRML类型。以这种方式生成的VRML模型会自动地进行纹理坐标计算,计算出模型中的每个顶点进行纹理坐标。在3ds Max中进行贴图时,这种VRML模型就不需要进行贴图坐标设置。

3.3 VRML模型展示

纹理贴图结束后,将所有的模块统一分成一组,便完成了目标区域的三维地形展示,如图8和图9所示。设计者在此模型上实现局部缩放,距离量测,角度量测,建筑模型设计,工程规划等操作。结果表明,本模型具有明显的立体效果,丰富的空间信息。

图8 整体三维模型

图9 局部三维模型

4 结 论

三维地形显示在城市规划、工程设计、建设施工等方面具有良好的应用前景。本文做了一次利用3ds Max进行三维地形显示的研究,探索出一条利用Arc-GIS做地形模型,在3ds Max进行三维地形显示的技术流程。该方法能够显示出比较精细的三维地形,能表达大量的三维信息。

[1] 郑浩,江振江,马晓峰等.利用3ds Max进行地形三维显示的研究[J].解放军测绘研究所学报,2001,21(3):58~62

[2] 孙轩,吴华意.ArcGIS的三维分析模块的分析与探讨[J].地理空间信息,2008,6(2):65~68

[3] 杨雪银,万成兵,吕光荣.基于ArcScene的三维地形可视化研究与实现[J].科技信息,2008(32):25~26

[4] 肖海红.基于ArcScene的三维地形可视化及其应用[J].工程地质计算机应用,2007(3):12~16

[5] 汤国安,杨昕.ArcGIS地理信息系统空间分析试验教程[M].北京:科学出版社,2006

[6] 超级版主.造型节点.http://cc6.com/forum/viewthread. php?tid=15.

[7] 解向利,刘焰春,皮亦鸣.三维地形生成及其可视化处理研究[J].计算机仿真,2007,24(7):235~238,304

《上海市现代测绘基准服务体系研究与建设》方案通过评审

近日,上海市规划和国土资源管理局组织专家对《上海市现代测绘基准服务体系研究与建设》课题可行性方案进行了论证。专家组听取了课题组汇报,一致同意该方案通过评审,并建议抓紧落实,加快进度,做好成果转化和保障工作。

完善和优化现代测绘基准服务体系,是上海市测绘院“十二五”规划提出的主要任务之一,也是《上海市推进智慧城市建设2011-2013年行动计划》关于建设功能服务型信息基础设施的重点项目之一。

该项目将在分析现有上海测绘基准服务面临问题的基础上,以上海GPS综合信息网为基础,研究并建立适合上海市情、与国家关联的上海市现代测绘基准服务体系,逐步完成多站点兼容北斗导航卫星、GPS卫星、GLONASS卫星的建设和改造,进一步完善SHCORS无线广播平台和高精度位置服务平台,构建上海市高精度位置服务平台基础框架,探索多种位置服务功能。

项目预计2012年9月推出阶段性成果。该服务体系建成后将实现上海陆域范围高精度定位功能,为城市规划、土地管理、智能交通、公众导航等相关领域提供更加广泛的服务。

(来源:http://www.shsmi.cn)

The Research of Displaying 3D Terrain Based on ArcGIS And 3ds Max

Wang Xing1,Tian Maoyi1,Ning Huazhan2,Zeng Jingjing3
(1.Institute of Surveying and Mapping,Shandong University of Science and Technology,Qingdao 266510,China;2.Shandong Binzhou Institute of survey and design of water conservancy projects,Binzhou 256600,China;3.Shandong Qingdao Institute of Surveying and Mapping Survey,Qingdao 266033,China)

Terrain models carried out in 3ds Max are general based on contour and made by the Terrain tool.And these terrain models are hardly to support users’needs because of low accuracy.This paper researches how to import large amount of discrete data into 3ds Max,and realize high precision three-dimensional terrain model.Terrain Visualization,taking the terrain mapping of a project as an example.The paper focuses on analysis of the data type and data feature which can be accepted by 3ds Max;and propose a technical route by importing data to ArcGIS;modifying characteristic points,characteristic lines,doing data smoothing,exporting 3D models in ArcGIS;and importing the result model into 3ds Max,and generating High-precision three-dimensional terrain model.In practice,the feasibility of this process is proved very good.

ArcGIS;3ds Max;TIN;visualization;terrain model

2011—05—13

王星(1987—),男,硕士研究生,主要从事数字矿山与资源勘探方向研究。

山东科技大学研究生科技创新基金(YCB100115)

1672-8262(2011)06-50-05

P208.1

A

猜你喜欢
纹理测绘节点
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
基于BM3D的复杂纹理区域图像去噪
浙江省第一测绘院
工程测绘中GNSS测绘技术的应用
使用纹理叠加添加艺术画特效
04 无人机测绘应用创新受青睐
TEXTURE ON TEXTURE质地上的纹理
无人机在地形测绘中的应用