论文种快速建立数字城市地形三维可视化分析系统的方法.doc_第1页
论文种快速建立数字城市地形三维可视化分析系统的方法.doc_第2页
论文种快速建立数字城市地形三维可视化分析系统的方法.doc_第3页
论文种快速建立数字城市地形三维可视化分析系统的方法.doc_第4页
论文种快速建立数字城市地形三维可视化分析系统的方法.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

一种快速建立数字城市地形三维可视化分析系统的方法熊自明 魏海平信息工程大学测绘学院 郑州河南 450052摘要:“数字城市”新理念的提出,大大促进了城市信息化和现代化的步伐,本文介绍了建立城市三维可视化系统的一种途径和方法。文中首先介绍了基于Microstation、ArcGIS和VC软件环境实现DGN格式数据中高程信息的提取方法,之后阐述了利用ArcGIS生成TIN,并采用人机交互的方式剔除粗差,得到DEM成果。最后,以生成的DEM为数据源利用ESRI公司的ArcObjects组件工具和可视化开发语言的集成二次开发方式,开发出了基于ArcObjects的地形三维可视化分析系统。关键字:数字地球;数字城市;DEM;TIN;ArcObjects;VRML;组件技术Abstract:First of all, by using Microstation、ArcGIS and VC+ language to extract elevation information in DGN format files, then create TIN, eliminate errors of the extracted elevation data by the 3D method in ArcGIS mutually and make DEM. At last, With the DEM Data Source which has been generated, the author exploited the three dimensional terrain visualized analyze system by using the ArcObjects Component tool of ESRI Company and the integrated second exploitation manner by visualized operation language.自从1998年美国副总统戈尔提出“数字地球”的概念以来,数字地球的研究就成为了全球的一个热点,而作为“数字地球”最重要的组成部分“数字城市”的研究更是成为热点中的热点。城市大比例尺的DEM数据是构建数字城市的基础,它提供了数字城市中的三维模型信息,然而获取建立城市DEM的数据是一项费时费力的工程,利用现有的数据建立DEM是一种理想的方法。当前,基于Microstation的DGN格式的地形图数据分布范围很大,但是这些DGN格式的地形图大都是用手扶跟踪数字化或扫描数字化的方式生成的数字化地形图,由于成图时仅仅是为了满足计算机辅助设计的需要,因此图中的高程点和等高线的高程属性是作为独立的文本存储的,这样的DGN地形图数据无法应用GIS软件直接生成DEM。针对上述问题,本文在充分分析Microstation的DGN格式文件的数据组织形式的基础上,应用ARCGIS软件和编程处理相结合的方法快速精确地生成了TIN,剔除粗差后得到了DEM。实践证明,此方法生成DEM速度快,精度高。 在得到DEM的基础上,本文讨论了直接应用ArcScene,输出VRML文件,然后应用集成VRML浏览插件的浏览器和利用ESRI公司的ArcObjects组件工具和可视化开发语言的集成二次开发方式开发基于ArcObjects的地形三维可视化分析系统等三种方法构建实时交互的三维城市地形虚拟环境。在权衡各种方法的基础上,采用了二次开发的方法,建立了以VC+为编程环境的基于ArcObjects的地形三维可视化分析系统。1. DEM的生成ArcGIS将DGN文件分为Annotation(注记要素层),Point(点要素层),Polyline(弧段要素层),Polygon(多边形要素层)和MultiPatch(复杂块要素层)进行表示。首先在Microstation中将多幅大比例尺的DGN的城市地形图拼接合并成一幅,这样做可方便以后在ArcGIS中的要素提取,以及保证整个地区生成TIN的完整性。1.1. 高程点的提取在DGN文件中高程点大部分没有高程属性,高程值是作为注记层单独存储的,所以需要进行高程点和高程注记的匹配。进行匹配的一般方法是通过编程,以待配准高程点为中心遍历所有高程注记,求出距离,通过设定一阈值以决定匹配与否。这种方法耗时耗力,效率低下。笔者在实践中摸索出一种简单、高效、实用的方法,其主要工作在ArcGIS中完成,具体步骤如下:由于在DGN文件中高程点层是作为单独一层,可以根据它的层要素编号将高程点提取出来。利用ArcGIS中的Select By Attributes工具选中点要素层中的高程点,并用Create Layer From Selected Features工具将选中的高程点作为ArcGIS中单独一层P1层;利用ArcGIS中的Select By Attributes工具选中注记层要素层中的高程注记,并用Create Layer From Selected Features工具将选中的高程注记作为ArcGIS中单独一层A1层;利用ArcGIS中的Join工具以Join data from another layer based on spatial location的方式将A1层Join到P1层,由于ArcGIS不能对DGN文件直接编辑,所以Jion后导出一个Shapefile文件Sp, 在这个Shapefile文件中高程注记作为高程点的属性存在;由于高程注记的类型是text,要想在ArcGIS中生成TIN高程值必须是数值型(double,float)的,所以Sp文件不能直接用于生成TIN。本文采用的方法是在Sp文件中建立一个double型的属性项Z,采用Field Calculator 工具,使Z的每一个值都等于对应的高程注记,实现类型的转换,这样就完成了高程点和高程注记的匹配;把Sp文件中多余的属性项删掉,就得到能在ArcGIS中生成TIN的高程点Shapefile文件,从而完成了对DGN文件高程点的提取。1.2. 等高线的离散化在DGN文件中,等高线和高程点一样,都是重要的三维信息源,如果能对它进行有效地提取,必将成为建立城市DEM的一种丰富的高程数据源。对于没有高程属性的等高线,由于等高线可能比较密集,高程注记在相邻较密的两条等高线之间可能混淆,所以用批处理的方式以spatial location为条件完成待离散等高线与高程注记的匹配正确率低,很难满足精度需求。本文以人机交互的方式来实现等高线的离散化,主要过程为:选取待离散的等高线,判断此等高线是否具有高程属性,如果已有高程属性则直接被离散,提取出符合离散条件的等高线的顶点;否则,程序提示输入等高线的高程,然后提取出符合离散条件的等高线的顶点实现此等高线的离散化;被离散化过的等高线改变其颜色,避免等高线的重复提取。其中一条等高线任意中间节点的离散条件(即判断该点是否选取的条件)可以是此节点的前一节点与后一节点之间的直线距离D,也可以是此节点到前后节点连线的垂直距离d。本文采用的离散条件是这三点形成的曲率K(K=d/D),设定一个阈值&,当K=&时则选取此节点,显然这种离散条件可以更好地保留等高线的特征点。1.3. 生成TIN,得到DEM数据 将提取的数据导入ArcGIS,应用ArcToolbox中的3D Analyst ToolsTIN Creation工具生成三维透视TIN,在TIN(如图1)中有一些尖锥状的物体,这些异常点都是由于提取的数据含有粗差,显然粗差的存在会对生成的DEM的质量产生影响,所以必须剔除粗差。常用的剔除粗差的方法有:反距离加权法、线性回归法、基于点方式删除粗差的方法、基于坡度信息删除粗差的方法和基于三维可视化删除粗差的方法等。由于DGN格式的地形图在成图时已经过严格的质量控制,高程数据的粗差较少,而本文采用的数据提取方法不会造成数据精度的损失,因此本文采用基于三维可视化人机交互的方式剔除数据的粗差。在ArcGIS中将可疑点删除,就可以得到高精度的城市DEM数据。1.4 所用方法的优点方法实用、高效;精度无损失,基本上能保持原DGN文件的精度;等高线离散时以曲率作为条件,保证了特征点的选取;图1 含有粗差的TIN生成DEM速度快。2. 基于ArcObjects的地形三维可视化分析系统的建立用上述方法生成的DEM数据如何构建一个实时交互的三维城市地形虚拟环境,这是本文要探讨的另一个问题。要将这种数据转换为其它格式再加以利用,会不可避免地造成数据信息的损失。而直接利用这种数据构建目前比较可行的方法有三种:2.1. 直接应用ArcScene这是最简单最直接的方法。ArcScene允许多层数据叠加显示,所以可以很方便道路和水系等重要要素显示在三维虚拟地形上,并可对这些重要要素进行符号化的表示。在浏览方面,ArcScene支持对三维场景的Navigate、Fly、Zoom In/Out、Center on Target、Zoom to Target、Set Observer和Pan等操作1,并可支持多个视口的同时浏览。同时提供了3D Analyst、3D Graphics和3D Effects等工具,可对三维场景进行空间分析、添加三维物体和各种效果的设置。这种方法的缺点也是显而易见的,首先ArcGIS作为商业软件价格昂贵,要装配到城市的各个部门成本高;ArcScene提供的功能太多,操作过于复杂,对于工作人员来说有些功能是不需要的,操作不容易掌握,没有针对性;ArcScene没有直接提供通视分析功能,需借助ArcMap来完成,给用户造成了一定的不便。2.2. 输出成VRML文件在ArcScene可以将做好的城市虚拟三维地形场景直接输出成VRML文件。VRML是www上描述3维虚拟环境的标准方法2。目前VRML浏览器软件种类很多,如Netscape公司的Live3D,Paper Software公司的WebFX,SGI和Template Graphics Software公司的WebSpace,InterVista软件公司的World View以及Micmsoft公司的Virtual Explorer等。使用VRML,能在Internet上创建3维虚拟空间,诸如建造虚拟的房间、建筑物、城市、山脉、星球或能想象的任何东西。VRML最令人兴奋的特征是我们能够利用它在Internet上创建动态的世界和感觉丰富的环境,还包括以下的功能:动画空间里的物体,使它们运动;在虚拟的空间里播放声音和影像;允许使用者和虚拟的空间进行交互;使用脚本来控制、改进虚拟的空间。尽管VRML在创建虚拟3D城市场景方面具有诸多优点,但也存在着以下缺陷:VRML是未经压缩的ASCII文本,因此导致文档太大,文件传输时间长;可以保证每一个对象内部的拓扑,但保证不了对象之间的拓扑。因此这种方法不能直接应用于空间查询和空间分析;ArcScene输出的VRML文件图像质量和数据精度有损失;用VRML建立的3D虚拟城市地形场景,只是一个高级可视化系统,而不是城市地形三维可视化分析系统。2.3. 基于ArcObjects的方法ESRI公司的ArcObjects组件则是建立在Automation(是指一个应用程序通过某个对象去“操纵”另一个应用程序的机制)自动化基础上的实现若干标准接口的COM对象。它是ArcGIS系列产品的应用开发平台。比如ArcMap、ArcCatalog和ArcScene等都是利用高级语言调用ArcObjects的接口开发出来的成熟产品。ArcObjects组件通过接口的形式为软件开发者提供了在ArcInfo和ArcView中的绝大多数功能。开发人员无论应用何种开发环境进行二次开发,只要在设计时把引入的对象类声明为对象变量即可调用ArcObjects组件,轻松地实现GIS方面的功能。因此,开发人员只需把大部分注意力集中在用户的需求和软件界面设计上,开发出符合用户要求的界面及相关功能的应用软件系统。所以,本文采用了在VC+6.0环境下基于ArcObjects组件工具的二次开发方法。本系统中主要使用了ArcObjects组件中的ArcScene、TIN和Raster对象采用的二次开发语言是VC+,在编写代码前,在stdafx.h文件中加入所需的olb、ocx和dll文件,具体实现如下:#pragma warning(push)#pragma warning(disable: 4146)#pragma warning(disable: 4192)#import /arcgis/com/esriSystem.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR, VARTYPE)#import /arcgis/com/esriSystemUI.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/com/esriGeometry.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/com/esriDisplay.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/com/esriGeoDatabase.olb raw_interfaces_only raw_native_types no_namespace named_guids#import /arcgis/com/esriOutput.olb raw_interfaces_only raw_native_types no_namespace named_guids#import /arcgis/com/esriDataSourcesFile.olb raw_interfaces_only raw_native_types no_namespace named_guids#import /arcgis/com/esriGISClient.olb raw_interfaces_only raw_native_types no_namespace named_guids#import /arcgis/com/esriCarto.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/com/esri3DAnalyst.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/bin/SceneControl.ocx raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#import /arcgis/bin/ToolbarControl.ocx raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_HANDLE, OLE_COLOR)#pragma warning(pop)3. 系统的功能该系统是根据用户的具体需求,构建的符合用户要求的界面及相关功能的数字城市地形三维可视化分析应用软件系统 (系统功能结构简图如图2) 。图2 系统功能结构简图三维可视化分析系统I D WKrigingSplineNatural NeighborTrend坡度和坡向计算三维面积和体积计算单点可视区域的计算通视分析其 它等值线的生成加 纹 理空间分析功能纹 理 映 射三维表面的建立3.1. 三维表面的建立ArcObjects提供了两种数据来生成地形的三维表面模型。一种是规则格网数据(raster;又称regular square grid,简称RSG),它是基于单元的数字地形地面最一般的存放格式,是连续地形表面模型的栅格化表示。它用一个矩阵格网来存放,矩阵的每一格网元素存放单元的高程;另一种是不规则三角网数据(TINs),它将按地形特征采集的点按一定规则连接成覆盖整个区域且互不重叠的许多三角形。这两种方法各有利弊,Raster表面数据存贮量小,但有时不能准确表示地形的结构与细部;而TINs表面能精确描述复杂地形,但数据存贮复杂3。从DGN地形图文件采集到的离散点数据经过内插,就能得到Raster数据。在ArcObjects中,是利用了Raster对象的IintetpolationOp接口来实现此功能。IintetpolationOp接口可支持Inverse Distance to a Power(IDW反距离加权插值法)、Kriging(克里金插值法)、Natural Neighbor、Spline和Trend等五种内插方式。3.2. 纹理映射为了更加真实生动地反映现实中的地形,本系统能够选择或查找对应地区的地形纹理图,并依据各种图像间的映射关系,将纹理图像按规定的要求贴在三维地形图表面,使生成的三维地形图既有立体感又有真实性。利用GraphicsLayer3D对象组件进行具体功能开发。3.3. 三维空间分析功能由于空间分析涉及面很广,目前尚未有一个明确的定义。关于空间分析应该包括哪些内容,也难以形成一个广为接受的框架。GoodChild将空间分析分为两大类,一类是产生式分析,通过分析可以获取新的信息,尤其是综合信息;另一类是咨询式分析,旨在回答用户的一些问题。Wiseh Haining将空间分析分成统计型空间数据分析、基于地图的分析以及数学建模。ArcObjects的三维空间分析是以三维表面为研究对象的,包含很多分析功能,如等值线的生成、斜坡的坡度和坡向的计算、三维表面的面积和体积的计算、两点间是否通视的判断、单点可视区域的计算等等。三维空间分析功能主要是由ISurface接口实现。ISurface接口提供了很多函数,如夸大高程倍数的Zfactor函数、生成等高线的Con

温馨提示

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

评论

0/150

提交评论