下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 地理信息系统中的三维可视化方法

地理信息系统中的三维可视化方法.pdf

地理信息系统中的三维可视化方法

lll222
2012-11-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《地理信息系统中的三维可视化方法pdf》,可适用于高等教育领域

第卷增刊年月吉林大学学报(信息科学版)JOURNAL·OFJILINt】NIVERSITY(刀MFORMATIONSCIENCEEDITIONVOINAug文章编号:一()一一地理信息系统中的三维可视化方法孙怡’,杨宜进’,周平’,于贵华’,徐锡伟’(大连理工大学电子与信息工程学院,辽宁大连():中国地震局地质研究所,北京)摘要:针对地理信息系统中的三维可视化问题,探讨了Arcobjects的技术特点及其在解决地图三维可视化问题中的应用潜力和存在的问题,并采用vB与Arcobjects相结合的办法对地图三维可视化进行了初步实践,取得了成功的应用通过某城市地形的三维可视化,探索了Arcobjects在表达较大数据量数字地形的能力,开发了三维场景的飞行仿真系统原型,并对某城市地形进行了飞行仿真关健词:地理信息系统组件对象三维可视化中圈分类号:TN文献标识码:A引言二维地理信息系统(Gls)始于世纪年代的机助制图。今天它已深入到社会的各行各业,如土地管理、电力、电信、城市管网、水利、消防、交通以及城市规划等。但二维Gls存在着自身难以克服的缺限,它本质上是基于抽象符号的系统,不能真实地再现三维客观世界。随着应用的深入,作为第三维的高程信息显得越来越重要。人们对三维GIS的需求也越来越迫切。一般来说,在常用的三维GIS的开发方法中,基于OpenGL的开发方法要求开发人员对地形三维显示所经历的三维建模、几何变换、消除隐藏面、光线处理、色彩处理、纹理映射等过程的手工编写代码,工作量大、技术含量高I’】基于JavaD或VRML的开发方法虽然采用场景图简化了三维显示的实现过程,但由于它们本身属于解释型语言,运行速度慢、占用内存多,因此对于数据量较大的地形来说就显得力不从心,l而基于COM的开发方法一方面能将复杂的技术细节封装起来从而简化代码的编写,另一方面,它的代码执行速度快,占用内存小,因此自然而然地成为开发者的首选。Areobjects是美国ESRI提供的一组CoM组件,该组件较好地封装了三维显示的技术细节,使用它可以方便地构造三维场景。本文重点探讨了Arcobjects在地理信息系统的三维可视化中应用潜力,并将VB与Arcobjects相结合作了一些尝试性的工作。Arcobjects的三维可视化组件介绍Areobjects具有使用简单,用户交互性强和扩展性好等诸多优点I’l。下面对Arcobjects所提供的三维可视化组件做一个简要的介绍。如图所示,处于组件结构图顶层的Scene劝ewe‘。ntrol负责图层的三维显示以及完成对鼠标操作的响应。在默认情况下,鼠标左键拖动完成图层旋转观察功能,中键拖动完成图层平移功能,右键拖动完成图层的放缩功能。位于sceneViewe‘。ntrof下一层的SceneGraPh和Scene负责图层(Layer)的管理,包括图层的添加、删除等Scene下面的劝ewer负责管理用户所看到的画面,每个Viewer对应一个Camera对象完成类似相机镜头的功能,包括视角的选取、观察对象的设定、观察者位置的设定等。位于公叮er下一层的DProPerties负责完成图层在三维显示时的一些特殊效果,如高度夸张、图层叠加、收摘日期:一一作者简介:孙怡(l创讨ee),女,上海人,大连理工大学电信学院副教授,博士,主要从事模式识别与人工智能计算机视觉,图像处理与传物,地理信息系统研究,Tel:以,‘mail:些业塑迪遏些四杨宜进(一)男,湖北荆州人,大连理工大学电决夕蛋脸石厉小币耳亡士士习度“宜肠川日偿自盆件的石林空第期孙怡,等:地理信息系统中的三维可视化方法光照渲染等另外,还要提到两个经常用到的接口:Is山毛那e和Isu迁如日Dp。它们负责完成一些常用的表面分析功能,如坡度坡向分析、可视性分析、体积计算等lsl。三维可视化功能的实现地形的三维显示与地物的叠加因为数字地形是三维地图可视化的基础,所以本工作首先尝试采用Arcobjects来表达三维数字地形。本文选择的实验数据是某城市的DEM数据,大小为行x列,格网尺寸(分辨率)为mxm,数据量较大需要指出的是该数据因数据量较大,在VRNL中是无法显示的本实验所用到的主要组件对象有:scene硒ewe‘。ntrof、GxDialog、TinLayer、Seene、DPropertles。其中,scene劝ewe尤ontrol负责完成对加入三维场景的图层的三维显示:G火Dialog负责弹出对话框,以便让用户选择需要加进图层的数据TinLayer负责将用户所选择的数据转化成图层(L即er)的形式s卿e负责将转化好的Layer加进三维场景中来而地物在地形上的叠加,除了应先将其加入三维场景外,还需要将地物层的高度基准设置为地形层。这一工作是通过前面提及的DProp的es对象来完成的,只需要设置其Baseoption和Basesurface两个属性即可。以下为一些关键性的VB代码。setp竹niayeLDataset二PGxDataseLDatasetSeene劝ewe尤trllSceneGraPhSeeneaddlayerPTinayerSetpDDD=GetDPropsFromL盯。代pLayer)SetPSurf=Getsuri触eeFrom工盯e心b叮erReOPDDDBaseOPtion=esriBasesurfaceSetPDDDBasesurface=PSurfSSSceneGraPhhhDPropertiesss图Arcobjeets组件结构图FigObjectModelof图叠加了铁路线的地形图FigTenainoverlaidwith‘将数据变成图层(Layer‘将图层加入场景‘获取Dprope川es对象‘获取地形层的高度基准‘设置地物层的高度基准飞行仿真这里所说的飞行仿真是指用户在三维地形图上预先编辑好飞行观察路线,然后由程序自动地模拟出在空中按指定路线飞行时所看到的地形表面。另外,为了便于用户对感兴趣区域了解更加详细的信息,用户可以通过鼠标点击方式实现相关资料的检索。本仿真系统原型中定义了个概念)锚点(anchorPOint)。用户在三维地形上通过点击所选取的一些关键点。这些点代表了需要考察的抽样区域。)径(path)。由锚点插值形成了一条光滑的曲线,也就是飞行路线。它是带有高度值的,用户可以改变这个高度值,以获取不同的视觉效果。)观察者(obs~r)。观察者所处的位置它是位于飞行路径上的不断往前移动的点。本系统原型在仿真时所采用的数据仍然是前面所用的城市地形图,在功能上主要实现了飞行路径高度的调整、飞行过程中偏角和观察者仰角的调整、是否回飞、动画播放的快慢以及对地理要素的相关信息的检索。本系统原型在实现上述功能时,所用到的组件之中除了前面为实现地形可视化所需的那些以外,主要还有POintCollection、point、surface其中PofntColleCtion用来存放点的集合,这些点可以是用户用鼠标选取的点集,也可以是经过插值之后形成的点集POint用于不断给镜头(Cajmera)的观察目标和观察者赋予下一个点位置,从而实现三维动画sur伪Ce对象通过其封装的功切甲。latesh哪褚方法实现点吉林大学学报(信息科学版)第卷!遴!一集的插值。系统的实现过程如下。)用户通过点击选点控制按钮开始选择锚点。)程序将这些点存为点集,并依托地形表面进行插值,完成点集的更新。)行仿真参数设置的对话框被自动弹出,用户完成飞行参数的设置。)钟触发器被激活。)得到一个时钟信号,Camera就从点集中取一个点,并将观察目标锁定在该点上,同时旋转Camera一定角度,以形成运动感。)取完点集中最后一个点时,终止时钟触发器,动画演示完毕。除了上述功能外,还实现了视频输出与回放功能。其中视频输出是通过每隔一定时间把观察窗口中内容存为图片形式来实现的而回放功能则是建立在视频输出之上的,象放电影一样快速地把存好的各个图片按保存时的顺序在图片框中显示一遍即可达到目的。图给出了整个系统原型的功能框架。图给出了飞行仿真时的画面。位于地形上方的黑线为飞行路径。从图上可以清晰的看到叠放在地表上的铁路线(白色)和河流(灰白色)。时钟触发插插值形成飞行路路径径,更新原有点集集从点集中取点,并设定为C胡era的观察目标小角度旋转镜头欣所有点万、诊卜丫三维场景}地形及地物数据的导入}图飞行仿真系统原型的功能框架FigFlowchartofflybysimulationsystem图飞行仿真画面FigThesereenofflybysimulation程序中的一些关键性的VB代码。setPNewTarget=ppointColleetionPoint(Next’arget)‘获取点集中的下一个点PCamera护fa飞et=州ew及吧et‘将观察目标锁定For田LIndex=l介eLng(几step)‘逐步小范围地旋转Camera,pC呱眼Rotatemst叩‘造成运动感兰业匕一一一一一一一通堕造丝型趣三维可视化方法NextmIndex结论本文以地形的三维可视化和三维场景的飞行仿真为例,对基于Arcobjeets的地理信息系统三维可视化进行了探索,完成了地形数据和地物数据的叠加显示,开发了三维场景的飞行仿真系统原型,实现了对城市地形数据的动态、多角度观察以及对属性数据的检索。通过实验,得出以下结论。)Arcobjects在三维场景的显示中的表现(特别是在较大数据量的情况下),无论是速度还是画质都是令人满意的,这一点是JavaD和VRML等解释型语言所不能比拟的。)A邝Objects在程序的编制上体现的是一种“组装”的思想。这与传统的二维GIS建立思想是不同的。三维显示过程中复杂的技术细节被封装于CoM组件中,使得Arcobjects表现出较好的易用性,代码的重用性得以实现,程序编写的效率也大大提高。)Arcobjects具有很好的可扩展性,即允许使用第方组件,甚至自己编写组件。这样就给开发者留出了广阔的发挥空间,从而使得在短时间内搭建出功能复杂的三维可视化系统成为可能。当然,在实际的开发过程中,也发现一些问题,如:大数据量地形不易做到快速显示、三维数据(特别是影像数据)更新成本高。这些都有待于进一步的研究参考文献:l高武俊,张继贤,张永红基于openGL的地形维可视化研究J测绘通报,,sl:selo郝重限面向VR应用系统的JavaDAPIJl中国图像图形学报,,S(l):一,Is陈华,陈福民基于vRML的虚拟场景的设计与实现【Jl计算机工程与应用,,:,ee曾衫沪JcobjeCts组件开发高级教程〔M北京:户Jcinfo中国技术咨询与培训中心,CrawfordCCustomimg一DAnalystMUSA:ES犯(Environmen词systemsResearchInstitoteInc),(X)Methodfor一DvisualizationingeograPhieinfonnationsystemsL】N肠,YANo叭一in,,ZHoUpi雌,,刊俪七ua,郑沁一(SchOO】ofElecOnic朋dInformationE帕m。巴nn马D目俪U恤ivofT侧出,r灿,Cbi”InBd切招ofG褚】。留ChinaSOismologi国B姗叭氏U吨t(沁,China)Abstract:V丙ththedevelopmentofGIS(GeograPhicInform如OnSystem),一vis画坛如叨ofte爪haandothergeogra州cfeal双msbecomemoreandmorenecessaZyThispaPerstl川leson也ech刊门ICteristicsofArcobjectsandexPlorethepotenti司ofitsaPPlicationtoDvis目名时i饥几e忱Ch苗cai咖伪户词即pro即handPrototyPicaiPr以币ceshaveboenres日℃hedwiththecombin毗onofVBandArCbjects,T五eKeywords:GeograPhicinformationsystem(GIs)ComPonentsandobjeCtsDvis叮讼‘on

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

地理信息系统中的三维可视化方法

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利