《基于GIS的油田社区信息系统的设计与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
论文题目基于GIS的油田社区信息系统的设计与实现专业学位类别工程硕士学号200991231725作者姓名任向东指导教师于永斌副教授万方数据 分类号密级注1UDC学位论文基于GIS的油田社区信息系统的设计与实现(题名和副题名)任向东(作者姓名)指导教师于永斌副教授电子科技大学成都牟忠信高工中石化集团公司胜利石油管理局东营(姓名、职称、单位名称)申请学位级别硕士专业学位类别工程硕士工程领域名称软件工程提交论文日期2013.3.25论文答辩日期2013.5.18学位授予单位和日期电子科技大学2013年6月23日答辩委员会主席评阅人注1:注明《国际十进分类法UDC》的类号。万方数据 BASEDONTHEGISINFORMATIONSYSTEMDESIGNANDIMPLEMENTATIONOFOILFIELDCOMMUNITYAMasterThesisSubmittedtoUniversityofElectronicScienceandTechnologyofChinaMajor:SoftwareEngineeringAuthor:RenXiangdongAdvisor:YuYongbinSchool:SchoolofInformationandSoftwareEngineering万方数据 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名:日期:年月日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)作者签名:导师签名:日期:年月日万方数据 摘要摘要目前城市地理信息,如与建筑物相关的数据大部分是以二维的形式存储。地理信息系统的软件也是在二维数据上进行操作,诸如查询,修改和更新等。二维数据表示地理信息限制了2DGIS的发展,对一些需要三维表示的数据,2DGIS不能很好地满足要求。用3DGIS表示现实世界除了可以帮助查询者清晰,直观的获得所关心的信息,还可以动态的,交互的分析二维平面和垂直方向位置信息之间的关系。尽管3DGIS的应用有很大的优势,但是由于视野的局限性,用户在浏览查询得到的三维信息时,就容易产生错觉,不能很好的分析三维信息,因此需要实现2DGIS和3DGIS的一体化,即实现2DGIS与3DGIS的结合,查询三维信息需要在3DGIS中实现,而查询和分析二维信息则需要在2DGIS中实现。本论文开发了基于GIS的油田社区信息系统,实现了主要的功能,主要包括2DGIS的基本功能,3DGIS的三维空间信息查询、漫游、分析功能,以及2DGIS和3DGIS互响应功能。设计开发了一个基于GIS的油田社区信息系统的原型系统-SLInfoSys(ShenLiYouTianInforSystem)。本文的主要工作概括如下:(1)2DGIS系统的建立实现了2DGIS的基本功能,包括支持多种数据文件;图形显示;查询分析;空间分析;2DGIS到3DGIS的互响应等。(2)研究了三维模型的建立过程三维模型的建立包括模型数据的获取,模型数据的数据结构的选取等。3DGIS采用基于结构实体几何法和边界表示法的箱式分割数据结构,并以此为基础实现相应的数据模型的设计。(3)三维模型可视化的设计通过VRML中间数据格式,对数据进行进行分析,处理,然后将空间数据和属性数据存储到数据库中。在图形显示或查询分析时,直接从数据库中读取相应的空间数据,重构三维虚拟场景,实现三维数据的可视化。(4)交互操作的实现系统提供了三种基本的交互操作:用户与2DGIS的交互;用户与3DGIS的交互;2DGIS和3DGIS的交互。对互响应原理做了一定程度的研究。关键词:社区规划,二维信息,3DGIS,三维信息,互响应I万方数据 ABSTRACTABSTRACTCurrently,theformatofalmostallcitygeographicinformationarestoredintwodimension.Theoperations,suchasmanagement、inquiryanddisplay,inGeographicalInformationSystem,executeintheformatoftwodimension.Usingtwodimensiondataformattorepresentthegeographicalinformationlimitsthedevelopmentof2DGIS,somethreedimensiondataaswell.Threedimensiongeographicinformationsystemshavethequalityofrealisticaffections,dynamic,mutual,realandvisualaidofspatiallyanalysis.Moreover,3DGIScanalsodescribeandexpressthedominanceoftherelationshipofperpendicularlyproperty,andithasbeenbroadlyappliedinmanyareassuchascityplanandsoon.Althoughthebigadvantageofusing3DGIS,therearesomelimitationsinviews,especially,whentheuserinquirethethreedimensionalinformation,causingsomeillusion.Therefore,werecommendtheintegrativemethodof2DGISand3DGIS.Thitis,weapplytwoandthreedimensionstoimplementoilfieldcommunityintegrativemanagementwithGIS,inquiringandanalyzingtwodimensionsinformationin2DGISandinquiring3Dinformationin3DGIS.wedevelopedasystemcalledoilfieldcommunityinformationsystembasedonGIS,implementingthecommonfunctionof2DGIS,roamfunctionof3DGIS,thebuildinganddisplayingofthreedimensionsincommunity,spatiallyinquiryandanalysisofthreedimensions,andthemutualresponsebetween2DGISand3DGIS,completingtheResearchandDevelopmentofaoriginalsystem—SLInfoSys(ShenLiYouTianInforSystem).Themainworkofthisthesisisasfollowing:(1)Thedevelopmentof2DGISSystemTheimplementationofsomefunctionof2DGISSystem,suchasmapoperation,lookingforthetargetinspecialscope,thevisualanalysisofattributeinformation,staticsandsoon.(2)Theresearchofbuildingprocessof3DmodelThediscussionofdifferentdataandthewayofrequirementneededinthethreedimensiongeologicalinformationsystem.Proposedtheboxpartitiondatastructurebasedonthegeometricmethodandboundaryofstructuralrepresentation,anddesigningII万方数据 ABSTRACTappropriatestoragestructureanddatabaseimplementation.(3)Thedesignof3DmodelvisualizationThreedimensionalmodelscalledtheexistingVRML,implementingdatareading,separation,andultimatelystoringthedatainthedatabase.Whenneedtoredrawthreedimensionalvirtualscenes,systemjustreadrelateddataformdatabase.(4)MutualInteratcionSystemAchievementofthebasicuserinteractionbetweentheuserandGISsystemsuchasselect,query,andanalysis,theinteractionbetween2DGISand3DGIS,andmadesomediscussionofmechanismofmutualinteraction.KeyWords:CityPlan,TwoDimensionInformation,ThreeDimensionInformation,MutualResponseIII万方数据 目录目录第一章绪论..................................................................................................................11.1课题背景及意义................................................................................................11.2研究现状............................................................................................................21.2.1国外研究现状........................................................................................21.2.2国内研究现状........................................................................................21.2.3存在的问题............................................................................................31.3论文的主要工作................................................................................................41.4本文章节安排....................................................................................................5第二章相关技术介绍....................................................................................................72.12DGIS相关概念...............................................................................................72.2MAPX组件.........................................................................................................82.33DGIS相关概念................................................................................................92.4图形编程接口OPENGL...................................................................................112.5本章小结..........................................................................................................12第三章需求分析..........................................................................................................133.1系统开发环境..................................................................................................133.2系统需求分析..................................................................................................143.3功能分析..........................................................................................................143.4性能目标..........................................................................................................153.5本章小结..........................................................................................................15第四章系统总体结构..................................................................................................164.1系统设计架构..................................................................................................164.2系统主要功能..................................................................................................174.2.12DGIS功能...........................................................................................174.2.23DGIS功能...........................................................................................184.3GIS开发...........................................................................................................19IV万方数据 目录4.3.12DGIS开发...........................................................................................194.3.23DGIS开发...........................................................................................224.4场景可视化......................................................................................................334.4.1建模方法..............................................................................................344.4.2数据处理..............................................................................................344.4.3模型显示..............................................................................................384.5本章小结..........................................................................................................38第五章系统详细设计与实现......................................................................................405.1用户和2DGIS的交互....................................................................................405.1.1地图的显示..........................................................................................405.1.2地图的编辑..........................................................................................405.1.3信息的查询..........................................................................................415.1.4数据的分析..........................................................................................425.2用户和3DGIS的交互....................................................................................435.2.1场景漫游..............................................................................................435.2.2场景中点的定位..................................................................................445.3数据索引及信息查询......................................................................................465.3.1数据索引方法......................................................................................465.3.2数据索引建立......................................................................................475.3.3空间信息的查询..................................................................................485.42DGIS与3DGIS的交互.................................................................................525.4.1基本原理..............................................................................................525.4.2表现形式..............................................................................................525.5系统实现..........................................................................................................535.5.1空间信息查询......................................................................................535.5.2互响应的实现......................................................................................575.5.3系统特色..............................................................................................605.5本章小结..........................................................................................................60第六章系统测试..........................................................................................................616.1系统测试..........................................................................................................61V万方数据 目录6.1.1测试方法..............................................................................................616.1.2测试结果..............................................................................................616.2本章小结..........................................................................................................62第七章总结与展望......................................................................................................63致谢................................................................................................................................64参考文献........................................................................................................................65VI万方数据 第一章绪论第一章绪论1.1课题背景及意义目前城市地理信息,如与建筑物相关的数据大部分是以二维的形式存储。地理信息系统的软件也是在二维数据上进行操作,诸如查询,修改和更新等。二维数据表示地理信息限制了2DGIS的发展,对一些需要三维表示的数据,2DGIS不能很好地满足要求。现在对三维数据存储呈现出越来越高的需求,像油田社区的规划就需要分析大量的三维数据信息。所以我们需要开发针对三维数据的3DGIS。除此之外,因为2DGIS试图将现实世界中的事物用二维平面来表示,这就导致了第三维的位置,拓扑和语义信息的缺失,所以2DGIS不能完全表现自然界本原的现[1]象。这种试图将现实世界用二维平面来表示也会造成查询者不能直观的的得到想要的结果。用3DGIS表示现实世界除了可以帮助查询者清晰,直观的获得所关心的信息,还可以动态的,交互的分析二维平面和垂直方向位置信息之间的关系。这种优势使得3DGIS应用在很多现实生活中的方面得到发展,像城市设计与规划,地形测[4]绘和城市交通等。尽管3DGIS的应用有很大的优势,但是其用户使用起来容易产生迷失感。由于视野的局限性,用户在浏览查询得到的三维信息时,就容易产生[2]错觉,造成不能从整体上分析结果。为了解决上述问题,比较流行的做法是实现2DGIS与3DGIS的一体化,即实现2DGIS与3DGIS的结合,查询三维信息需要在3DGIS中实现,而查询二维信息和分析则需要在2DGIS中实现。这样既可以实现2DGIS的放大性,唯一性,定位性和整体性的优势,又可以实现3DGIS逼近现实的视觉效果,以及交互性,动态性,直观性等的特点。2DGIS和3DGIS的结合,可以发挥两者的优势,克服彼此的缺点,更好的满足地理信息系统的需求。在实际应用中,两种方法进行交替操作,共同实现目标,而不是单一的操作,当需要三维数据处理时,需要3DGIS的参与;当需要进行二维显示和分析时,需要在2DGIS中进行。设计开发基于GIS的油田社区信息系统,结合社区2DGIS和3DGIS的优势,有效的克服彼此的缺点,可以方便而快捷的提供给决策者关于区域建设,方案甄选等方面的空间数据信息。在本文中,首先简单描述了GIS开发的理论方法,涉1万方数据 电子科技大学硕士学位论文及的技术原理,然后设计实现了系统主要的功能,包括2DGIS的基本功能,3DGIS的三维空间信息查询、漫游、分析功能,以及2DGIS和3DGIS互响应功能。1.2研究现状90年代以来,由于相关理论和技术的发展完善,GIS在全球得到了较快的发展。GIS是一个注重应用的学科。在理论方面,2DGIS的理论研究已基本成熟,现在主要向应用方面发展,而3DGIS处于起步阶段,大部分学者聚焦于此,但是建立一个[8]3DGIS平台还存在困难。下面简述一下国内外的研究动态。1.2.1国外研究现状国外有很多的大学和研究机构都专注于DGIS的开发和应用,目前世界上常用[3]的GIS应用软件已经超过400种。国外比较有名的GIS软件有:Arc/info,MapInfo,Intergraph,Micorstation等,除此之外,还包括在Web环境下矢量地图的标准,如XML和GML等。3DGIS在景观模型和三维仿真等方面也得到了发展,如今可以构造非常逼真的建筑物三维模型;3DGIS系统的开发在获取影像,定位,和查询方面以及交互式三维模型的建立方面也得到了关注。在美国及一些发达国家,GIS已经应用到环境保护,城市管理规划,灾害预测等众多的领域,而我国GIS的应用还有不足。1.2.2国内研究现状在国内,人们也已经开始关注3DGIS的开发研究。国内很多的大学,研究单位和公司都在理论研究和应用开发3DGIS的各方面做出了大量的努力。这些研究和开发主要聚焦在如何获取三维数据,建立三维模型以及如何建立数据结构用来存储三维数据。有些高校和研究机构从底层开始,基于理论研究成果,开发了一些产品,同时也有部分的高校和研究机构基于国外成熟的三维技术进行开发,像南京大学地理信息实验室就是基于美国的VegaAPI实现三维虚拟场景的开发。国内在3DGIS理论研究和应用方面起步较晚,还没有形成理论体系,相应的应用也处于基础阶段。国外对2DGIS和3DGIS的结合的研究有了一定的进步,如美国非常著名的三维仿真软件Vega在2001年,设计出了一款三维产品:SitBuilder3D,实现了三维仿真产品和GIS相结合,以及2DGIS和3DGIS(三维虚拟场景)相结合的产品。由于起步较晚,国内还没有一款成型的平台供用户使用,但是一些高校和研2万方数据 第一章绪论究机构试图开发类似的系统,如武汉大学的朱庆教授基于JAVA开发了一款Web[16]浏览器插件CCGIS,对城市三维模型的建立做了详细的研究。同时,中科院也在城市和地球3DGIS方面进行了相关的理论研究。一些公司也推出了一些类似的系统,如适普软件有限公司设计了一款三维可视化GISIMAGIS,在模型可视化方面具有优势。国内一些研究学者和科研院所也在各自的研究和应用领域设计完成了各种各样的GIS原型系统。如,黄健熙、毋河海通过对2D电子地图和3D虚拟场景互响应原理的研究,开发了一款基于3D实时驱动函数Vega的2D和3D相结合的原型[12]系统。王磊,周云轩从GIS的实际应用出发,通过分析相关理论研究技术,总结出2DGIS和3DGIS交互查询数据的方法,并依据用此方法建立了一款原型系统,[13]应用在了实际领域当中。龚建华、林珲采用C/S架构,基于HTTP协议,采用[14]JAVA相关技术设计开发了一款基于Internet的虚拟校园环境的原型系统。吴道军、黄健熙通过对相关技术的研究,提出了一套针对WebGIS的3D信息查询解决[15]方案。总而言之,到目前为止,世界上还没有一款成熟的3DGIS系统。现在大多数的研究主要关注于3D可视化,并没有提供工具对空间信息进行查询和分析。虽然国外部分研究机构开发完成了2DGIS和3D虚拟场景相结合的系统,但是这种系统不具备空间信息查询的功能,也没有真正实现二维信息和三维信息的互响应机制。1.2.3存在的问题现在,2DGIS的理论研究已基本成熟,现在主要向应用方面发展,而3DGIS处于起步阶段,很多难题需要解决。建立一套3DGIS的应用平台还相当的困难。这是因为3DGIS要对现实世界的三维对象进行处理,分析,管理和决策。用三维数据表示地理信息,与二维相比,增加的不仅是数据量,还包括对象类型和空间之间的重要关系。所以,3DGIS不是对2DGIS的一般扩展,而是加入将垂直方向的三维信息,并且实现空间数据的三维可视化。对3DGIS涉及到的原理和技术的研究需要考虑很多方面。很多的研究学者以不同的关注点总结了3DGIS所需要解决的问题。[7](1)3DGIS对2DGIS的依赖性。尽管3DGIS在可视化和操作分析功能上有其独立性,但是对数据的管理,查询操作和分析都是通过2DGIS完成的。所以3DGIS与2DGIS是兼容一起的,不能将其分割独立开来进行研究。所以3DGIS与2DGIS是共存关系,并不能取代现有的2DGIS。3万方数据 电子科技大学硕士学位论文(2)开发的3DGIS系统应该具有将二维数据转换为三维数据的能力。由于目前应用广泛的2DGIS系统,操作的数据都是以二维的形式进行存储地理信息数据的,所以3DGIS系统应该能够通过较小的编辑,将这些二维数据转换为三维数据。(3)开发GIS系统平台,应该着重于开发二维平台为主,开发三维平台为辅的目标,其中原因如下:在需求上,2DGIS应经能够满足大部分的需求,而3DGIS只是满足补充垂直方向第三维的信息,是对2DGIS的扩展,所以对3DGIS的需求与2DGIS的需求相比只是占很少的一部分。在技术上,建设3DGIS系统的费用较高,如果从数据存储到三维数据的空间分析和可视化都采用3DGIS,花费会比较高,所以在2DGIS能够满足大部分需要的情况下,没有必要完全建设3DGIS而达到高性能的目的,而是实现2DGIS和3DGIS的结合。(4)虽然三维空间分析是3DGIS的特点,但是在数据结构上3DGIS要以边界表示为主,不一定要进行三维空间信息的分析,对3DGIS应该以三维可视化和三维数据管理为主。而在3DGIS系统中要以矢量表示数据,对3DGIS的应用研究应该以城市环境的规划和建设为主,对于不同的领域需要建立不同的数据模型。(5)对于3DGIS的应用,需要开发专门的数据结构表示数据和空间信息分析的算法结构;对3DGIS的开发要以构件的方式建立可视化分析界面和数据分析功能。1.3论文的主要工作本文首先分析了地理信息系统的研究现状,然后对建立GIS系统涉及到的相关理论技术进行描述,并对用到的关键技术2DGIS和3DGIS互响应机制进行的详细阐述,2DGIS和3DGIS的信息查询方法进行了比较,着重3DGIS空间信息的查询。具体内容如下:(1)分析建立2DGIS系统。通过对MapInfo公司的MapX组件的分析,利用.NET环境下的C#语言利用MapX控件进行二次开发,建立2DGIS系统。实现基本功能,如支持多种数据文件,二维图形显示,信息查询和分析,2DGIS和3DGIS的互响应等(2)获取三维数据。对3DGIS中需要的数据类型,存储方式,以及获取方式进行分析。经过分析各种存储三维数据的数据结构的分析,总结出了一种箱式分割数据结构,利用该数据结构,构建空间数据的存储结构和数据库的实现,并最终实现三维数据的可视化表示。在建立油田社区信息系统时,通过VRML中间数4万方数据 第一章绪论据格式,对数据进行进行分析,处理,然后将空间数据和属性数据存储到数据库中。在图形显示或查询分析时,直接从数据库中读取相应的空间数据,重构三维虚拟场景。(3)建立R-Tree空间索引机制,可以快速方便的进行三维空间信息的查询和检索操作。(4)实现用户和系统的交互。GIS系统要求能够实现和用户的交互式操作,如用户查询选择和系统的展示功能,通过对2DGIS和3DGIS交互原理的研究,建立一个“基于GIS的油田社区信息系统”的原型系统—SLInfoSys本文基于三维图形库OpenGL,在.NET环境下,利用C#语言对MapX空间进行二次开发,并运用面向对象开发理论技术,设计了一个原型系统。该系统实现了2DGIS系统要求的一些基本功能,如地图二维查询和展示操作,定位特定的目标,并对数据属性信息进行可视化分析等。充分利用了2DGIS和3DGIS互响应机制。通过应用该系统,发现系统有一定的实用性,对3DGIS理论研究和相关技术开发方面作出一定的贡献。1.4本文章节安排论文共分六章,研究内容按下列章节组织:第一章为绪论。简要介绍了建立基于GIS的油田信息系统的背景和意义,就目前的研究现状进行了分析,并指出GIS当前面临的问题,确定了论文的研究目标、研究内容与方法。第二章详细介绍了开发基于GIS的油田信息系统所需要的相关技术,主要有三维图形库OpenGL、二次开发组件MapX和.NET环境下C#语言,并指出了社区GIS开发的基本理论与方法。第三章为需求分析,介绍了系统开发的环境要求,系统需求,功能分析和系统目标等。第四章是系统总体设计部分,对系统的总体设计进行了介绍,主要有三大部分,第一部分为简述系统设计图,第二部分为简述GIS开发的方法和步骤,第三部分讲述建立可视化虚拟场景的方法,通过对VRML数据的读取分析和存储到数据库中,然后读入数据到模型中重新绘制三维数据模型。第五章是系统的详细设计部分,介绍了系统的模块划分及各部分的详细功能,社区信息二维与三维的交互处理,社区2DGIS与3DGIS互响应机制,建立R-Tree空间索引机制,可以快速方便的进行三维空间信息的查询和检索操作。5万方数据 电子科技大学硕士学位论文第六章为系统的实现部分。主要简述了系统主要模块的实现,包括空间三维数据查询和2DGIS与3DGIS互响应机制的实现。第七章是本文的总结和展望,主要讲述了本文取得的成果以及对以后研究方向的一些期望。6万方数据 第二章相关技术介绍第二章相关技术介绍2DGIS与3DGIS互结合技术的研究成为世界各国在GIS技术方面主要的研究内容。GIS是分析和处理空间数据,响应用户查询要求的空间信息处理技术,可以方便而快捷的提供给决策者关于区域建设,方案甄选等方面的空间数据信息。随着图形和虚拟技术的发展,3DGIS成为弥补2DGIS在三维空间数据丢失的问题,成为人们研究的新的热点。无论是图形学技术还是虚拟现实技术的发展,都使3DGIS能够多维,交互,逼真的表现地理信息,有助于建立油田社区地理信息系统。2.12DGIS相关概念GIS按照内容可以分为两类:(1)实用型:这类GIS有具体的应用目标,根据特定的服务需要而开发的系统,一般为管理决策服务。实用型GIS又被称为应用性或面向服务的地理信息系统。(2)工具型GIS:这类GIS一般没有特定的应用目标,提供建立应用型GIS所需的工具软件包,是一种系统支持软件。这类GIS适应于各种硬件平台,可以高效的管理和分析空间数据,具有易于扩展的特性。与应用性GIS不同,这类GIS又被成为面向管理的GIS。随着GIS技术的发展,其应用范围不断扩大,开发GIS的工作显得非常重要。GIS开发方式有三类:(1)独立开发。这类方式开发的是属于工具型的GIS,具有独立的数据结构和存储结构,不需要调用GIS工具包,可以利用各种编程语言,如C#,JAVA等。(2)二次开发利用工具型GIS提供的工具包和二次开发语言,例如MapBasic,Avennue等,在原有GIS系统基础上进行二次开发,根据不同的需求开发出适用于特定服务的应用型GIS。(3)集成二次开发这类开发集成专业GIS工具软件和可视化的开发工具,如C#,VB,PB等。7万方数据 电子科技大学硕士学位论文开发应用型GIS两种方式:OLD/DDE开发:利用OLE(ObjectLinkingandEmbeding)或者DDE(DynamicDataExchange)技术,通过将传统的GIS集成到高级语言中,然后利用集成后的语言设计开发GIS系统。组件开发:借助工具型GIS提供的基于OCX技术的GIS功能组件,如MapObject和MapX等,可以将这些功能嵌入到可视化编程工具当中,实现GIS的各种高级功能。下面对上述的开发方式进行分析和比较:由于独立开发和二次开发不能满足人们对复杂性和灵活性的需求,与此相反,集成二次开发在很大程度上符合人们的预期。集成二次开发主要利用GIS工具包和可视化编程语言:可视化编程语言使开发设计工作简单高效,通过GIS工具包也可以方便的管理和分析空间数据信息,使得集成二次开发成为当前GIS开发的首选方式。另外,这种开发方式还能够开发出具有易移植,易维护和高可靠性的应用程序,可以更好的管理和分析数据库中的空间数据。利用OCX技术和GIS功能组件开发GIS系统,可以更好的体现这些优势。因此,很多的GIS开发公司都利用集成二次开发方式设计、开发并推出了相应的ActiveX控件。充分利用现有的控件,首先可以缩短开发时间,同时可以使开发的程序具有易移植,易维护和高可靠性的特点。而对于程序开发者,使用现有控件可以减少开发者的工作量,用现有控件代替繁琐的具体编程,实现特定应用。利用GIS工具软件提供的组件进行组件式开发,可以缩短开发时间,利用最少的资源实现系统的功能。因此,在开发GIS的油田社区信息系统的原型系统过程中,利用MapX进行组件开发,实现系统的基本功能。MapX组件的介绍如下:2.2MapX组件MapX组件是MapInfo公司设计开发的ActiveX控件。该控件是在Window操作系统下运行的,具有地图分析功能,这有利于开发人员利用任何一种系统支持的语言,如C#,VB等,进行GIS开发,还可以将地图的分析功能嵌入到程序中。MapX组件不仅提供了地图功能的嵌入方式,还提供了对地图进行处理和分析的方式,对地图进行有效管理的方式,方便GIS应用的开发,缩短开发时间,同时可以使开发的GIS程序具有易移植,易维护和高可靠性的特点。正是由于MapX组件提供了各种的GIS开发工具和实现方法,我们在开发GIS的油田社区信息系统的原型系统过程中,利用MapX进行组件开发,实现系统的基本功能。8万方数据 第二章相关技术介绍开发GIS首先需要设计一个正确的数据结构,来表示数据之间的联系。对于空间信息的存储,需要设计一个空间数据结构,将地图信息存储的数据库中。在MapX组件中定义的空间数据结构如图2-1。图2-1MapX数据结构MapX组件的数据结构可以从两个方面进行分析:如图2-1所示,空间数据结构有多层组成。因此,从横向上看,空间数据结构是空间实体和索引的一种结合。在此类数据结构中,空间实体是各种图形的抽象模型,包括点、线和面。在直角坐标系中,点、线和面三种空间实体可以通过坐标x,y来表示。索引是对空间数据建立索引值,方便查询。从另一个角度看,空间数据结构是一种多层次结构,即由多层结构组成。用户可以根据实际需求,利用分层技术将空间实体进行分层,分层后得到的地图也是多层的。这种分层结构可以提高空间实体的检索速度,并可以有效地对空间数据进行管理和调用。2.33DGIS相关概念(1)3DGIS特性与2DGIS定义二维目标不同,3DGIS中定义的空间目标是利用X、Y、Z三个坐标轴,X表示横向,Y表示纵向,Z表示垂直方向。对通过X、Y表示的平面目标增加第三维上的信息,将平面目标扩展为空间目标,增加三维数据表示体目标。与2DGIS相比,用三维要素表示的3DGIS空间目标的复杂程度更高,含有的信息量更多。2DGIS对于平面目标是基于面的划分,而3DGIS对于空间目标是基于体的划分,9万方数据 电子科技大学硕士学位论文所以,3DGIS可以通过对体目标的划分来表示三维矢量结构之间的拓扑关系。另外,由于3DGIS比2DGIS更加复杂,因此出现了专门研究3DGIS的三维可视化理论,三[37]维数据模型的算法和三维地理信息系统的实现。因此,3DGIS能够处理和分析较为复杂的空间实体,这是其他计算可视化的软件所没有的功能。3DGIS更贴近现实,能够体现逼真的效果,给用户以真实的感觉,它利用三维数据表示地理空间信息,因此,在3DGIS的设计开发过程中,三维空间数据结构是核心,而三维空间分析是需要具备的基本功能。与2DGIS相比,3DGIS的实现要更加的复杂。(2)3DGIS的功能①具有2DGIS的传统功能:对空间数据进行分析操作,诸如查询,修改和更新等。②可视化功能:在3DGIS的实现过程中,大部分的功能涉及到三维目标,这些三维目标的显示属于三维可视化的范畴。三维可视化也是3DGIS的一个基本功能。因此,在大部分的功能实现过程中,都会需要三维可视化的功能。实现三维可视化是开发3DGIS首先要实现的功能之一。③空间数据库管理功能:三维空间数据库是3DGIS的核心,空间对象的存储和管理是3DGIS不同于2DGIS和CAD及各种计算可视化的软件。三维空间数据库的建立既可以通过扩展关系数据库获得,也可以通过延伸面向对象的空间数据库获得。④空间分析功能:区别于CAD及可视化软件,2DGIS具有二维数据分析功能,同样,3DGIS具有更复杂的三维数据分析功能。对空间目标进行对空间三维目标进行分析和处理,按照用户的查询要求显示符合的空间信息,并对空间数据进行管理。(3)3DGIS的开发方法2DGIS的相关理论研究和技术已经完善,但是与其相比,3DGIS还处于起始阶段。随着图形学理论、数据库理论技术及其他相关计算机技术的进一步发展,3DGIS理论研究和应用实现将会得到快速发展。发展的思路和开发的方向可以概括[32]为三种:①第一种方法可以参照2DGIS的发展过程,2DGIS来源于可视化的计算机制图管理。在3DGIS中,大部分功能都会需要三维可视化,在开发时可以利用成熟的三维可视化领域的技术。②建立空间数据结构,存储三维空间实体数据和相应的属性信息,并且适合于建立空间索引,对空间数据进行查询,是建立3DGIS的首要任务之一。空间数10万方数据 第二章相关技术介绍据库的建立既可以通过扩展关系数据库获得,也可以通过延伸面向对象的空间数[30.31]据库获得。③另外一种3DGIS开发思路是从三维数据结构、存储类型的角度出发,由于3DGIS空间数据库中存储着大量的空间数据和属性数据,设法建立高效的查询分析方法。根据上述开发思路,本文设计了一个3DGIS原型系统。数据模型采用将三维空间信息存储到RDBMS中的方法,三维可视化技术利用OpenGL(OpenGraphicsLibrary)和虚拟场景可视化技术来实现。除了建立空间数据库,存储空间信息和实现三维可视化,显示地图信息外,对图形进行调节的三维显示技术也是开发3DGIS的所需要解决的任务之一。三维显示技术是指可以实现地图的大小变化,颜色明暗程度,隐藏或显示进行控制的技术。在油田社区信息系统的原型系统的开发过程中,利用三维图形编程接口OpenGL。OpenGL的详细信息介绍如下,2.4图形编程接口OpenGLOpenGL是一个性能卓越的三维图形接口标准,是以SGI的GL三维图形库为基础建立的共享开放式三维图形显示标准。在图形显示技术快速发展的今天,世界上很多的大公司都采用OpenGL这个标准作为三维图形标准,如Microsoft、IBM、Sun、HP等。很多的产品也是以OpenGL为基础开发的,比较著名的有3DMAX,GIS软件等。由于是共享开放式的图形显示标准,OpenGL在计算机图形化处理中的应用越来越广泛,使用户可以方便的在计算机上使用各种图形软件。OpenGL实际上是一个高性能的图形开发软件包,包括了100多个图形操作函数。由于OpenGL独立于操作系统和窗口系统,所以用它开发的应用程序可以在各种操作平台间移植。使用OpenGL开发应用程序,缩短开发时间,节省资源。OpenGL具有七大功能:(1)建模功能:利用OpenGL可以绘制大量的图形模型。从最基本的点、线、面,到复杂的三维空间物体,OpenGL都提供了对应的绘制函数,可以方便高效的绘制所需模型。(2)变换功能:利用OpenGL可以对图形进行各种变换,包括基本的变换,如平移、旋转等和投影变换,如正投影和透视投影等。通过图形变换可以获得需要的视角。(3)颜色自定义功能:OpenGL提供了两种不同的颜色模式:RGB模式和颜色11万方数据 电子科技大学硕士学位论文索引。(4)光照设置功能:在OpenGL中光照可以分为四类:辐射光、镜面光、环境光和漫反射光。通常实体的材质是通过不同光照的反射率表示,而实体的颜色则是通过计算光和材质的红绿蓝分量相乘得到。通过光照的设置,可以控制物体的颜色。(5)纹理映射功能:利用此功能,OpenGL可以十分逼真的对空间对象进行细节描述(6)图像增强功能:除了基本的图像功能外,OpenGL还提供了图像特殊效果处理功能,如融合、反走样和雾功能,利用这些功能,可以使仿真物体更加逼真,增加图形的现实感。(7)双缓存功能:OpenGL提供了前后台双缓存功能,通过后台进行各种计算,生成前台所要展示的画面,这样可以提高图形显示效率。除此之外,OpenGL还提供了特殊效果处理功能,如深度暗示、运动模糊等,从而实现了复杂的消隐算法。2.5本章小结本章主要对实现3DGIS原型系统采用的相关技术进行了简单的介绍。3DGIS原型系统是在现有2DGIS系统平台基础之上开发的,所以首先讲述了2DGIS的分类及开发方式,并概括了2DGIS存在的一些缺点。然后对组件开发中常用的MapX和三维图形可视化工具OpenGL进行了简单的介绍。同时,阐述了3DGIS的特点,具备的功能以及比较可行的开发方式。12万方数据 第三章需求分析第三章需求分析需求分析是软件开发过程不可或缺的阶段。对要开发的系统进行分析,不断认识和细化开发过程,为下一阶段的工作打好基础,并为解决“如何做”提供依据。需求分析主要分为系统需求分析和功能分析两个方面。在开发系统前,要从用户的角度出发对新系统进行详细调研,确定用户的需要,确定新开发系统的综合要求,也就是要确定新系统要达到的标准,即要实现哪些功能,实现到什么程度的问题。需求可以分为如下几个方面:(1)系统需求:确定新系统要完成什么样的功能,达到什么样的标准,这是最主要的部分。(2)功能需求:如何实现系统的功能,功能的实现要考虑的因素,包括存储容量、安全性以及运行效率等。(3)环境需求:新系统运行环境的需求。在硬件方面,新系统需要采用什么样的机型、硬件设备等;在软件方面,采用什么样的运行系统,如操作系统,数据库管理系统等。(4)未来需求:这类需求现在可能不存在,但随着时间的推移,在将来可能会存在的的需求。因此开发新系统时,应该考虑未来可能提出的要求,即在开发过程中,应该对系统将来可能的修改做准备,以便将来比较容易的进行完善或扩展。3.1系统开发环境由于系统需要存储大量的三维数据,查询、显示和建模仿真都需要频繁的访问数据库,对数据库处理能力要求较高,所以对计算机的基本配置应该满足以下条件:(1)硬件配置CPU:不低于1GHz;内存:不低于256M;磁盘剩余空间:不低于2G(2)软件配置操作系统:WindowsXP;13万方数据 电子科技大学硕士学位论文开发语言:.NET环境下C#语言;辅助软件:ImaGIS,OpenGL,VRML,MapInfoProfessional,VRML文件编辑器VmlPad和浏览器插件Cortona。3.2系统需求分析本系统主要实现的目标有三个方面:(1)设计三维数据存储结构:根据研究理论和相关技术,建立基于结构实体几何法和边界表示法的箱式分割数据模型,面向对象的数据组织方案,并以此为基础设计存储结构。(2)建立三维模型:建立模型的目的是分析,处理三维空间数据,并把数据存储到三维数据库中,建立数据与属性之间的关系,方便3DGIS的数据获取和逼真的表现空间对象。通过建立模型管理模块,对实体和体素信息进行管理,利用R-Tree索引机制,建立查询数据和索引信息的关系,方便快速高效的查询,加快系统的检索速度。通过建立三维模型,提出2DGIS与3DGIS互响应机制的原理和实现方法。(3)实现2DGIS和3DGIS的转换:这种转换包括二维空间实体和三维空间实体对应目标的转换及视点转换和交互漫游。3.3功能分析本文开发的基于GIS的油田社区信息原型系统需要实现以下基本功能,包括2DGIS和3DGIS的部分功能:(1)2DGIS部分功能支持多种数据文件;图形显示;查询分析;空间分析;2DGIS到3DGIS的互响应。(2)3DGIS部分功能数据读取与分析模块;三维模型建立模块;三维场景显示和浏览模块;三维场景管理模块;查询分析模块;三维场景互操作模块;3DGIS到2DGIS的互响应模块。14万方数据 第三章需求分析3.4性能目标本系统主要实现的目标:(1)在2DGIS方面,通过对2DGIS的开发过程做出详细的研究,建立一个简单的2DGIS系统。(2)在3DGIS方面,通过研究三维数据获取方式,三维数据存储结构,数据库的设计实现,面向对象的数据组织方案,虚拟场景的交互操作原理。建立用R-Tree索引机制,建立查询数据和索引信息的关系,方便快速高效的查询,加快系统的检索速度。最后建立一个3DGIS原型系统。3.5本章小结本章简要介绍了基于GIS的油田社区信息系统整体的需求分析,包括系统要满足的要求;系统要实现的功能,包括2DGIS和3DGIS的部分功能;系统的目标要满足实用性和可操作性;本章是前期准备工作部分,从下一章开始是原型系统的开发设计章节。15万方数据 电子科技大学硕士学位论文第四章系统总体结构4.1系统设计架构从整体结构上看,油田社区信息系统主要包括三部分的内容:2DGIS、3DGIS和数据库部分。2DGIS部分是原型系统的基础,包括地图操作,二维查询分析,可视化编程VC、MapX和二维地图数据tab/gst/mif/dxf;3DGIS部分是系统的核心,负责将平面图形转化为三维模型,方便用户浏览、查询和分析,包括三维地形建模,三维建筑物建模,三维查询分析和几何纹理等;数据库部分是实现2DGIS和3DGIS互响应的前提,存储内容包括建筑物空间数据,建筑物属性数据和纹理数据。系统的总体设计结构如图4-1所示:胜利油田社区信息系统SLInfoSys互响应2DGIS部分3DGIS部分地图操作数据库三维地形建模二维查询分析建筑物空间数据三维建筑物建模三维查询分析建筑物属性数据可视化编程纹理数据几何纹理VC、MapX二维地图数据可视化编程tab、gst、mif、dxfVC、OpenGL图4-1SLInfoSys系统设计架构16万方数据 第四章系统总体设计4.2系统主要功能系统的主要功能分为两部分:(1)2DGIS部分功能支持多种数据文件;图形显示;查询分析;空间分析;2DGIS到3DGIS的互响应。(2)3DGIS部分功能数据读取与分析模块;三维模型建立模块;三维场景显示和浏览模块;三维场景管理模块;查询分析模块;三维场景互操作模块;3DGIS到2DGIS的互响应模块。系统功能结构如图4-2所示:胜利油田社区信息系统SLInfoSys2DGIS功能3DGIS功能据支图空二二三三三三三三数文持形间维维维维维维维维据件多显分查三查场场模模模输示析询维询景景型型型入种分互分互浏管显建数析响析操览理示立应作图4-2SLInfoSys功能结构4.2.12DGIS功能(1)支持多种数据文件:系统可以读取多种类型数据文件,如AutoCAD的dxf文件,MapInfo的tab文件等,然后会以电子地图的形式显示给用户。(2)图形显示:可以实现平面图形的放大、缩小及漫游,还可以进行图形的属性设置等。(3)查询分析:鼠标点击选择实体对象时,会显示被选中实体的相关属性信息;同时输入实体的属性信息,可以查询满足条件的所有实体对象,通过不同的颜色显示。(4)空间分析:可以对空间对象进行分析,并显示分析的结果,及相关的属17万方数据 电子科技大学硕士学位论文性信息。(5)2DGIS与3DGIS的互响应:通过互响应机制,2DGIS的平面对象可以在3DGIS中显示,增加三维信息,进行查询分析时,可以实现查询结果显示三维的可视化虚拟场景。4.2.23DGIS功能(1)数据读取与分析模块:系统的3DGIS部分可以读取和分析VRML格式的文件,然后将与三维模型建立有关的数据存储到数据库中,供模型建立模块使用。(2)模型建立模块:利用基于结构实体几何法和边界表示法的箱式分割数据模型,面向对象的数据组织方案,构建数据库,存储空间数据,最后通过OpenGL和虚拟场景实现三维模型。(3)场景显示和浏览模块:在显示模块中,通过将模型建立模块建立的三维模型显示在电脑屏幕上,并从数据库中检索模型的相关纹理、属性数据,利用图形编程接口OpenGL,实现三维场景的可视化。在浏览模块中,视图中的三维场景可以实现按比例的放大、缩小和旋转,可以保存当前的三维场景;还可以实现场景的查找功能,在对话框中输入三维坐标,查找相应的场景,在视图窗口中显示。(4)场景管理模块:对实体和体素信息进行管理,利用R-Tree空间索引机制,建立查询数据和索引信息的关系,方便快速高效的查询,加快系统的检索速度。可以建立场景,把相关的体素组成一个实体,或者把相关的实体组成一个群;也可以删除场景。(5)查询分析模块:鼠标点击选择三维场景中的实体对象时,会显示被选中实体的相关属性信息;同时输入实体的属性信息,可以查询满足条件的所有三维实体对象,通过不同的颜色显示。还可以查询空间实体的数据和位置信息,以及量测信息。(6)场景互操作模块:在场景中,鼠标点击空间实体对象时,可以获得实体的相关坐标信息,通过判断坐标落在哪个实体的的边界内,可以得到实体的ID,为后续的查询提供基础。(7)互响应模块:2DGIS和3DGIS的互响应机制可以使两者的优势得到发挥,2DGIS的平面对象可以在3DGIS中显示,可以实现查询结果以三维可视化虚拟场景的方式显示。在3DGIS中查询实体对象时,也可以在2DGIS中同时显示目标。18万方数据 第四章系统总体设计4.3GIS开发4.3.12DGIS开发地理信息系统包含的数据类型可以分为两类:空间数据和属性数据。系统中存储的信息是关于地理空间分布的数据的结合,系统的组成主要有四部分:信息获取与输入,信息的存储与管理,信息的转换与分析,结果的生成和输出。每个空间实体都有一个对应的地理编码,即空间数据,可以表示实体的对象的空间位置,例如一个城市的地理信息,河流的走向等。与空间实体相对应的是属性信息,10]即属性数据,如城市的名称,人口数量等[。因此,构建地理信息系统的体系结构需要有两个数据库来支持,即存放空间数据的“空间数据库”和存放属性数据的“属性数据库”。4.3.1.1二维数据的采集GIS系统的建立过程中不可缺少的一部分是数据采集,有多种方法实现,如点[9]坐标输入、跟踪数字化、屏幕扫描数字化和已有矢量数据格式的转换等。数据采集分为空间数据采集和属性数据采集。其中,对于空间数据的采集是通过特殊的数字化技术将信息转化为GIS系统可以存储、管理和分析的格式;而对于属性数据则是将和空间数据对应的属性信息输入到系统中的过程。属性数据的采集相对来说比较简单,输入方法比较容易,所以接下来主要对空间数据的采集方法进行描述。(1)点坐标输入通过点坐标输入是最基本的成图方式,它是通过将空间信息的坐标转化生成GIS系统可以读取的空间数据。当前,得到点坐标数据的方法来自于数字测图,而数字测图采用的一般方法是全站仪,直接将记录点的坐标及所表示的地物绘制成图。点坐标输入具有操作简便、精确度搞得的特点,可以满足GIS建设过程中对数据的要求。(2)跟踪数字化跟踪数字化是通过将普通的地图放置到数字化仪的电磁感应板上,然后利用特殊软件,输入普通地图的比例尺,输出空间要素的坐标。通过定义用户的位置坐标,手工确定空间数据的点、线、面三个要素,虽然可以保证一定的精确度,但是产生很大的工作量。(3)屏幕扫描数字化19万方数据 电子科技大学硕士学位论文扫描已有的纸质地图,形成栅格图像,利用特殊软件将栅格图像打开,进行误差校正,在经过数字投影,调整坐标系,最后将图像中的元素矢量化成点、线、[6]面三类空间元素。因为在扫描过程中难免会出现误差,另外在误差校正过程中,难免会引入新的误差,所以这种方法与点坐标输入相比精确度低;与跟踪数字化相比,虽减少了工作量,但是精确度要低。在前两种方法出现之前,扫描数字化是比较流行的方法。(4)矢量数据格式的转换在3DGIS技术出现之前,已经存在一定数量的已有格式的数据,因此在新系统建设过程中,可以将现有的数据通过一定的格式转换,形成可以输入到新系统的数据格式,减少资源的浪费。在油田社区信息化系统的开发过程中,已有的地图为石油大学平面图。通过一定格式的数据转换,并辅以全站仪补测发生变化或者丢失部分的数据,然后以数字的形式输入到系统中。对数字化后的地图进行编辑,处理,以达到系统的要求。空间数据的获取过程如图4-3所示:资料收集整理空间数据属性数据野外测量数据已有图形数据已有矢量数据已有数据库中搜集到的的属性数据属性数据屏点手扶跟踪屏幕扫描格式转换数字化数字化格式转换键盘键入检查、修改、编辑检查、修改、编辑图形与属性连接2DGIS系统图4-32DGIS中的数据采集20万方数据 第四章系统总体设计在MapInfo中,工作空间内保存了用户最近使用的地图图层以及相关的属性信息,方便用户继续使用相同的地图图层。在MApX中,继续沿用工作空间的概念,表示地图图层和属性设置的集合。在系统的开发过程中,开发者可以在MapX中打开系统需要用到的Tab表,然后转换成可以在MapX中使用工作空间文件。4.3.1.2二维数据管理在GIS中,空间要素可以表示为矢量数据模型和栅格数据模型。矢量数据模型是通过点和坐标来构建点、线、面三个要素;而栅格数据模型则是通过网格来表示空间要素的变化。不同的数据模型表示方式,决定了系统中不同的数据存储、处理和分析方式。GIS系统应具备矢量数据和栅格数据转换的能力。在电脑上,空间数据表现出来的是一幅由多个图层集合而成的地图,每个图层空间数据对应着一种数据类型。构成地图的所有图层必须是属于同一个坐标系统,这是GIS系统的一个基本原则,如果存在图层属于不同的坐标系统,图层间的数据就无法在空间上进行匹配。4.3.1.32DGIS模型应用程序ADO多种外部属性数据C#ID唯一MapX控件对应内部索引空间数据库唯一对应内部属性数据图4-42DGIS系统的模型结构本文采用C#编程语言,Access数据库,和MapX开发了一个2DGIS系统模型,主要实现了空间数据的管理、查询和分析功能。数据对于GIS系统是极其重要的,所以对数据的管理、查询和分析是地理信息系统应该具备的最基本的功能。开发的系统可以对数据进行可视化交互操作,包括地理信息的查询和分析。利用MapX可以实现系统的通用功能,如地理信息编码等。MapX可以访问自定义格式的数据以及存储在外部数据库中的数据。同理,在实际的应用程序中,借助MapX21万方数据 电子科技大学硕士学位论文可以访问数据库中的数据,并通过其特有的索引机制与可视化图形数据进行连接,方便开发面向用户的应用。系统模型的结构图如图4-4。4.3.23DGIS开发由于2DGIS的相关理论研究和相关技术已经完善,但是与其相比,3DGIS还处于起始阶段,面临很多问题。这是因为3DGIS要对现实世界的三维对象进行处理,分析,管理和决策。用3DGIS表示现实世界除了可以帮助查询者清晰,直观的获得所关心的信息,还可以动态的,交互的分析二维平面和垂直方向位置信息之间的关系。GIS系统的建立过程中不可缺少的一部分是数据采集,地理信息的三维化仍属[28]于GIS领域,因此3DGIS同样需要进行数据采集。3DGIS的特点是具有逼近现实的视觉效果,可以直观的表现现实中的对象。但是,建立系统的基础首先是需要选择合适的数据模型和数据存储方式。地理信息可视化三维模型如图4-5:地球科学信息科学空间科学计算机遥感摄影测量学可视化二维地理信息地理信息技术科学计算可视化地理信息可视化二维地理信息系三维显示技术地理信息三维可视化系统图4-5地理信息三维可视化系统的应用模型4.3.2.1三维数据获取建立3DGIS模型,首先要解决的是确定数据模型和数据存储方式,然后是数据的获取方式。当前,3DGIS的应用主要集中在城市规划方面。城市规划方面的而应用模型主要需要的数据是空间数据和真实影像数据(属性数据)。前面提到了22万方数据 第四章系统总体设计2DGIS的获取平面数据的方法,对于3DGIS的数据可以从平面数据进行矢量转换,但是2DGIS只包含二维信息,并没有三维方向上的数据信息,因此获取这些信息[17,18]成为3DGIS开发的一个难点。(1)3D电子地图构建3D电子地图所需要的数据可以采用以下方式获取,将建筑物表示成3D模型,非建筑物用2D表示,只考虑建筑物的空间数据,而建筑物的高度则按照2DGIS的层数计算,根据建筑物的的类型赋予合适的层高值;同时建筑物的纹理则是通过颜色属性数据代替或者通过矢量方式添加纹理。这种数据获取方式不仅可以达到降低数据获取成本,用最少量的数据表示较逼真的现实世界,又能达到快速浏览地图的目的。构建电子地图所采用的数据获取方式,基本上是利用已有2DGIS提供的数据,获取成本较低。(2)3D城市模型由于构建的3D城市模型需要具有浏览、分析和动画功能,因此需要获取对象的DEM数据,高度数据以及真实纹理数据,但是模型的主要功能是提供可视化,对数据精度的要求不高。为了控制构建成本,该模型的数据获取方式可以采用下面[35,38]几种方式:①首先对对象侧面纹理进行摄影,然后通过计算机软件处理生成合理的纹理数据。这种方式可以尽可能多的获取对象的不同纹理数据,成本较低,而且通过计算机处理的数据,可以去除摄影过程中杂物的干扰,如树木、其他遮挡物等的干扰。②DEM数据可以利用激光扫描仪获取。③对象高度数据可以通过已有的2DGIS中对象层数的数据与摄影获取的层数数据相结合的方式获取。④除建筑物之外的其他对象,如树木等,可以通过假定参数和模型符号的方式获取。(3)更高要求的3D城市模型具有操作和分析功能是对3DGIS模型提出的更高要求。这类模型需要提供逼真、值得信赖的结果,对数据的精度要求也比较高,因此,数据的获取可以采取以下方式:①通过对对象的侧面纹理进行摄影,然后通过计算机进行处理获得合适的纹理数据。获取方式和普通3DGIS模型中纹理数据的获取方式类似。②对象的高度数据可以通过摄影测量方式获得层数数据,然后人工方式获23万方数据 电子科技大学硕士学位论文取。③DEM数据要求精度较高,所以需要利用精确的手段获取,像航空摄影。④对于对象的3D数据,可以通过卫星影像获取。⑤除建筑物之外的其他对象的空间数据,如树木等,可以通过一些简单的实际测量工作获取GIS系统的建立过程中不可缺少的一部分是数据采集。合理的获取空间数据,对于构建3DGIS具有极其重要的作用。4.3.2.2三维模型对象相对来说,城市3DGIS系统模型比较简单,通过简化3DGIS模型的对象,可以更加方便的实现系统。因此,可以将城市3DGIS模型中的对象分为以下几类[19,25]:(1)点对象:用来描述现实中独立点状地物,如,电线杆、树木、通讯塔等。(2)线对象:用来描述线状地物,在二维空间中的线状对象称为二维线对象,在三维空间中的线状地物称为三维线对象。如,城市电力线、通讯线等基础设施。(3)面对象:用来描述贴地地物或空间中的实体。在二维空间中,面对象主要用来描述贴地地物,如湖泊等,而在三维空间中,面对象主要描述空间中的实体,如建筑物的墙面等。(4)体对象:用来描述空间中有形状的地物,如建筑物、汽车等。复杂的网状地物也可以用体对象来描述。(5)标记对象:用来描述其他对象的文字信息,如建筑物的名称,道路的名称等。(6)纹理对象:用来描述三维空间中面状地物的纹理信息,如建筑物的表面纹理等。(7)地形对象:用来描述城市的地形,包括各种规则的,不规则的网状模型或者混合模型。(8)地形影像对象:用来描述城市中的地面概貌图像,这些影像对象也是属于三维空间中面状对象的纹理对象,但是具有特殊的属性和数据结构,一般将其作为单独的对象。在建立3DGIS过程中,上述各种对象并不是相互独立的,通过相互结合才可以建立完善的系统。4.3.2.3箱式分割数据模型24万方数据 第四章系统总体设计空间数据模型是对现实世界的一种抽象,归类及简化的描述。二维空间数据模型是用来描述二维空间中对象的数据结构,操作方法及属性等内容的集合。三维空间数据模型是用来描述三维空间中的数据结构,操作方法及属性内容的集合。因此,定义一个三维数据模型需要考虑以下问题:描述的对象,数据存储结构和逻辑关系,以及如何表示模型。[6]目前,在GIS应用中,有三类数据模型:第一类是基于面对象的:在三维空间中,这类数据模型可以表示表面,如地形表面,底层表面等。第二类是基于体对象的:对于空间中体对象,如四面体、构造实体等都可以用这种数据模型表示。第三类是第一类和第二类的结合。第一类数据模型主要用来描述三维空间中表面,以及由面表示的空间实体目标。这类数据模型的优点是可以方便的进行数据更新和显示,缺点是空间分析比较困难。而第二类数据模型主要用来描述空间中实体,如建筑物等,有点是可以方便的进行空间数据分析,但缺点是数据存储需要大量空间,操作运行速度相对较慢。现在,大部分的3DGIS数据模型都提供数据显示和操作的功能,但是这与3DGIS要求有很大的距离。3DGIS中,要求具备对数据进行分析的功能。要实现空间数据分析功能,选择合适的数据结构成为非常重要的前提。目前流行的两种数据结构:结构实体几何法和边界表示法。两种方法各有利弊。两种方法结合使用可以一定程度上避免各自的弊端。[20]实现了两者的结合,提出了“分层组合模型”,可以方便的查询对象的层次信息;[21]提出了基于边界表示法的分体组合模型,将查询扩展到建筑物实体的一部分。[22]提出了箱式分割数据模型,将查询扩展到建筑物的每一层。因此,为了能够利用2DGIS模型和数据结构,本文基于两种方法的结合,设计了基于上述结构实体法和边界表示法的箱式分割数据模型。我们可以把建筑物实体根据功能和形状将其划分为一些简单的实体,这些简单的实体成为体素。每个体素可以通过基本实体,如圆、球、长方体等来表示,亦可以通过边界表示法来表示,最后将这些体素结合,组成一个完整的建筑物实体。如图4-6,根据实体的形状将其分为三个体素。对建筑物实体进行划分后得到的体素,并不是与查询的信息一一对应。在图4-6中,可以进一步对体素进行分割,划分为网格。网格化时,可以根据建筑物的高度,层数和单元数划分。第三个体素含有三层、三个单元的简单实体,可以进一步划分为十八个长方体。通过建立R-Tree空间索引机制,可以快速方便的进行三25万方数据 电子科技大学硕士学位论文维空间信息的查询和检索操作.123图4-6箱式分割模型4.3.2.4面向对象数据模型面向对象数据模型的基本思想是,划分问题领域,通过接近人类的思维方式重新建立问题领域模型,从而达到客观的模拟实体的结构和行为。这种概念来源[26,27]于面向对象的程序设计语言。面向对象的数据模型允许用户自定义各种数据[34,36]类型,即便是复杂的语义,可以模拟真实世界的静态和动态特征。面向对象的数据模型可以提供一些与对象类型相关联的操作。所以,这种数据模型更加适合GIS中数据结构的组织。3DGIS系统采用箱式分割数据模型,按照面向对象的数据结构组织方式和油田社区可视化的需求,构建了三维信息查询系统,该系统设计使用的数据组织结构方式如下:(1)点类:构造点对象的抽象类,用来描述点或地物的三维坐标。在点抽象类主要属性有三维点坐标,点的法向量和点的颜色等。在建立三维模型之前,可以将地物等实体做出标准的模型,这样在使用的时候就可以直接调用,节省时间。点类的数据结构:classNNode3D:publicCObject3D{floatn_Coord[3];//点的三维坐标NVector3Dn_Vector;//点的向量NColorn_color;//点的纹理}(3)线类:构造线对象的抽象类。线对象是有起点和终点构成,所以在类中要表现出起点和终点,由于3维坐标是有三个方向的数据组成,所以还要表现出三维方向的数据。当表现二维线对象时,三维方向上的数据为0。所以线类的构造如下:26万方数据 第四章系统总体设计classNEdge3D:publicCObject3D{NNode3D*n_start;//线对象的起点NNode3D*n_end;//线对象的终点NFace3D*n_face1;//线对象构成的面NFace3D*n_face2;}(3)面类:构造面对象的抽象类。主要用来描述三维空间中的实体对象。由于可以根据OpenGL可以直接绘制多边形,所以在程序的设计中,我们采用的构造数据结构如下:classNFace3D:publicCObject3D{NNode3D*n_V[];//面的各点坐标NFace3D*n_face[];//面的邻接面NVectorn_Vector;//面的向量NColorn_Color;//面的纹理}使用上述数据模型结构存储数据坐标时,需要遵从一定的顺序进行数据采集,[28,29]这是因为通过OpenGL提供的绘图方式绘制的面分正反面。另外根据油田社区的特点,可以将面类分为两种:①三角形面类:这类面对象抽象类主要用来描述不规则的多边形构成的实体,如建筑物的屋顶,不规则的地形地貌等。从理论上见,通过三角形可以表示任何形状的表面。由于三角形面类的构造能力较强,可以描述各种平面形体的面对象,所以,这些不规则实体基本上都可以通过三角形面类来描述。另外,三角形面类结构整齐,可以比较容易的实现拓扑关系,例如,构造节点的指针指向其相邻节点。②四边形面类:这类面对象抽象类主要用来描述矩形实体,如平面墙体。矩形实体主要是由对象的外围边界组成。该抽象类中包含的内容主要是边界坐标的信息。(4)面集合类:在3D数据模型中,大部分的实体对象具有规则有序的纹理结构,可以将这些相同纹理结构的面集合成一个特殊的类。建筑物的每一个面都有与之相对应的纹理结构。所以为了提高数据库空间的利用率,可以将具有相同的纹理的面对象,重新组织成一个新的对象,并且将新对象和对应的纹理结构信息存储到数据库中。当可视化三维对象时,可以直接调用数据库中的纹理结构信27万方数据 电子科技大学硕士学位论文息。面集合类的数据结构如下:classFaceCom3D:publicCObject3D{Array3D
此文档下载收益归作者所有