基于ArcGIS的三维景观建模技术研究_第1页
基于ArcGIS的三维景观建模技术研究_第2页
基于ArcGIS的三维景观建模技术研究_第3页
基于ArcGIS的三维景观建模技术研究_第4页
基于ArcGIS的三维景观建模技术研究_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安科技大学硕士学位论文基于ArcGIS的三维景观建模技术研究姓名:康红霞申请学位级别:硕士专业:大地测量与测量工程指导教师:张耀民20060418 3ArcGIS9三维莆观建模方法线、多边形来生成TIN。但并不是所有的矢量feature都带有高程值。可以使用一种或多种矢量数据一次创建TIN,也可以分步进行,也就是先用一种矢量数据创建TIN,然后使用add feature to TIN来修改TIN。常用的是从高程测样点生成TIN,这些点就成为TIN中的顶点,它们决定了整个平面的形状。往TIN中加入的线称为breakline,可以有高程值也可以没有高程值,它们就成了TIN 中三角形的边。Brea

2、kline可以是溪流、边界、道路等等。Breakline可以分两种:soft和hard。Hard breakline:表示在TIN表面上坡度不连续,往TIN中加入Hard breakline通常会带来坡度的突然变化,例如山坡上的一条路:Soft breakline将边加入了TIN,但是不影响地表的形状,如政界线。加入多边形包括四种类型:clip、erase、replace、fill:Clip:定义了差值的边界、落在边界外的数据就被除去了。例如行政界线。Clip 的边界成为新的边界。也有soft和hard的区别,与上同理;Erase:落在边界内的数据被除去;Replace:用插入的polygon

3、代替原来的该区域的地形表面,例如湖:Fill:给区域的所有三角形赋整数值,不改变地形表面的高度。(3从栅格数据创建TIN:直接利用三维分析工具将栅格转化为TIN。3.2.2将二维要素显示为三维(1从地形表面获取高程值如图3.1(a。(2通过一系列的值或输入一个常数将二维的地物显示为三维如图3.1(b。(33D Analyst菜单CovertFezture to3D。同样也是通过一列或者表达式赋Z值,或者是从地形表面获取高程值,与上述两种方法效果相同,不同的是输出新的结果文件。另外,将栅格数据显示为3D,也是采用从地形表面获取高程值的一种方法如图3.1(C。 3.1(a15西安科技大学硕士学位论

4、文 3.1(b3.1(c图3.1二维要素显示为二维3.3三维景观模型的构建方法3.3.1三维地面模型建模方法在ArcGIS中,建立地丽模型即创建三维场景、向场景中添加图层与图形、定义图层的三维属性、定义场景的属性,具体方法简介如下:(1创建三维场景创建新场景,又称为添加数据。在ArcScene中,直接单击标准工具上的“专,图表即可。若从ArcMap中添加数据,则右击准备添加的图层在工具栏中的图标,单击拷贝,然后在ArcScene中右击Scene Layer,选择粘贴即可。若从ArcCatalog中添加数据,仅仅需要将选中的数据拖到ArcScene中。(2定义图层的z值一般有三种方法可以用来定义

5、图层的z值,即:使用属性设置图层的基准高程;通过在表面上添加新要素;突出要素。最常用的是通过在表面I二添加新要素,如上图3.1(a其步骤如下:右击图层,在弹出的对话框中,选择Base Heights;单击Obtain heights for layerfrom suface,选择您要添加的图层:如果两个图层的单位不一致,则要改变Z Unit Conversion;单击确定!(3添加TIN和TIF数据TIN是一个表示高程的起伏表面,而图像是一个平面,可以理解为高程值都为0,也就相当于海平面。因此两个图层叠加的时候,TIN中高出海平面的部分可以看见,而低于海平面的部分被隐藏了。(4贴影像纹理3Ar

6、cG|S9三维景观建模方法打开图像层属性对话框,选择Base Height tab页,选中Obtain heights for layer from surface如上图3.1(a。在ArcScene中,可以将一层(包括grid、image或者2D Features覆盖在一个地形表面上(可以是TIN或者是grid来获得地表真实感,效果如图3.2。(5把两个图层分开打开Base Heights以后,在Offset处添加一个常数,单位与z值单位一致。(6控制图层绘制的时间为了节约资源,提高计算机的使用效率,不是每个图层在任意时刻均需思示。在ArcGIS中,对于图层的显示,有三种方法,分别为:总是显

7、示、不游览时显示和游览时显示。设置的方法如下:右击图层,在弹出的对话框中,选择Rendering。弹出的对话框如下图所示:其中选择1为总是显示,选择2为不游览时显示,选择3为游览时显示。(7同时从不同的角度查看同一个地方单击桌面上标准菜单Window,选择AddViewer,将弹出一个小窗f1,可以重复添加,可以改变其显示的大小、方位等,直到满足您的要求为止如图3-3所示。 图3.2贴影像纹理图3.3Add Viewer窗口的应用3.3.2三维实体模型建模方法在ArcGIS中进行三维景观建模,即利用以上介绍的方法建立的地面模型,再加入独立的三维实体来表达真实三维景观。在景观模拟中,建筑物以及大

8、量的不规则物体需要模拟:如树木、花草、路灯、路牌、栅栏等,它们是构成地形环境、提高景观模拟逼真度必不可少的部分。可以在3DMAX、MultiGen中建立这些模型,再lji丁以采用纹理映射技术较好地模拟这类物体,实现逼真度和运行速度的平衡。纹理的意义可简单归纳为:用图像来替代物体模型中的iU模拟或不可模拟细节,提高模拟逼真度和显示速度。实现方法是将三维模型中的建筑物等地理实体模型FLT(数字高程模型数据DED、数字文化数据DFD、建筑模型数据FLT、纹理数据TIFF或JPG格式在MultiGen中打开,贴上真实的纹理,转换后将这组数据以一定的比例和角度,通过拷贝、旋转、平西安科技大学硕士学位论文

9、移、缩放、定位于空间坐标系中。然后叠加到地景中,并在其中栽上树木、花草等,从而把真实世界在计算机中虚拟再现出来。以下仅以西安科技大学雁塔校区教学主楼为例,做一些介绍:(1在AutoCAD中,建立好平面实体,如图3.4: 图3.4主楼平面图(2将其倒入3D MAX中,利用其丰富的编辑和三维造型功能,尽量利用最少的和最简单的操作完成三维造型,如下造型图3.5: 图3.5主楼在3D MAX中建立的立体模型(3虽然3D MAX有很强大的渲染和贴图技术,但3D MAX中最优势的地方是三维造型,本论文中利用3D M/X_X作为三维造型建模,对于贴图,我们采用在Creator中贴纹理图。因为,它的贴图功能比

10、3D MAX更强大与灵活,且效果更真实,如图3.6,将模型在Creator中,编辑贴图,并加入楼顶。纹理图是实物拍摄的JPEG格式的数码相片。3ArcGIS9三维景观建模方法图3.6主楼在Creator中贴图后的立体模型(4将建立好的模型导入ArcScene中作为点状三维模型符号,之后可以将其导入自己的模型库,如图3.7: (5本论文中涉及到的大部分三维符号模型,都可以直接在Creator中建立。如建立建筑物模型,可以先在Creator建立Face,并将其拉伸为立体模型,在Face模式下贴图即可。有些叠加符号需在Creator中单独建立模型,利用ArcGIS来,t孚DH,如要建立栅栏,可以先在

11、Creator中建立点状符号如图一,再和线状符号。在ArcGIS中叠加,叠加时需根据实际情况设置符号的参数,这种利用Creator和ArcGIS软件来叠加三维符号的方法,既灵活又实用,不但扩充了单一的符号建模方法,而且利用Creator、ArcGIS两种软件的优势来表达景观,组成符号模型的每一层都有自己的属性,方便查询与编辑。呱耐护。 3ArcGIS9三维景观建模方法(2线状符号在地形景观上的叠加对于平面地图上的线状要素(如铁路,小型河流,边界等,可认为它们是直线段构成的折线。对于每一条起点为Ps(Xs,Ys,终点为Pe(Xe,Ye的直线段,计算该直线段与DEM格网在(x,Y平面上投影的交点序

12、列Pi(Xi,Yi(i=0,1,2,.,n其中,Ps=P0,Pe=Pn,交点计算分两步进行,即:计算Xs到Xe之问直线段与格网边X=Xi的交点,插值计算每一个交点的高程值。计算Ys到Ye之间的直线段与格网边Y=Yi的交点,插值计算每一个交点的高程值。将上面两步计算的交点及高程值按x值或Y值的大小排序,形成基于格网DEM地形的交点序列pi(Xi,Yi,Zi,依次顺序连接Pi、Pi+l、¨.,即可实现在地形景观上的线状要素显示。在ArcGIS中线状要素要与DEM叠加,根据作者多次试验,稍微复杂一些,若将其按照类似点状或面状要素来进行设置BaseHeight获取高程,最终结果只能是叠加失败

13、,有效的方法是采用上述算法,将线状要素划分为多个线段,有效的设置了每个线段的端点的高程,并于DEM叠加,则可以实现线与DEM的叠加,叠加效果如图3.9(c,3.9(d。(3面状要素在地形景观上的叠加普通情况下,我们需要将面状要素分为两大类:一类是面状要素与地表形态的起伏保持一致,是依附于地形表面的(如森林、大型河流等。第二类是面状要素以平面的形式截取地形的某一个区域,将该区域内的地表形态特征覆盖起来,以给定高程的平面区域符号来表示。如水库、湖泊等就属于此类要素。在ArcGIS中,可以将面状要素的单独作为一个层,将层的高程从地面模型模型的高程中获取,即可实现,如果此类面状要素必须将地表形态覆盖起

14、来,可以设置其offset属性叠加效果如图3.9(e,3.9(D。 3.9(c3.9(d西安科技大学硕士学位论文 39(e3,9(f图3.9地而模型与三维符号的叠加3.4三维景观软件的开发方法3.4.1ArcObjects简介ArcObjects是用于构造ArcGlS系列平台,基于MicrosoftCOM技术的一系列组件对象库。ArcGIS系列产品完全是基于ArcObjects构建的。南于ArcObjects完全遵循COM 组件模型工业标准,因此,ArcGIS中的各个不同的产品就有了共同的基础部件和工业标准的接口,这对于ArcGIS自身的定制和扩展以及ArcGIS与其它系统和平台之问的连接或融

15、合起到了致关重要的作用。到目前为止,ArcObjects还不是一个独立的SDK,是依附在ArcGIS DeskTop产品中的软件开发包。也就是说,你购买了ArcGIS Desktop的任何一个产品,不管是ArcView 还是Arclnfo,你都有了这套强大的ArcObjects组件集.利用ArcObiects提供的组件对象来进行应用开发。目前,ArcObjects组件对象库中定义并实现了1800多个在GIS应用中涉及到的空问数据对象,提供了2000多个接口。通过ArcObjects我们可以完成以下甚至更多的GIS 功能,以下图3.10为基本的3D对象模型:图3.10基本的3D对象模型(1Sce

16、neGraph用来处理3D可视化:实现了3D绘制方法(IDisplay3D;3ArcGIS9三维景观建模方法管理不同3DView中的渲染:为更快的绘制管理内部的缓存:为交互操作优化性能(LOD,culling:(2SceneViewer实现和Viewer相关的功能一影像导出,快照:(3Camera定义了每一个3D Viewer的视角,方向和位置等;以下是一个简单的VBA脚本,是三维对象模型的一个切入点Dim pSxDoc As ISxDocumentDim pScene As ISceneDim pSG As ISceneGraphDim pViewer As ISceneViewerDim

17、pCamem As ICameraSet pSxDoc2IhisDocumentSet pScene=pSxDoc.SceneSet pSG=pScene.SceneGraphSet pCamera=pViewer.CameraSet pCamera=pScene.SceneGraph.ActiveViewer.Camera3D几何模型如图3.1I: 图3.11基本的3D几何模型所有支持z值的几何要素Poims,lines,polygons(点,线,面MultiPatches(多片13.4.2二次开发语言的比较与选择ArcObjects是基于微软的COM技术来构建的,因此它具有很强的开放性。这

18、儿的开放性是指在开发环境的选择上可以有VBA、VB、VB'net、vc+、VC.net、DELPHI、JAVA等多种支持COM标准的开发语言。本论文部分功能选用VB6.0作为系统的开发语言是基于以下三点考虑:(1VB使用简单、开发效率高西安科技大学硕士学位论文VB是从BASIC编程语言派生而来,它是世界上最广泛使用的快速编程语言(RAD。它具有较强的多媒体和数据库管理功能,且易于使用,适合大多数GIS应用的开发。(2VB是现存的最严格面向COM的工具尽管许多语言都支持COM标准,但VB是现存的最严格面向COM的工具,相比其它开发语言,对COM的使用和扩展它更适合、更简单。(3VB是ES

19、I己I首推的开发语言VB是EsRJ公司在mcGIS的开发中推荐使用的开发语言。在ArcGIS帮助文档和在线帮助中提供了大量的VB开发实例供学习和参考,网上的资源也基本都是以VB为主,这给我们的开发提供了很大的帮助,极大的提高了我们开发的效率。VB语言的使用充分体现了组件式技术的集成性、大众性和高效性。3.4.3本文采用的开发方法本论文主要通过使用ArcGIS软件定制工具,辅以VB的开发来实现三维景观模型的需求。定制务必使得景观界面用户友好化、系统化和标准化。以及功能完善化。mcGIS 本身是一个集二、三维数据编辑、分析、管理、显示开发等为一体的大型的GIS软件,再加入部分较为专业的功能即可。主

20、要功能有二维数据的生成、数据转换、编辑、分析、管理,三维模型的倒入、编辑、查找、浏览、漫游飞行,三维符号库的建立、符号的叠加、符号入库等。一部分通过VBA丌发生成,一部分用VB开发。举例如:在ArcScene下利用VBA环境开发的通过输入坐标XY值或者经纬度来生成点将其闪烁,插入三维模型。(1如图3.12(a输入坐标,并将此点闪烁 a眩斟33ArcGlS9三维景观建模方法(2如图3.12(b打开符号属性编辑器,选择三维模型,并设置其参数; 3.12(b(3如图3.12(c添加三维模型 312(c图3.12添加三维符号模型由于论文篇幅所限,其他开发不再一一陈述,只列举少量,如以下图3.13和图3

21、.14 4三维模型符号的设计(5接下来要制作窗户栏,拉一个矩形,设置好其宽度,将其三维显示效果设置为“单色显示”,并且“底纹方式”设为“垂直”,这样制作的窗户栏有很强的立体感,复制并粘贴其它窗户栏。(6为了方便窗户移动,我们选中所有的要素,并将其组合,如果哪个部分不太满意可以取消组合,再进行编辑。这样,一个简单的窗户就建立好了,如图4.2: 图4.1拍摄的窗户纹理图4.2窗户纹理制作为了修饰窗户还需要使用“绘图”工具栏的“线条颜色”按钮和“线型”按钮,分别用来修改窗棱的颜色和粗细,也可以添加阴影增强效果。如果有窗台也可以使用“矩形”,和窗棱不同的是使用了三维效果,至于窗台前的砖墙图案则可以依次

22、选择“填充颜色一填充效果一图案一横向砖形”。总之,绘制窗户,可以综合应用“矩形”和“直线”按钮,三维阴影效果,来制作简单而逼真的纹理贴图。下面是作者拍摄和制作的一部分纹理贴图,如图4_3: 吲4.3部分纹理制作西安科技大学硕士学位论文4.2.2地形模型表面的纹理映射地形表面也不是单一色彩的曲面,存在着诸如植被、道路、河流、湖泊、海域、居民地等大量的要素信息。在比例尺JE4,的情况下,即视点位于很高的位置对大范围区域的地形进行观察时,这些要素信息的高度信息已经不重要,可以通过纹理映射的方式将其表现出来,通过与地形模型数据的叠加反映出这些要素的空间位置关系。如图4.4。4.2.3房屋模型表面的纹理

23、映射房屋的表面并不是一个简单的平面,而是具有门窗、涂层、框架结构的复杂图案表面,这些房屋模型的细节如果也采用三维模型来表示,将大大增加模型的复杂度,通过纹理映射的方法来模拟出这些细节。4.2.4树模型纹理映射为了增加真实感,树模型的建立是必不可少,一般做景观为了节约资源,不制作实体模型,只采用纹理贴图映射:一种是将树的纹理贴在十字交叉的透明的多边形上,从常规角度,这种方式建立的树也有足够的的真实感,而且只需要较小的系统资源。另一种是使用交互的植树工具建立树模型,如图4.5是利用十字交叉法制作的树模型。 (a(b图4.4地形摸型表面的纹理映射图4.5树模型纹理映射4.3三维符号模型的设计与制作4

24、.3.1三维符号模型设计的简化与二维地图符号的抽象性不同,三维模型不仅能表现地物的本质特征和一般属性,更重要的是还能描绘出地物复杂的表面属性信息。但是,由于计算机处理能力和成本的局限,要重建地物所有详细的细节往往是不现实的,也没有必要。因此,模型简化成为三维符号设计的显著特点之一。简化包括几何细节的简化和纹理细节的简化,简化的目的就是去掉一些不重要细节,保留最能代表地物显著特征的部分,满足高效逼真可视化的需要。三维模型是对客观事物的简化反映,是为了发现和了解客观事物的本质属性和基本规律,因此 西安科技大学硕士学位论文要的压缩;在Creator中先利用Face工具建立三维建筑物的轮廓,再利用Ge

25、ometry的Wall工具生成基本的三维立体建筑物模型,为了使纹理贴上更符合实际、更美观,需要将一个建筑物分为几个部分来建模;还可以根据实际情况加上楼顶,要使模型更加逼真必不可少的是纹理的应用,将Creator中的模式切换到Face模式下,选取所要映射的表面,打开纹理palettes载入我们拍摄的纹理,并选择平面三点贴图法,设置参数,依次给每一个表面贴上相应纹理,此时需要注意的是,避免两个表面的衔接处出现纹理混乱,这样一个简单的建筑物模型就建立好了如图4.6; 4.6(a学校大门 4.6(b行政楼 4.6(c公寓楼图4.6三维建筑物模型 西安N-4LL学硕士学位论文中有几百种符号可以用;Pic

26、ture Marker Symbol则提供了倒入Bitmaps格式的图。(2线状符号建立的形式是Line Symbols,符号类型有:Marker Line Symbol、3D Simple Line Symbol、3D Texture Line Symbol、Cartographic Line Symbol、Hash Line Symbol、Picture Line Symbol、Simple Line Symbol;同点状符号类似,也可以相互叠加生成多样的线符号模型,如图4.8是利用3D Simple Line Symbol相互叠加生成的显示管道内外半径的三维管线符号。Marker Line Symbol可以倒入我们符号库中任何类型的符号;Picture Line Symbol也可以倒入bitmaps类型的位图;3D Texture Line Symbol可以倒入SGI Image文件格式、JPEG、bitmap、网络图形格式等多种格式。 例4.8线状符号的叠加显示管道内外径(3面状符号建立的形式是Fill Symbols,它的填充符号类型有:Simple Fill Symbol、3D Texture Fill Symbol,Gradient Fill Symbol,Line F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论