基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf

基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf

ID:34535938

大?。?.58 MB

頁數(shù):81頁

時間:2019-03-07

上傳者:文檔小小白
基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf_第1頁
基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf_第2頁
基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf_第3頁
基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf_第4頁
基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf_第5頁
資源描述:

《基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn).pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

論文題目基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn)專業(yè)學(xué)位類別工程碩士學(xué)號200991231725作者姓名任向東指導(dǎo)教師于永斌副教授萬方數(shù)據(jù) 分類號密級注1UDC學(xué)位論文基于GIS的油田社區(qū)信息系統(tǒng)的設(shè)計與實現(xiàn)(題名和副題名)任向東(作者姓名)指導(dǎo)教師于永斌副教授電子科技大學(xué)成都牟忠信高工中石化集團(tuán)公司勝利石油管理局東營(姓名、職稱、單位名稱)申請學(xué)位級別碩士專業(yè)學(xué)位類別工程碩士工程領(lǐng)域名稱軟件工程提交論文日期2013.3.25論文答辯日期2013.5.18學(xué)位授予單位和日期電子科技大學(xué)2013年6月23日答辯委員會主席評閱人注1:注明《國際十進(jìn)分類法UDC》的類號。萬方數(shù)據(jù) BASEDONTHEGISINFORMATIONSYSTEMDESIGNANDIMPLEMENTATIONOFOILFIELDCOMMUNITYAMasterThesisSubmittedtoUniversityofElectronicScienceandTechnologyofChinaMajor:SoftwareEngineeringAuthor:RenXiangdongAdvisor:YuYongbinSchool:SchoolofInformationandSoftwareEngineering萬方數(shù)據(jù) 獨(dú)創(chuàng)性聲明本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得電子科技大學(xué)或其它教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示謝意。作者簽名:日期:年月日論文使用授權(quán)本學(xué)位論文作者完全了解電子科技大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,有權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤,允許論文被查閱和借閱。本人授權(quán)電子科技大學(xué)可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編學(xué)位論文。(保密的學(xué)位論文在解密后應(yīng)遵守此規(guī)定)作者簽名:導(dǎo)師簽名:日期:年月日萬方數(shù)據(jù) 摘要摘要目前城市地理信息,如與建筑物相關(guān)的數(shù)據(jù)大部分是以二維的形式存儲。地理信息系統(tǒng)的軟件也是在二維數(shù)據(jù)上進(jìn)行操作,諸如查詢,修改和更新等。二維數(shù)據(jù)表示地理信息限制了2DGIS的發(fā)展,對一些需要三維表示的數(shù)據(jù),2DGIS不能很好地滿足要求。用3DGIS表示現(xiàn)實世界除了可以幫助查詢者清晰,直觀的獲得所關(guān)心的信息,還可以動態(tài)的,交互的分析二維平面和垂直方向位置信息之間的關(guān)系。盡管3DGIS的應(yīng)用有很大的優(yōu)勢,但是由于視野的局限性,用戶在瀏覽查詢得到的三維信息時,就容易產(chǎn)生錯覺,不能很好的分析三維信息,因此需要實現(xiàn)2DGIS和3DGIS的一體化,即實現(xiàn)2DGIS與3DGIS的結(jié)合,查詢?nèi)S信息需要在3DGIS中實現(xiàn),而查詢和分析二維信息則需要在2DGIS中實現(xiàn)。本論文開發(fā)了基于GIS的油田社區(qū)信息系統(tǒng),實現(xiàn)了主要的功能,主要包括2DGIS的基本功能,3DGIS的三維空間信息查詢、漫游、分析功能,以及2DGIS和3DGIS互響應(yīng)功能。設(shè)計開發(fā)了一個基于GIS的油田社區(qū)信息系統(tǒng)的原型系統(tǒng)-SLInfoSys(ShenLiYouTianInforSystem)。本文的主要工作概括如下:(1)2DGIS系統(tǒng)的建立實現(xiàn)了2DGIS的基本功能,包括支持多種數(shù)據(jù)文件;圖形顯示;查詢分析;空間分析;2DGIS到3DGIS的互響應(yīng)等。(2)研究了三維模型的建立過程三維模型的建立包括模型數(shù)據(jù)的獲取,模型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的選取等。3DGIS采用基于結(jié)構(gòu)實體幾何法和邊界表示法的箱式分割數(shù)據(jù)結(jié)構(gòu),并以此為基礎(chǔ)實現(xiàn)相應(yīng)的數(shù)據(jù)模型的設(shè)計。(3)三維模型可視化的設(shè)計通過VRML中間數(shù)據(jù)格式,對數(shù)據(jù)進(jìn)行進(jìn)行分析,處理,然后將空間數(shù)據(jù)和屬性數(shù)據(jù)存儲到數(shù)據(jù)庫中。在圖形顯示或查詢分析時,直接從數(shù)據(jù)庫中讀取相應(yīng)的空間數(shù)據(jù),重構(gòu)三維虛擬場景,實現(xiàn)三維數(shù)據(jù)的可視化。(4)交互操作的實現(xiàn)系統(tǒng)提供了三種基本的交互操作:用戶與2DGIS的交互;用戶與3DGIS的交互;2DGIS和3DGIS的交互。對互響應(yīng)原理做了一定程度的研究。關(guān)鍵詞:社區(qū)規(guī)劃,二維信息,3DGIS,三維信息,互響應(yīng)I萬方數(shù)據(jù) 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萬方數(shù)據(jù) ABSTRACTappropriatestoragestructureanddatabaseimplementation.(3)Thedesignof3DmodelvisualizationThreedimensionalmodelscalledtheexistingVRML,implementingdatareading,separation,andultimatelystoringthedatainthedatabase.Whenneedtoredrawthreedimensionalvirtualscenes,systemjustreadrelateddataformdatabase.(4)MutualInteratcionSystemAchievementofthebasicuserinteractionbetweentheuserandGISsystemsuchasselect,query,andanalysis,theinteractionbetween2DGISand3DGIS,andmadesomediscussionofmechanismofmutualinteraction.KeyWords:CityPlan,TwoDimensionInformation,ThreeDimensionInformation,MutualResponseIII萬方數(shù)據(jù) 目錄目錄第一章緒論..................................................................................................................11.1課題背景及意義................................................................................................11.2研究現(xiàn)狀............................................................................................................21.2.1國外研究現(xiàn)狀........................................................................................21.2.2國內(nèi)研究現(xiàn)狀........................................................................................21.2.3存在的問題............................................................................................31.3論文的主要工作................................................................................................41.4本文章節(jié)安排....................................................................................................5第二章相關(guān)技術(shù)介紹....................................................................................................72.12DGIS相關(guān)概念...............................................................................................72.2MAPX組件.........................................................................................................82.33DGIS相關(guān)概念................................................................................................92.4圖形編程接口OPENGL...................................................................................112.5本章小結(jié)..........................................................................................................12第三章需求分析..........................................................................................................133.1系統(tǒng)開發(fā)環(huán)境..................................................................................................133.2系統(tǒng)需求分析..................................................................................................143.3功能分析..........................................................................................................143.4性能目標(biāo)..........................................................................................................153.5本章小結(jié)..........................................................................................................15第四章系統(tǒng)總體結(jié)構(gòu)..................................................................................................164.1系統(tǒng)設(shè)計架構(gòu)..................................................................................................164.2系統(tǒng)主要功能..................................................................................................174.2.12DGIS功能...........................................................................................174.2.23DGIS功能...........................................................................................184.3GIS開發(fā)...........................................................................................................19IV萬方數(shù)據(jù) 目錄4.3.12DGIS開發(fā)...........................................................................................194.3.23DGIS開發(fā)...........................................................................................224.4場景可視化......................................................................................................334.4.1建模方法..............................................................................................344.4.2數(shù)據(jù)處理..............................................................................................344.4.3模型顯示..............................................................................................384.5本章小結(jié)..........................................................................................................38第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)......................................................................................405.1用戶和2DGIS的交互....................................................................................405.1.1地圖的顯示..........................................................................................405.1.2地圖的編輯..........................................................................................405.1.3信息的查詢..........................................................................................415.1.4數(shù)據(jù)的分析..........................................................................................425.2用戶和3DGIS的交互....................................................................................435.2.1場景漫游..............................................................................................435.2.2場景中點(diǎn)的定位..................................................................................445.3數(shù)據(jù)索引及信息查詢......................................................................................465.3.1數(shù)據(jù)索引方法......................................................................................465.3.2數(shù)據(jù)索引建立......................................................................................475.3.3空間信息的查詢..................................................................................485.42DGIS與3DGIS的交互.................................................................................525.4.1基本原理..............................................................................................525.4.2表現(xiàn)形式..............................................................................................525.5系統(tǒng)實現(xiàn)..........................................................................................................535.5.1空間信息查詢......................................................................................535.5.2互響應(yīng)的實現(xiàn)......................................................................................575.5.3系統(tǒng)特色..............................................................................................605.5本章小結(jié)..........................................................................................................60第六章系統(tǒng)測試..........................................................................................................616.1系統(tǒng)測試..........................................................................................................61V萬方數(shù)據(jù) 目錄6.1.1測試方法..............................................................................................616.1.2測試結(jié)果..............................................................................................616.2本章小結(jié)..........................................................................................................62第七章總結(jié)與展望......................................................................................................63致謝................................................................................................................................64參考文獻(xiàn)........................................................................................................................65VI萬方數(shù)據(jù) 第一章緒論第一章緒論1.1課題背景及意義目前城市地理信息,如與建筑物相關(guān)的數(shù)據(jù)大部分是以二維的形式存儲。地理信息系統(tǒng)的軟件也是在二維數(shù)據(jù)上進(jìn)行操作,諸如查詢,修改和更新等。二維數(shù)據(jù)表示地理信息限制了2DGIS的發(fā)展,對一些需要三維表示的數(shù)據(jù),2DGIS不能很好地滿足要求?,F(xiàn)在對三維數(shù)據(jù)存儲呈現(xiàn)出越來越高的需求,像油田社區(qū)的規(guī)劃就需要分析大量的三維數(shù)據(jù)信息。所以我們需要開發(fā)針對三維數(shù)據(jù)的3DGIS。除此之外,因為2DGIS試圖將現(xiàn)實世界中的事物用二維平面來表示,這就導(dǎo)致了第三維的位置,拓?fù)浜驼Z義信息的缺失,所以2DGIS不能完全表現(xiàn)自然界本原的現(xiàn)[1]象。這種試圖將現(xiàn)實世界用二維平面來表示也會造成查詢者不能直觀的的得到想要的結(jié)果。用3DGIS表示現(xiàn)實世界除了可以幫助查詢者清晰,直觀的獲得所關(guān)心的信息,還可以動態(tài)的,交互的分析二維平面和垂直方向位置信息之間的關(guān)系。這種優(yōu)勢使得3DGIS應(yīng)用在很多現(xiàn)實生活中的方面得到發(fā)展,像城市設(shè)計與規(guī)劃,地形測[4]繪和城市交通等。盡管3DGIS的應(yīng)用有很大的優(yōu)勢,但是其用戶使用起來容易產(chǎn)生迷失感。由于視野的局限性,用戶在瀏覽查詢得到的三維信息時,就容易產(chǎn)生[2]錯覺,造成不能從整體上分析結(jié)果。為了解決上述問題,比較流行的做法是實現(xiàn)2DGIS與3DGIS的一體化,即實現(xiàn)2DGIS與3DGIS的結(jié)合,查詢?nèi)S信息需要在3DGIS中實現(xiàn),而查詢二維信息和分析則需要在2DGIS中實現(xiàn)。這樣既可以實現(xiàn)2DGIS的放大性,唯一性,定位性和整體性的優(yōu)勢,又可以實現(xiàn)3DGIS逼近現(xiàn)實的視覺效果,以及交互性,動態(tài)性,直觀性等的特點(diǎn)。2DGIS和3DGIS的結(jié)合,可以發(fā)揮兩者的優(yōu)勢,克服彼此的缺點(diǎn),更好的滿足地理信息系統(tǒng)的需求。在實際應(yīng)用中,兩種方法進(jìn)行交替操作,共同實現(xiàn)目標(biāo),而不是單一的操作,當(dāng)需要三維數(shù)據(jù)處理時,需要3DGIS的參與;當(dāng)需要進(jìn)行二維顯示和分析時,需要在2DGIS中進(jìn)行。設(shè)計開發(fā)基于GIS的油田社區(qū)信息系統(tǒng),結(jié)合社區(qū)2DGIS和3DGIS的優(yōu)勢,有效的克服彼此的缺點(diǎn),可以方便而快捷的提供給決策者關(guān)于區(qū)域建設(shè),方案甄選等方面的空間數(shù)據(jù)信息。在本文中,首先簡單描述了GIS開發(fā)的理論方法,涉1萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文及的技術(shù)原理,然后設(shè)計實現(xiàn)了系統(tǒng)主要的功能,包括2DGIS的基本功能,3DGIS的三維空間信息查詢、漫游、分析功能,以及2DGIS和3DGIS互響應(yīng)功能。1.2研究現(xiàn)狀90年代以來,由于相關(guān)理論和技術(shù)的發(fā)展完善,GIS在全球得到了較快的發(fā)展。GIS是一個注重應(yīng)用的學(xué)科。在理論方面,2DGIS的理論研究已基本成熟,現(xiàn)在主要向應(yīng)用方面發(fā)展,而3DGIS處于起步階段,大部分學(xué)者聚焦于此,但是建立一個[8]3DGIS平臺還存在困難。下面簡述一下國內(nèi)外的研究動態(tài)。1.2.1國外研究現(xiàn)狀國外有很多的大學(xué)和研究機(jī)構(gòu)都專注于DGIS的開發(fā)和應(yīng)用,目前世界上常用[3]的GIS應(yīng)用軟件已經(jīng)超過400種。國外比較有名的GIS軟件有:Arc/info,MapInfo,Intergraph,Micorstation等,除此之外,還包括在Web環(huán)境下矢量地圖的標(biāo)準(zhǔn),如XML和GML等。3DGIS在景觀模型和三維仿真等方面也得到了發(fā)展,如今可以構(gòu)造非常逼真的建筑物三維模型;3DGIS系統(tǒng)的開發(fā)在獲取影像,定位,和查詢方面以及交互式三維模型的建立方面也得到了關(guān)注。在美國及一些發(fā)達(dá)國家,GIS已經(jīng)應(yīng)用到環(huán)境保護(hù),城市管理規(guī)劃,災(zāi)害預(yù)測等眾多的領(lǐng)域,而我國GIS的應(yīng)用還有不足。1.2.2國內(nèi)研究現(xiàn)狀在國內(nèi),人們也已經(jīng)開始關(guān)注3DGIS的開發(fā)研究。國內(nèi)很多的大學(xué),研究單位和公司都在理論研究和應(yīng)用開發(fā)3DGIS的各方面做出了大量的努力。這些研究和開發(fā)主要聚焦在如何獲取三維數(shù)據(jù),建立三維模型以及如何建立數(shù)據(jù)結(jié)構(gòu)用來存儲三維數(shù)據(jù)。有些高校和研究機(jī)構(gòu)從底層開始,基于理論研究成果,開發(fā)了一些產(chǎn)品,同時也有部分的高校和研究機(jī)構(gòu)基于國外成熟的三維技術(shù)進(jìn)行開發(fā),像南京大學(xué)地理信息實驗室就是基于美國的VegaAPI實現(xiàn)三維虛擬場景的開發(fā)。國內(nèi)在3DGIS理論研究和應(yīng)用方面起步較晚,還沒有形成理論體系,相應(yīng)的應(yīng)用也處于基礎(chǔ)階段。國外對2DGIS和3DGIS的結(jié)合的研究有了一定的進(jìn)步,如美國非常著名的三維仿真軟件Vega在2001年,設(shè)計出了一款三維產(chǎn)品:SitBuilder3D,實現(xiàn)了三維仿真產(chǎn)品和GIS相結(jié)合,以及2DGIS和3DGIS(三維虛擬場景)相結(jié)合的產(chǎn)品。由于起步較晚,國內(nèi)還沒有一款成型的平臺供用戶使用,但是一些高校和研2萬方數(shù)據(jù) 第一章緒論究機(jī)構(gòu)試圖開發(fā)類似的系統(tǒng),如武漢大學(xué)的朱慶教授基于JAVA開發(fā)了一款Web[16]瀏覽器插件CCGIS,對城市三維模型的建立做了詳細(xì)的研究。同時,中科院也在城市和地球3DGIS方面進(jìn)行了相關(guān)的理論研究。一些公司也推出了一些類似的系統(tǒng),如適普軟件有限公司設(shè)計了一款三維可視化GISIMAGIS,在模型可視化方面具有優(yōu)勢。國內(nèi)一些研究學(xué)者和科研院所也在各自的研究和應(yīng)用領(lǐng)域設(shè)計完成了各種各樣的GIS原型系統(tǒng)。如,黃健熙、毋河海通過對2D電子地圖和3D虛擬場景互響應(yīng)原理的研究,開發(fā)了一款基于3D實時驅(qū)動函數(shù)Vega的2D和3D相結(jié)合的原型[12]系統(tǒng)。王磊,周云軒從GIS的實際應(yīng)用出發(fā),通過分析相關(guān)理論研究技術(shù),總結(jié)出2DGIS和3DGIS交互查詢數(shù)據(jù)的方法,并依據(jù)用此方法建立了一款原型系統(tǒng),[13]應(yīng)用在了實際領(lǐng)域當(dāng)中。龔建華、林琿采用C/S架構(gòu),基于HTTP協(xié)議,采用[14]JAVA相關(guān)技術(shù)設(shè)計開發(fā)了一款基于Internet的虛擬校園環(huán)境的原型系統(tǒng)。吳道軍、黃健熙通過對相關(guān)技術(shù)的研究,提出了一套針對WebGIS的3D信息查詢解決[15]方案??偠灾?,到目前為止,世界上還沒有一款成熟的3DGIS系統(tǒng)?,F(xiàn)在大多數(shù)的研究主要關(guān)注于3D可視化,并沒有提供工具對空間信息進(jìn)行查詢和分析。雖然國外部分研究機(jī)構(gòu)開發(fā)完成了2DGIS和3D虛擬場景相結(jié)合的系統(tǒng),但是這種系統(tǒng)不具備空間信息查詢的功能,也沒有真正實現(xiàn)二維信息和三維信息的互響應(yīng)機(jī)制。1.2.3存在的問題現(xiàn)在,2DGIS的理論研究已基本成熟,現(xiàn)在主要向應(yīng)用方面發(fā)展,而3DGIS處于起步階段,很多難題需要解決。建立一套3DGIS的應(yīng)用平臺還相當(dāng)?shù)睦щy。這是因為3DGIS要對現(xiàn)實世界的三維對象進(jìn)行處理,分析,管理和決策。用三維數(shù)據(jù)表示地理信息,與二維相比,增加的不僅是數(shù)據(jù)量,還包括對象類型和空間之間的重要關(guān)系。所以,3DGIS不是對2DGIS的一般擴(kuò)展,而是加入將垂直方向的三維信息,并且實現(xiàn)空間數(shù)據(jù)的三維可視化。對3DGIS涉及到的原理和技術(shù)的研究需要考慮很多方面。很多的研究學(xué)者以不同的關(guān)注點(diǎn)總結(jié)了3DGIS所需要解決的問題。[7](1)3DGIS對2DGIS的依賴性。盡管3DGIS在可視化和操作分析功能上有其獨(dú)立性,但是對數(shù)據(jù)的管理,查詢操作和分析都是通過2DGIS完成的。所以3DGIS與2DGIS是兼容一起的,不能將其分割獨(dú)立開來進(jìn)行研究。所以3DGIS與2DGIS是共存關(guān)系,并不能取代現(xiàn)有的2DGIS。3萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文(2)開發(fā)的3DGIS系統(tǒng)應(yīng)該具有將二維數(shù)據(jù)轉(zhuǎn)換為三維數(shù)據(jù)的能力。由于目前應(yīng)用廣泛的2DGIS系統(tǒng),操作的數(shù)據(jù)都是以二維的形式進(jìn)行存儲地理信息數(shù)據(jù)的,所以3DGIS系統(tǒng)應(yīng)該能夠通過較小的編輯,將這些二維數(shù)據(jù)轉(zhuǎn)換為三維數(shù)據(jù)。(3)開發(fā)GIS系統(tǒng)平臺,應(yīng)該著重于開發(fā)二維平臺為主,開發(fā)三維平臺為輔的目標(biāo),其中原因如下:在需求上,2DGIS應(yīng)經(jīng)能夠滿足大部分的需求,而3DGIS只是滿足補(bǔ)充垂直方向第三維的信息,是對2DGIS的擴(kuò)展,所以對3DGIS的需求與2DGIS的需求相比只是占很少的一部分。在技術(shù)上,建設(shè)3DGIS系統(tǒng)的費(fèi)用較高,如果從數(shù)據(jù)存儲到三維數(shù)據(jù)的空間分析和可視化都采用3DGIS,花費(fèi)會比較高,所以在2DGIS能夠滿足大部分需要的情況下,沒有必要完全建設(shè)3DGIS而達(dá)到高性能的目的,而是實現(xiàn)2DGIS和3DGIS的結(jié)合。(4)雖然三維空間分析是3DGIS的特點(diǎn),但是在數(shù)據(jù)結(jié)構(gòu)上3DGIS要以邊界表示為主,不一定要進(jìn)行三維空間信息的分析,對3DGIS應(yīng)該以三維可視化和三維數(shù)據(jù)管理為主。而在3DGIS系統(tǒng)中要以矢量表示數(shù)據(jù),對3DGIS的應(yīng)用研究應(yīng)該以城市環(huán)境的規(guī)劃和建設(shè)為主,對于不同的領(lǐng)域需要建立不同的數(shù)據(jù)模型。(5)對于3DGIS的應(yīng)用,需要開發(fā)專門的數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)和空間信息分析的算法結(jié)構(gòu);對3DGIS的開發(fā)要以構(gòu)件的方式建立可視化分析界面和數(shù)據(jù)分析功能。1.3論文的主要工作本文首先分析了地理信息系統(tǒng)的研究現(xiàn)狀,然后對建立GIS系統(tǒng)涉及到的相關(guān)理論技術(shù)進(jìn)行描述,并對用到的關(guān)鍵技術(shù)2DGIS和3DGIS互響應(yīng)機(jī)制進(jìn)行的詳細(xì)闡述,2DGIS和3DGIS的信息查詢方法進(jìn)行了比較,著重3DGIS空間信息的查詢。具體內(nèi)容如下:(1)分析建立2DGIS系統(tǒng)。通過對MapInfo公司的MapX組件的分析,利用.NET環(huán)境下的C#語言利用MapX控件進(jìn)行二次開發(fā),建立2DGIS系統(tǒng)。實現(xiàn)基本功能,如支持多種數(shù)據(jù)文件,二維圖形顯示,信息查詢和分析,2DGIS和3DGIS的互響應(yīng)等(2)獲取三維數(shù)據(jù)。對3DGIS中需要的數(shù)據(jù)類型,存儲方式,以及獲取方式進(jìn)行分析。經(jīng)過分析各種存儲三維數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的分析,總結(jié)出了一種箱式分割數(shù)據(jù)結(jié)構(gòu),利用該數(shù)據(jù)結(jié)構(gòu),構(gòu)建空間數(shù)據(jù)的存儲結(jié)構(gòu)和數(shù)據(jù)庫的實現(xiàn),并最終實現(xiàn)三維數(shù)據(jù)的可視化表示。在建立油田社區(qū)信息系統(tǒng)時,通過VRML中間數(shù)4萬方數(shù)據(jù) 第一章緒論據(jù)格式,對數(shù)據(jù)進(jìn)行進(jìn)行分析,處理,然后將空間數(shù)據(jù)和屬性數(shù)據(jù)存儲到數(shù)據(jù)庫中。在圖形顯示或查詢分析時,直接從數(shù)據(jù)庫中讀取相應(yīng)的空間數(shù)據(jù),重構(gòu)三維虛擬場景。(3)建立R-Tree空間索引機(jī)制,可以快速方便的進(jìn)行三維空間信息的查詢和檢索操作。(4)實現(xiàn)用戶和系統(tǒng)的交互。GIS系統(tǒng)要求能夠?qū)崿F(xiàn)和用戶的交互式操作,如用戶查詢選擇和系統(tǒng)的展示功能,通過對2DGIS和3DGIS交互原理的研究,建立一個“基于GIS的油田社區(qū)信息系統(tǒng)”的原型系統(tǒng)—SLInfoSys本文基于三維圖形庫OpenGL,在.NET環(huán)境下,利用C#語言對MapX空間進(jìn)行二次開發(fā),并運(yùn)用面向?qū)ο箝_發(fā)理論技術(shù),設(shè)計了一個原型系統(tǒng)。該系統(tǒng)實現(xiàn)了2DGIS系統(tǒng)要求的一些基本功能,如地圖二維查詢和展示操作,定位特定的目標(biāo),并對數(shù)據(jù)屬性信息進(jìn)行可視化分析等。充分利用了2DGIS和3DGIS互響應(yīng)機(jī)制。通過應(yīng)用該系統(tǒng),發(fā)現(xiàn)系統(tǒng)有一定的實用性,對3DGIS理論研究和相關(guān)技術(shù)開發(fā)方面作出一定的貢獻(xiàn)。1.4本文章節(jié)安排論文共分六章,研究內(nèi)容按下列章節(jié)組織:第一章為緒論。簡要介紹了建立基于GIS的油田信息系統(tǒng)的背景和意義,就目前的研究現(xiàn)狀進(jìn)行了分析,并指出GIS當(dāng)前面臨的問題,確定了論文的研究目標(biāo)、研究內(nèi)容與方法。第二章詳細(xì)介紹了開發(fā)基于GIS的油田信息系統(tǒng)所需要的相關(guān)技術(shù),主要有三維圖形庫OpenGL、二次開發(fā)組件MapX和.NET環(huán)境下C#語言,并指出了社區(qū)GIS開發(fā)的基本理論與方法。第三章為需求分析,介紹了系統(tǒng)開發(fā)的環(huán)境要求,系統(tǒng)需求,功能分析和系統(tǒng)目標(biāo)等。第四章是系統(tǒng)總體設(shè)計部分,對系統(tǒng)的總體設(shè)計進(jìn)行了介紹,主要有三大部分,第一部分為簡述系統(tǒng)設(shè)計圖,第二部分為簡述GIS開發(fā)的方法和步驟,第三部分講述建立可視化虛擬場景的方法,通過對VRML數(shù)據(jù)的讀取分析和存儲到數(shù)據(jù)庫中,然后讀入數(shù)據(jù)到模型中重新繪制三維數(shù)據(jù)模型。第五章是系統(tǒng)的詳細(xì)設(shè)計部分,介紹了系統(tǒng)的模塊劃分及各部分的詳細(xì)功能,社區(qū)信息二維與三維的交互處理,社區(qū)2DGIS與3DGIS互響應(yīng)機(jī)制,建立R-Tree空間索引機(jī)制,可以快速方便的進(jìn)行三維空間信息的查詢和檢索操作。5萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文第六章為系統(tǒng)的實現(xiàn)部分。主要簡述了系統(tǒng)主要模塊的實現(xiàn),包括空間三維數(shù)據(jù)查詢和2DGIS與3DGIS互響應(yīng)機(jī)制的實現(xiàn)。第七章是本文的總結(jié)和展望,主要講述了本文取得的成果以及對以后研究方向的一些期望。6萬方數(shù)據(jù) 第二章相關(guān)技術(shù)介紹第二章相關(guān)技術(shù)介紹2DGIS與3DGIS互結(jié)合技術(shù)的研究成為世界各國在GIS技術(shù)方面主要的研究內(nèi)容。GIS是分析和處理空間數(shù)據(jù),響應(yīng)用戶查詢要求的空間信息處理技術(shù),可以方便而快捷的提供給決策者關(guān)于區(qū)域建設(shè),方案甄選等方面的空間數(shù)據(jù)信息。隨著圖形和虛擬技術(shù)的發(fā)展,3DGIS成為彌補(bǔ)2DGIS在三維空間數(shù)據(jù)丟失的問題,成為人們研究的新的熱點(diǎn)。無論是圖形學(xué)技術(shù)還是虛擬現(xiàn)實技術(shù)的發(fā)展,都使3DGIS能夠多維,交互,逼真的表現(xiàn)地理信息,有助于建立油田社區(qū)地理信息系統(tǒng)。2.12DGIS相關(guān)概念GIS按照內(nèi)容可以分為兩類:(1)實用型:這類GIS有具體的應(yīng)用目標(biāo),根據(jù)特定的服務(wù)需要而開發(fā)的系統(tǒng),一般為管理決策服務(wù)。實用型GIS又被稱為應(yīng)用性或面向服務(wù)的地理信息系統(tǒng)。(2)工具型GIS:這類GIS一般沒有特定的應(yīng)用目標(biāo),提供建立應(yīng)用型GIS所需的工具軟件包,是一種系統(tǒng)支持軟件。這類GIS適應(yīng)于各種硬件平臺,可以高效的管理和分析空間數(shù)據(jù),具有易于擴(kuò)展的特性。與應(yīng)用性GIS不同,這類GIS又被成為面向管理的GIS。隨著GIS技術(shù)的發(fā)展,其應(yīng)用范圍不斷擴(kuò)大,開發(fā)GIS的工作顯得非常重要。GIS開發(fā)方式有三類:(1)獨(dú)立開發(fā)。這類方式開發(fā)的是屬于工具型的GIS,具有獨(dú)立的數(shù)據(jù)結(jié)構(gòu)和存儲結(jié)構(gòu),不需要調(diào)用GIS工具包,可以利用各種編程語言,如C#,JAVA等。(2)二次開發(fā)利用工具型GIS提供的工具包和二次開發(fā)語言,例如MapBasic,Avennue等,在原有GIS系統(tǒng)基礎(chǔ)上進(jìn)行二次開發(fā),根據(jù)不同的需求開發(fā)出適用于特定服務(wù)的應(yīng)用型GIS。(3)集成二次開發(fā)這類開發(fā)集成專業(yè)GIS工具軟件和可視化的開發(fā)工具,如C#,VB,PB等。7萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文開發(fā)應(yīng)用型GIS兩種方式:OLD/DDE開發(fā):利用OLE(ObjectLinkingandEmbeding)或者DDE(DynamicDataExchange)技術(shù),通過將傳統(tǒng)的GIS集成到高級語言中,然后利用集成后的語言設(shè)計開發(fā)GIS系統(tǒng)。組件開發(fā):借助工具型GIS提供的基于OCX技術(shù)的GIS功能組件,如MapObject和MapX等,可以將這些功能嵌入到可視化編程工具當(dāng)中,實現(xiàn)GIS的各種高級功能。下面對上述的開發(fā)方式進(jìn)行分析和比較:由于獨(dú)立開發(fā)和二次開發(fā)不能滿足人們對復(fù)雜性和靈活性的需求,與此相反,集成二次開發(fā)在很大程度上符合人們的預(yù)期。集成二次開發(fā)主要利用GIS工具包和可視化編程語言:可視化編程語言使開發(fā)設(shè)計工作簡單高效,通過GIS工具包也可以方便的管理和分析空間數(shù)據(jù)信息,使得集成二次開發(fā)成為當(dāng)前GIS開發(fā)的首選方式。另外,這種開發(fā)方式還能夠開發(fā)出具有易移植,易維護(hù)和高可靠性的應(yīng)用程序,可以更好的管理和分析數(shù)據(jù)庫中的空間數(shù)據(jù)。利用OCX技術(shù)和GIS功能組件開發(fā)GIS系統(tǒng),可以更好的體現(xiàn)這些優(yōu)勢。因此,很多的GIS開發(fā)公司都利用集成二次開發(fā)方式設(shè)計、開發(fā)并推出了相應(yīng)的ActiveX控件。充分利用現(xiàn)有的控件,首先可以縮短開發(fā)時間,同時可以使開發(fā)的程序具有易移植,易維護(hù)和高可靠性的特點(diǎn)。而對于程序開發(fā)者,使用現(xiàn)有控件可以減少開發(fā)者的工作量,用現(xiàn)有控件代替繁瑣的具體編程,實現(xiàn)特定應(yīng)用。利用GIS工具軟件提供的組件進(jìn)行組件式開發(fā),可以縮短開發(fā)時間,利用最少的資源實現(xiàn)系統(tǒng)的功能。因此,在開發(fā)GIS的油田社區(qū)信息系統(tǒng)的原型系統(tǒng)過程中,利用MapX進(jìn)行組件開發(fā),實現(xiàn)系統(tǒng)的基本功能。MapX組件的介紹如下:2.2MapX組件MapX組件是MapInfo公司設(shè)計開發(fā)的ActiveX控件。該控件是在Window操作系統(tǒng)下運(yùn)行的,具有地圖分析功能,這有利于開發(fā)人員利用任何一種系統(tǒng)支持的語言,如C#,VB等,進(jìn)行GIS開發(fā),還可以將地圖的分析功能嵌入到程序中。MapX組件不僅提供了地圖功能的嵌入方式,還提供了對地圖進(jìn)行處理和分析的方式,對地圖進(jìn)行有效管理的方式,方便GIS應(yīng)用的開發(fā),縮短開發(fā)時間,同時可以使開發(fā)的GIS程序具有易移植,易維護(hù)和高可靠性的特點(diǎn)。正是由于MapX組件提供了各種的GIS開發(fā)工具和實現(xiàn)方法,我們在開發(fā)GIS的油田社區(qū)信息系統(tǒng)的原型系統(tǒng)過程中,利用MapX進(jìn)行組件開發(fā),實現(xiàn)系統(tǒng)的基本功能。8萬方數(shù)據(jù) 第二章相關(guān)技術(shù)介紹開發(fā)GIS首先需要設(shè)計一個正確的數(shù)據(jù)結(jié)構(gòu),來表示數(shù)據(jù)之間的聯(lián)系。對于空間信息的存儲,需要設(shè)計一個空間數(shù)據(jù)結(jié)構(gòu),將地圖信息存儲的數(shù)據(jù)庫中。在MapX組件中定義的空間數(shù)據(jù)結(jié)構(gòu)如圖2-1。圖2-1MapX數(shù)據(jù)結(jié)構(gòu)MapX組件的數(shù)據(jù)結(jié)構(gòu)可以從兩個方面進(jìn)行分析:如圖2-1所示,空間數(shù)據(jù)結(jié)構(gòu)有多層組成。因此,從橫向上看,空間數(shù)據(jù)結(jié)構(gòu)是空間實體和索引的一種結(jié)合。在此類數(shù)據(jù)結(jié)構(gòu)中,空間實體是各種圖形的抽象模型,包括點(diǎn)、線和面。在直角坐標(biāo)系中,點(diǎn)、線和面三種空間實體可以通過坐標(biāo)x,y來表示。索引是對空間數(shù)據(jù)建立索引值,方便查詢。從另一個角度看,空間數(shù)據(jù)結(jié)構(gòu)是一種多層次結(jié)構(gòu),即由多層結(jié)構(gòu)組成。用戶可以根據(jù)實際需求,利用分層技術(shù)將空間實體進(jìn)行分層,分層后得到的地圖也是多層的。這種分層結(jié)構(gòu)可以提高空間實體的檢索速度,并可以有效地對空間數(shù)據(jù)進(jìn)行管理和調(diào)用。2.33DGIS相關(guān)概念(1)3DGIS特性與2DGIS定義二維目標(biāo)不同,3DGIS中定義的空間目標(biāo)是利用X、Y、Z三個坐標(biāo)軸,X表示橫向,Y表示縱向,Z表示垂直方向。對通過X、Y表示的平面目標(biāo)增加第三維上的信息,將平面目標(biāo)擴(kuò)展為空間目標(biāo),增加三維數(shù)據(jù)表示體目標(biāo)。與2DGIS相比,用三維要素表示的3DGIS空間目標(biāo)的復(fù)雜程度更高,含有的信息量更多。2DGIS對于平面目標(biāo)是基于面的劃分,而3DGIS對于空間目標(biāo)是基于體的劃分,9萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文所以,3DGIS可以通過對體目標(biāo)的劃分來表示三維矢量結(jié)構(gòu)之間的拓?fù)潢P(guān)系。另外,由于3DGIS比2DGIS更加復(fù)雜,因此出現(xiàn)了專門研究3DGIS的三維可視化理論,三[37]維數(shù)據(jù)模型的算法和三維地理信息系統(tǒng)的實現(xiàn)。因此,3DGIS能夠處理和分析較為復(fù)雜的空間實體,這是其他計算可視化的軟件所沒有的功能。3DGIS更貼近現(xiàn)實,能夠體現(xiàn)逼真的效果,給用戶以真實的感覺,它利用三維數(shù)據(jù)表示地理空間信息,因此,在3DGIS的設(shè)計開發(fā)過程中,三維空間數(shù)據(jù)結(jié)構(gòu)是核心,而三維空間分析是需要具備的基本功能。與2DGIS相比,3DGIS的實現(xiàn)要更加的復(fù)雜。(2)3DGIS的功能①具有2DGIS的傳統(tǒng)功能:對空間數(shù)據(jù)進(jìn)行分析操作,諸如查詢,修改和更新等。②可視化功能:在3DGIS的實現(xiàn)過程中,大部分的功能涉及到三維目標(biāo),這些三維目標(biāo)的顯示屬于三維可視化的范疇。三維可視化也是3DGIS的一個基本功能。因此,在大部分的功能實現(xiàn)過程中,都會需要三維可視化的功能。實現(xiàn)三維可視化是開發(fā)3DGIS首先要實現(xiàn)的功能之一。③空間數(shù)據(jù)庫管理功能:三維空間數(shù)據(jù)庫是3DGIS的核心,空間對象的存儲和管理是3DGIS不同于2DGIS和CAD及各種計算可視化的軟件。三維空間數(shù)據(jù)庫的建立既可以通過擴(kuò)展關(guān)系數(shù)據(jù)庫獲得,也可以通過延伸面向?qū)ο蟮目臻g數(shù)據(jù)庫獲得。④空間分析功能:區(qū)別于CAD及可視化軟件,2DGIS具有二維數(shù)據(jù)分析功能,同樣,3DGIS具有更復(fù)雜的三維數(shù)據(jù)分析功能。對空間目標(biāo)進(jìn)行對空間三維目標(biāo)進(jìn)行分析和處理,按照用戶的查詢要求顯示符合的空間信息,并對空間數(shù)據(jù)進(jìn)行管理。(3)3DGIS的開發(fā)方法2DGIS的相關(guān)理論研究和技術(shù)已經(jīng)完善,但是與其相比,3DGIS還處于起始階段。隨著圖形學(xué)理論、數(shù)據(jù)庫理論技術(shù)及其他相關(guān)計算機(jī)技術(shù)的進(jìn)一步發(fā)展,3DGIS理論研究和應(yīng)用實現(xiàn)將會得到快速發(fā)展。發(fā)展的思路和開發(fā)的方向可以概括[32]為三種:①第一種方法可以參照2DGIS的發(fā)展過程,2DGIS來源于可視化的計算機(jī)制圖管理。在3DGIS中,大部分功能都會需要三維可視化,在開發(fā)時可以利用成熟的三維可視化領(lǐng)域的技術(shù)。②建立空間數(shù)據(jù)結(jié)構(gòu),存儲三維空間實體數(shù)據(jù)和相應(yīng)的屬性信息,并且適合于建立空間索引,對空間數(shù)據(jù)進(jìn)行查詢,是建立3DGIS的首要任務(wù)之一??臻g數(shù)10萬方數(shù)據(jù) 第二章相關(guān)技術(shù)介紹據(jù)庫的建立既可以通過擴(kuò)展關(guān)系數(shù)據(jù)庫獲得,也可以通過延伸面向?qū)ο蟮目臻g數(shù)[30.31]據(jù)庫獲得。③另外一種3DGIS開發(fā)思路是從三維數(shù)據(jù)結(jié)構(gòu)、存儲類型的角度出發(fā),由于3DGIS空間數(shù)據(jù)庫中存儲著大量的空間數(shù)據(jù)和屬性數(shù)據(jù),設(shè)法建立高效的查詢分析方法。根據(jù)上述開發(fā)思路,本文設(shè)計了一個3DGIS原型系統(tǒng)。數(shù)據(jù)模型采用將三維空間信息存儲到RDBMS中的方法,三維可視化技術(shù)利用OpenGL(OpenGraphicsLibrary)和虛擬場景可視化技術(shù)來實現(xiàn)。除了建立空間數(shù)據(jù)庫,存儲空間信息和實現(xiàn)三維可視化,顯示地圖信息外,對圖形進(jìn)行調(diào)節(jié)的三維顯示技術(shù)也是開發(fā)3DGIS的所需要解決的任務(wù)之一。三維顯示技術(shù)是指可以實現(xiàn)地圖的大小變化,顏色明暗程度,隱藏或顯示進(jìn)行控制的技術(shù)。在油田社區(qū)信息系統(tǒng)的原型系統(tǒng)的開發(fā)過程中,利用三維圖形編程接口OpenGL。OpenGL的詳細(xì)信息介紹如下,2.4圖形編程接口OpenGLOpenGL是一個性能卓越的三維圖形接口標(biāo)準(zhǔn),是以SGI的GL三維圖形庫為基礎(chǔ)建立的共享開放式三維圖形顯示標(biāo)準(zhǔn)。在圖形顯示技術(shù)快速發(fā)展的今天,世界上很多的大公司都采用OpenGL這個標(biāo)準(zhǔn)作為三維圖形標(biāo)準(zhǔn),如Microsoft、IBM、Sun、HP等。很多的產(chǎn)品也是以O(shè)penGL為基礎(chǔ)開發(fā)的,比較著名的有3DMAX,GIS軟件等。由于是共享開放式的圖形顯示標(biāo)準(zhǔn),OpenGL在計算機(jī)圖形化處理中的應(yīng)用越來越廣泛,使用戶可以方便的在計算機(jī)上使用各種圖形軟件。OpenGL實際上是一個高性能的圖形開發(fā)軟件包,包括了100多個圖形操作函數(shù)。由于OpenGL獨(dú)立于操作系統(tǒng)和窗口系統(tǒng),所以用它開發(fā)的應(yīng)用程序可以在各種操作平臺間移植。使用OpenGL開發(fā)應(yīng)用程序,縮短開發(fā)時間,節(jié)省資源。OpenGL具有七大功能:(1)建模功能:利用OpenGL可以繪制大量的圖形模型。從最基本的點(diǎn)、線、面,到復(fù)雜的三維空間物體,OpenGL都提供了對應(yīng)的繪制函數(shù),可以方便高效的繪制所需模型。(2)變換功能:利用OpenGL可以對圖形進(jìn)行各種變換,包括基本的變換,如平移、旋轉(zhuǎn)等和投影變換,如正投影和透視投影等。通過圖形變換可以獲得需要的視角。(3)顏色自定義功能:OpenGL提供了兩種不同的顏色模式:RGB模式和顏色11萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文索引。(4)光照設(shè)置功能:在OpenGL中光照可以分為四類:輻射光、鏡面光、環(huán)境光和漫反射光。通常實體的材質(zhì)是通過不同光照的反射率表示,而實體的顏色則是通過計算光和材質(zhì)的紅綠藍(lán)分量相乘得到。通過光照的設(shè)置,可以控制物體的顏色。(5)紋理映射功能:利用此功能,OpenGL可以十分逼真的對空間對象進(jìn)行細(xì)節(jié)描述(6)圖像增強(qiáng)功能:除了基本的圖像功能外,OpenGL還提供了圖像特殊效果處理功能,如融合、反走樣和霧功能,利用這些功能,可以使仿真物體更加逼真,增加圖形的現(xiàn)實感。(7)雙緩存功能:OpenGL提供了前后臺雙緩存功能,通過后臺進(jìn)行各種計算,生成前臺所要展示的畫面,這樣可以提高圖形顯示效率。除此之外,OpenGL還提供了特殊效果處理功能,如深度暗示、運(yùn)動模糊等,從而實現(xiàn)了復(fù)雜的消隱算法。2.5本章小結(jié)本章主要對實現(xiàn)3DGIS原型系統(tǒng)采用的相關(guān)技術(shù)進(jìn)行了簡單的介紹。3DGIS原型系統(tǒng)是在現(xiàn)有2DGIS系統(tǒng)平臺基礎(chǔ)之上開發(fā)的,所以首先講述了2DGIS的分類及開發(fā)方式,并概括了2DGIS存在的一些缺點(diǎn)。然后對組件開發(fā)中常用的MapX和三維圖形可視化工具OpenGL進(jìn)行了簡單的介紹。同時,闡述了3DGIS的特點(diǎn),具備的功能以及比較可行的開發(fā)方式。12萬方數(shù)據(jù) 第三章需求分析第三章需求分析需求分析是軟件開發(fā)過程不可或缺的階段。對要開發(fā)的系統(tǒng)進(jìn)行分析,不斷認(rèn)識和細(xì)化開發(fā)過程,為下一階段的工作打好基礎(chǔ),并為解決“如何做”提供依據(jù)。需求分析主要分為系統(tǒng)需求分析和功能分析兩個方面。在開發(fā)系統(tǒng)前,要從用戶的角度出發(fā)對新系統(tǒng)進(jìn)行詳細(xì)調(diào)研,確定用戶的需要,確定新開發(fā)系統(tǒng)的綜合要求,也就是要確定新系統(tǒng)要達(dá)到的標(biāo)準(zhǔn),即要實現(xiàn)哪些功能,實現(xiàn)到什么程度的問題。需求可以分為如下幾個方面:(1)系統(tǒng)需求:確定新系統(tǒng)要完成什么樣的功能,達(dá)到什么樣的標(biāo)準(zhǔn),這是最主要的部分。(2)功能需求:如何實現(xiàn)系統(tǒng)的功能,功能的實現(xiàn)要考慮的因素,包括存儲容量、安全性以及運(yùn)行效率等。(3)環(huán)境需求:新系統(tǒng)運(yùn)行環(huán)境的需求。在硬件方面,新系統(tǒng)需要采用什么樣的機(jī)型、硬件設(shè)備等;在軟件方面,采用什么樣的運(yùn)行系統(tǒng),如操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)等。(4)未來需求:這類需求現(xiàn)在可能不存在,但隨著時間的推移,在將來可能會存在的的需求。因此開發(fā)新系統(tǒng)時,應(yīng)該考慮未來可能提出的要求,即在開發(fā)過程中,應(yīng)該對系統(tǒng)將來可能的修改做準(zhǔn)備,以便將來比較容易的進(jìn)行完善或擴(kuò)展。3.1系統(tǒng)開發(fā)環(huán)境由于系統(tǒng)需要存儲大量的三維數(shù)據(jù),查詢、顯示和建模仿真都需要頻繁的訪問數(shù)據(jù)庫,對數(shù)據(jù)庫處理能力要求較高,所以對計算機(jī)的基本配置應(yīng)該滿足以下條件:(1)硬件配置CPU:不低于1GHz;內(nèi)存:不低于256M;磁盤剩余空間:不低于2G(2)軟件配置操作系統(tǒng):WindowsXP;13萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文開發(fā)語言:.NET環(huán)境下C#語言;輔助軟件:ImaGIS,OpenGL,VRML,MapInfoProfessional,VRML文件編輯器VmlPad和瀏覽器插件Cortona。3.2系統(tǒng)需求分析本系統(tǒng)主要實現(xiàn)的目標(biāo)有三個方面:(1)設(shè)計三維數(shù)據(jù)存儲結(jié)構(gòu):根據(jù)研究理論和相關(guān)技術(shù),建立基于結(jié)構(gòu)實體幾何法和邊界表示法的箱式分割數(shù)據(jù)模型,面向?qū)ο蟮臄?shù)據(jù)組織方案,并以此為基礎(chǔ)設(shè)計存儲結(jié)構(gòu)。(2)建立三維模型:建立模型的目的是分析,處理三維空間數(shù)據(jù),并把數(shù)據(jù)存儲到三維數(shù)據(jù)庫中,建立數(shù)據(jù)與屬性之間的關(guān)系,方便3DGIS的數(shù)據(jù)獲取和逼真的表現(xiàn)空間對象。通過建立模型管理模塊,對實體和體素信息進(jìn)行管理,利用R-Tree索引機(jī)制,建立查詢數(shù)據(jù)和索引信息的關(guān)系,方便快速高效的查詢,加快系統(tǒng)的檢索速度。通過建立三維模型,提出2DGIS與3DGIS互響應(yīng)機(jī)制的原理和實現(xiàn)方法。(3)實現(xiàn)2DGIS和3DGIS的轉(zhuǎn)換:這種轉(zhuǎn)換包括二維空間實體和三維空間實體對應(yīng)目標(biāo)的轉(zhuǎn)換及視點(diǎn)轉(zhuǎn)換和交互漫游。3.3功能分析本文開發(fā)的基于GIS的油田社區(qū)信息原型系統(tǒng)需要實現(xiàn)以下基本功能,包括2DGIS和3DGIS的部分功能:(1)2DGIS部分功能支持多種數(shù)據(jù)文件;圖形顯示;查詢分析;空間分析;2DGIS到3DGIS的互響應(yīng)。(2)3DGIS部分功能數(shù)據(jù)讀取與分析模塊;三維模型建立模塊;三維場景顯示和瀏覽模塊;三維場景管理模塊;查詢分析模塊;三維場景互操作模塊;3DGIS到2DGIS的互響應(yīng)模塊。14萬方數(shù)據(jù) 第三章需求分析3.4性能目標(biāo)本系統(tǒng)主要實現(xiàn)的目標(biāo):(1)在2DGIS方面,通過對2DGIS的開發(fā)過程做出詳細(xì)的研究,建立一個簡單的2DGIS系統(tǒng)。(2)在3DGIS方面,通過研究三維數(shù)據(jù)獲取方式,三維數(shù)據(jù)存儲結(jié)構(gòu),數(shù)據(jù)庫的設(shè)計實現(xiàn),面向?qū)ο蟮臄?shù)據(jù)組織方案,虛擬場景的交互操作原理。建立用R-Tree索引機(jī)制,建立查詢數(shù)據(jù)和索引信息的關(guān)系,方便快速高效的查詢,加快系統(tǒng)的檢索速度。最后建立一個3DGIS原型系統(tǒng)。3.5本章小結(jié)本章簡要介紹了基于GIS的油田社區(qū)信息系統(tǒng)整體的需求分析,包括系統(tǒng)要滿足的要求;系統(tǒng)要實現(xiàn)的功能,包括2DGIS和3DGIS的部分功能;系統(tǒng)的目標(biāo)要滿足實用性和可操作性;本章是前期準(zhǔn)備工作部分,從下一章開始是原型系統(tǒng)的開發(fā)設(shè)計章節(jié)。15萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文第四章系統(tǒng)總體結(jié)構(gòu)4.1系統(tǒng)設(shè)計架構(gòu)從整體結(jié)構(gòu)上看,油田社區(qū)信息系統(tǒng)主要包括三部分的內(nèi)容:2DGIS、3DGIS和數(shù)據(jù)庫部分。2DGIS部分是原型系統(tǒng)的基礎(chǔ),包括地圖操作,二維查詢分析,可視化編程VC、MapX和二維地圖數(shù)據(jù)tab/gst/mif/dxf;3DGIS部分是系統(tǒng)的核心,負(fù)責(zé)將平面圖形轉(zhuǎn)化為三維模型,方便用戶瀏覽、查詢和分析,包括三維地形建模,三維建筑物建模,三維查詢分析和幾何紋理等;數(shù)據(jù)庫部分是實現(xiàn)2DGIS和3DGIS互響應(yīng)的前提,存儲內(nèi)容包括建筑物空間數(shù)據(jù),建筑物屬性數(shù)據(jù)和紋理數(shù)據(jù)。系統(tǒng)的總體設(shè)計結(jié)構(gòu)如圖4-1所示:勝利油田社區(qū)信息系統(tǒng)SLInfoSys互響應(yīng)2DGIS部分3DGIS部分地圖操作數(shù)據(jù)庫三維地形建模二維查詢分析建筑物空間數(shù)據(jù)三維建筑物建模三維查詢分析建筑物屬性數(shù)據(jù)可視化編程紋理數(shù)據(jù)幾何紋理VC、MapX二維地圖數(shù)據(jù)可視化編程tab、gst、mif、dxfVC、OpenGL圖4-1SLInfoSys系統(tǒng)設(shè)計架構(gòu)16萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計4.2系統(tǒng)主要功能系統(tǒng)的主要功能分為兩部分:(1)2DGIS部分功能支持多種數(shù)據(jù)文件;圖形顯示;查詢分析;空間分析;2DGIS到3DGIS的互響應(yīng)。(2)3DGIS部分功能數(shù)據(jù)讀取與分析模塊;三維模型建立模塊;三維場景顯示和瀏覽模塊;三維場景管理模塊;查詢分析模塊;三維場景互操作模塊;3DGIS到2DGIS的互響應(yīng)模塊。系統(tǒng)功能結(jié)構(gòu)如圖4-2所示:勝利油田社區(qū)信息系統(tǒng)SLInfoSys2DGIS功能3DGIS功能據(jù)支圖空二二三三三三三三數(shù)文持形間維維維維維維維維據(jù)件多顯分查三查場場模模模輸示析詢維詢景景型型型入種分互分互瀏管顯建數(shù)析響析操覽理示立應(yīng)作圖4-2SLInfoSys功能結(jié)構(gòu)4.2.12DGIS功能(1)支持多種數(shù)據(jù)文件:系統(tǒng)可以讀取多種類型數(shù)據(jù)文件,如AutoCAD的dxf文件,MapInfo的tab文件等,然后會以電子地圖的形式顯示給用戶。(2)圖形顯示:可以實現(xiàn)平面圖形的放大、縮小及漫游,還可以進(jìn)行圖形的屬性設(shè)置等。(3)查詢分析:鼠標(biāo)點(diǎn)擊選擇實體對象時,會顯示被選中實體的相關(guān)屬性信息;同時輸入實體的屬性信息,可以查詢滿足條件的所有實體對象,通過不同的顏色顯示。(4)空間分析:可以對空間對象進(jìn)行分析,并顯示分析的結(jié)果,及相關(guān)的屬17萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文性信息。(5)2DGIS與3DGIS的互響應(yīng):通過互響應(yīng)機(jī)制,2DGIS的平面對象可以在3DGIS中顯示,增加三維信息,進(jìn)行查詢分析時,可以實現(xiàn)查詢結(jié)果顯示三維的可視化虛擬場景。4.2.23DGIS功能(1)數(shù)據(jù)讀取與分析模塊:系統(tǒng)的3DGIS部分可以讀取和分析VRML格式的文件,然后將與三維模型建立有關(guān)的數(shù)據(jù)存儲到數(shù)據(jù)庫中,供模型建立模塊使用。(2)模型建立模塊:利用基于結(jié)構(gòu)實體幾何法和邊界表示法的箱式分割數(shù)據(jù)模型,面向?qū)ο蟮臄?shù)據(jù)組織方案,構(gòu)建數(shù)據(jù)庫,存儲空間數(shù)據(jù),最后通過OpenGL和虛擬場景實現(xiàn)三維模型。(3)場景顯示和瀏覽模塊:在顯示模塊中,通過將模型建立模塊建立的三維模型顯示在電腦屏幕上,并從數(shù)據(jù)庫中檢索模型的相關(guān)紋理、屬性數(shù)據(jù),利用圖形編程接口OpenGL,實現(xiàn)三維場景的可視化。在瀏覽模塊中,視圖中的三維場景可以實現(xiàn)按比例的放大、縮小和旋轉(zhuǎn),可以保存當(dāng)前的三維場景;還可以實現(xiàn)場景的查找功能,在對話框中輸入三維坐標(biāo),查找相應(yīng)的場景,在視圖窗口中顯示。(4)場景管理模塊:對實體和體素信息進(jìn)行管理,利用R-Tree空間索引機(jī)制,建立查詢數(shù)據(jù)和索引信息的關(guān)系,方便快速高效的查詢,加快系統(tǒng)的檢索速度??梢越鼍?,把相關(guān)的體素組成一個實體,或者把相關(guān)的實體組成一個群;也可以刪除場景。(5)查詢分析模塊:鼠標(biāo)點(diǎn)擊選擇三維場景中的實體對象時,會顯示被選中實體的相關(guān)屬性信息;同時輸入實體的屬性信息,可以查詢滿足條件的所有三維實體對象,通過不同的顏色顯示。還可以查詢空間實體的數(shù)據(jù)和位置信息,以及量測信息。(6)場景互操作模塊:在場景中,鼠標(biāo)點(diǎn)擊空間實體對象時,可以獲得實體的相關(guān)坐標(biāo)信息,通過判斷坐標(biāo)落在哪個實體的的邊界內(nèi),可以得到實體的ID,為后續(xù)的查詢提供基礎(chǔ)。(7)互響應(yīng)模塊:2DGIS和3DGIS的互響應(yīng)機(jī)制可以使兩者的優(yōu)勢得到發(fā)揮,2DGIS的平面對象可以在3DGIS中顯示,可以實現(xiàn)查詢結(jié)果以三維可視化虛擬場景的方式顯示。在3DGIS中查詢實體對象時,也可以在2DGIS中同時顯示目標(biāo)。18萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計4.3GIS開發(fā)4.3.12DGIS開發(fā)地理信息系統(tǒng)包含的數(shù)據(jù)類型可以分為兩類:空間數(shù)據(jù)和屬性數(shù)據(jù)。系統(tǒng)中存儲的信息是關(guān)于地理空間分布的數(shù)據(jù)的結(jié)合,系統(tǒng)的組成主要有四部分:信息獲取與輸入,信息的存儲與管理,信息的轉(zhuǎn)換與分析,結(jié)果的生成和輸出。每個空間實體都有一個對應(yīng)的地理編碼,即空間數(shù)據(jù),可以表示實體的對象的空間位置,例如一個城市的地理信息,河流的走向等。與空間實體相對應(yīng)的是屬性信息,10]即屬性數(shù)據(jù),如城市的名稱,人口數(shù)量等[。因此,構(gòu)建地理信息系統(tǒng)的體系結(jié)構(gòu)需要有兩個數(shù)據(jù)庫來支持,即存放空間數(shù)據(jù)的“空間數(shù)據(jù)庫”和存放屬性數(shù)據(jù)的“屬性數(shù)據(jù)庫”。4.3.1.1二維數(shù)據(jù)的采集GIS系統(tǒng)的建立過程中不可缺少的一部分是數(shù)據(jù)采集,有多種方法實現(xiàn),如點(diǎn)[9]坐標(biāo)輸入、跟蹤數(shù)字化、屏幕掃描數(shù)字化和已有矢量數(shù)據(jù)格式的轉(zhuǎn)換等。數(shù)據(jù)采集分為空間數(shù)據(jù)采集和屬性數(shù)據(jù)采集。其中,對于空間數(shù)據(jù)的采集是通過特殊的數(shù)字化技術(shù)將信息轉(zhuǎn)化為GIS系統(tǒng)可以存儲、管理和分析的格式;而對于屬性數(shù)據(jù)則是將和空間數(shù)據(jù)對應(yīng)的屬性信息輸入到系統(tǒng)中的過程。屬性數(shù)據(jù)的采集相對來說比較簡單,輸入方法比較容易,所以接下來主要對空間數(shù)據(jù)的采集方法進(jìn)行描述。(1)點(diǎn)坐標(biāo)輸入通過點(diǎn)坐標(biāo)輸入是最基本的成圖方式,它是通過將空間信息的坐標(biāo)轉(zhuǎn)化生成GIS系統(tǒng)可以讀取的空間數(shù)據(jù)。當(dāng)前,得到點(diǎn)坐標(biāo)數(shù)據(jù)的方法來自于數(shù)字測圖,而數(shù)字測圖采用的一般方法是全站儀,直接將記錄點(diǎn)的坐標(biāo)及所表示的地物繪制成圖。點(diǎn)坐標(biāo)輸入具有操作簡便、精確度搞得的特點(diǎn),可以滿足GIS建設(shè)過程中對數(shù)據(jù)的要求。(2)跟蹤數(shù)字化跟蹤數(shù)字化是通過將普通的地圖放置到數(shù)字化儀的電磁感應(yīng)板上,然后利用特殊軟件,輸入普通地圖的比例尺,輸出空間要素的坐標(biāo)。通過定義用戶的位置坐標(biāo),手工確定空間數(shù)據(jù)的點(diǎn)、線、面三個要素,雖然可以保證一定的精確度,但是產(chǎn)生很大的工作量。(3)屏幕掃描數(shù)字化19萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文掃描已有的紙質(zhì)地圖,形成柵格圖像,利用特殊軟件將柵格圖像打開,進(jìn)行誤差校正,在經(jīng)過數(shù)字投影,調(diào)整坐標(biāo)系,最后將圖像中的元素矢量化成點(diǎn)、線、[6]面三類空間元素。因為在掃描過程中難免會出現(xiàn)誤差,另外在誤差校正過程中,難免會引入新的誤差,所以這種方法與點(diǎn)坐標(biāo)輸入相比精確度低;與跟蹤數(shù)字化相比,雖減少了工作量,但是精確度要低。在前兩種方法出現(xiàn)之前,掃描數(shù)字化是比較流行的方法。(4)矢量數(shù)據(jù)格式的轉(zhuǎn)換在3DGIS技術(shù)出現(xiàn)之前,已經(jīng)存在一定數(shù)量的已有格式的數(shù)據(jù),因此在新系統(tǒng)建設(shè)過程中,可以將現(xiàn)有的數(shù)據(jù)通過一定的格式轉(zhuǎn)換,形成可以輸入到新系統(tǒng)的數(shù)據(jù)格式,減少資源的浪費(fèi)。在油田社區(qū)信息化系統(tǒng)的開發(fā)過程中,已有的地圖為石油大學(xué)平面圖。通過一定格式的數(shù)據(jù)轉(zhuǎn)換,并輔以全站儀補(bǔ)測發(fā)生變化或者丟失部分的數(shù)據(jù),然后以數(shù)字的形式輸入到系統(tǒng)中。對數(shù)字化后的地圖進(jìn)行編輯,處理,以達(dá)到系統(tǒng)的要求。空間數(shù)據(jù)的獲取過程如圖4-3所示:資料收集整理空間數(shù)據(jù)屬性數(shù)據(jù)野外測量數(shù)據(jù)已有圖形數(shù)據(jù)已有矢量數(shù)據(jù)已有數(shù)據(jù)庫中搜集到的的屬性數(shù)據(jù)屬性數(shù)據(jù)屏點(diǎn)手扶跟蹤屏幕掃描格式轉(zhuǎn)換數(shù)字化數(shù)字化格式轉(zhuǎn)換鍵盤鍵入檢查、修改、編輯檢查、修改、編輯圖形與屬性連接2DGIS系統(tǒng)圖4-32DGIS中的數(shù)據(jù)采集20萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計在MapInfo中,工作空間內(nèi)保存了用戶最近使用的地圖圖層以及相關(guān)的屬性信息,方便用戶繼續(xù)使用相同的地圖圖層。在MApX中,繼續(xù)沿用工作空間的概念,表示地圖圖層和屬性設(shè)置的集合。在系統(tǒng)的開發(fā)過程中,開發(fā)者可以在MapX中打開系統(tǒng)需要用到的Tab表,然后轉(zhuǎn)換成可以在MapX中使用工作空間文件。4.3.1.2二維數(shù)據(jù)管理在GIS中,空間要素可以表示為矢量數(shù)據(jù)模型和柵格數(shù)據(jù)模型。矢量數(shù)據(jù)模型是通過點(diǎn)和坐標(biāo)來構(gòu)建點(diǎn)、線、面三個要素;而柵格數(shù)據(jù)模型則是通過網(wǎng)格來表示空間要素的變化。不同的數(shù)據(jù)模型表示方式,決定了系統(tǒng)中不同的數(shù)據(jù)存儲、處理和分析方式。GIS系統(tǒng)應(yīng)具備矢量數(shù)據(jù)和柵格數(shù)據(jù)轉(zhuǎn)換的能力。在電腦上,空間數(shù)據(jù)表現(xiàn)出來的是一幅由多個圖層集合而成的地圖,每個圖層空間數(shù)據(jù)對應(yīng)著一種數(shù)據(jù)類型。構(gòu)成地圖的所有圖層必須是屬于同一個坐標(biāo)系統(tǒng),這是GIS系統(tǒng)的一個基本原則,如果存在圖層屬于不同的坐標(biāo)系統(tǒng),圖層間的數(shù)據(jù)就無法在空間上進(jìn)行匹配。4.3.1.32DGIS模型應(yīng)用程序ADO多種外部屬性數(shù)據(jù)C#ID唯一MapX控件對應(yīng)內(nèi)部索引空間數(shù)據(jù)庫唯一對應(yīng)內(nèi)部屬性數(shù)據(jù)圖4-42DGIS系統(tǒng)的模型結(jié)構(gòu)本文采用C#編程語言,Access數(shù)據(jù)庫,和MapX開發(fā)了一個2DGIS系統(tǒng)模型,主要實現(xiàn)了空間數(shù)據(jù)的管理、查詢和分析功能。數(shù)據(jù)對于GIS系統(tǒng)是極其重要的,所以對數(shù)據(jù)的管理、查詢和分析是地理信息系統(tǒng)應(yīng)該具備的最基本的功能。開發(fā)的系統(tǒng)可以對數(shù)據(jù)進(jìn)行可視化交互操作,包括地理信息的查詢和分析。利用MapX可以實現(xiàn)系統(tǒng)的通用功能,如地理信息編碼等。MapX可以訪問自定義格式的數(shù)據(jù)以及存儲在外部數(shù)據(jù)庫中的數(shù)據(jù)。同理,在實際的應(yīng)用程序中,借助MapX21萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文可以訪問數(shù)據(jù)庫中的數(shù)據(jù),并通過其特有的索引機(jī)制與可視化圖形數(shù)據(jù)進(jìn)行連接,方便開發(fā)面向用戶的應(yīng)用。系統(tǒng)模型的結(jié)構(gòu)圖如圖4-4。4.3.23DGIS開發(fā)由于2DGIS的相關(guān)理論研究和相關(guān)技術(shù)已經(jīng)完善,但是與其相比,3DGIS還處于起始階段,面臨很多問題。這是因為3DGIS要對現(xiàn)實世界的三維對象進(jìn)行處理,分析,管理和決策。用3DGIS表示現(xiàn)實世界除了可以幫助查詢者清晰,直觀的獲得所關(guān)心的信息,還可以動態(tài)的,交互的分析二維平面和垂直方向位置信息之間的關(guān)系。GIS系統(tǒng)的建立過程中不可缺少的一部分是數(shù)據(jù)采集,地理信息的三維化仍屬[28]于GIS領(lǐng)域,因此3DGIS同樣需要進(jìn)行數(shù)據(jù)采集。3DGIS的特點(diǎn)是具有逼近現(xiàn)實的視覺效果,可以直觀的表現(xiàn)現(xiàn)實中的對象。但是,建立系統(tǒng)的基礎(chǔ)首先是需要選擇合適的數(shù)據(jù)模型和數(shù)據(jù)存儲方式。地理信息可視化三維模型如圖4-5:地球科學(xué)信息科學(xué)空間科學(xué)計算機(jī)遙感攝影測量學(xué)可視化二維地理信息地理信息技術(shù)科學(xué)計算可視化地理信息可視化二維地理信息系三維顯示技術(shù)地理信息三維可視化系統(tǒng)圖4-5地理信息三維可視化系統(tǒng)的應(yīng)用模型4.3.2.1三維數(shù)據(jù)獲取建立3DGIS模型,首先要解決的是確定數(shù)據(jù)模型和數(shù)據(jù)存儲方式,然后是數(shù)據(jù)的獲取方式。當(dāng)前,3DGIS的應(yīng)用主要集中在城市規(guī)劃方面。城市規(guī)劃方面的而應(yīng)用模型主要需要的數(shù)據(jù)是空間數(shù)據(jù)和真實影像數(shù)據(jù)(屬性數(shù)據(jù))。前面提到了22萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計2DGIS的獲取平面數(shù)據(jù)的方法,對于3DGIS的數(shù)據(jù)可以從平面數(shù)據(jù)進(jìn)行矢量轉(zhuǎn)換,但是2DGIS只包含二維信息,并沒有三維方向上的數(shù)據(jù)信息,因此獲取這些信息[17,18]成為3DGIS開發(fā)的一個難點(diǎn)。(1)3D電子地圖構(gòu)建3D電子地圖所需要的數(shù)據(jù)可以采用以下方式獲取,將建筑物表示成3D模型,非建筑物用2D表示,只考慮建筑物的空間數(shù)據(jù),而建筑物的高度則按照2DGIS的層數(shù)計算,根據(jù)建筑物的的類型賦予合適的層高值;同時建筑物的紋理則是通過顏色屬性數(shù)據(jù)代替或者通過矢量方式添加紋理。這種數(shù)據(jù)獲取方式不僅可以達(dá)到降低數(shù)據(jù)獲取成本,用最少量的數(shù)據(jù)表示較逼真的現(xiàn)實世界,又能達(dá)到快速瀏覽地圖的目的。構(gòu)建電子地圖所采用的數(shù)據(jù)獲取方式,基本上是利用已有2DGIS提供的數(shù)據(jù),獲取成本較低。(2)3D城市模型由于構(gòu)建的3D城市模型需要具有瀏覽、分析和動畫功能,因此需要獲取對象的DEM數(shù)據(jù),高度數(shù)據(jù)以及真實紋理數(shù)據(jù),但是模型的主要功能是提供可視化,對數(shù)據(jù)精度的要求不高。為了控制構(gòu)建成本,該模型的數(shù)據(jù)獲取方式可以采用下面[35,38]幾種方式:①首先對對象側(cè)面紋理進(jìn)行攝影,然后通過計算機(jī)軟件處理生成合理的紋理數(shù)據(jù)。這種方式可以盡可能多的獲取對象的不同紋理數(shù)據(jù),成本較低,而且通過計算機(jī)處理的數(shù)據(jù),可以去除攝影過程中雜物的干擾,如樹木、其他遮擋物等的干擾。②DEM數(shù)據(jù)可以利用激光掃描儀獲取。③對象高度數(shù)據(jù)可以通過已有的2DGIS中對象層數(shù)的數(shù)據(jù)與攝影獲取的層數(shù)數(shù)據(jù)相結(jié)合的方式獲取。④除建筑物之外的其他對象,如樹木等,可以通過假定參數(shù)和模型符號的方式獲取。(3)更高要求的3D城市模型具有操作和分析功能是對3DGIS模型提出的更高要求。這類模型需要提供逼真、值得信賴的結(jié)果,對數(shù)據(jù)的精度要求也比較高,因此,數(shù)據(jù)的獲取可以采取以下方式:①通過對對象的側(cè)面紋理進(jìn)行攝影,然后通過計算機(jī)進(jìn)行處理獲得合適的紋理數(shù)據(jù)。獲取方式和普通3DGIS模型中紋理數(shù)據(jù)的獲取方式類似。②對象的高度數(shù)據(jù)可以通過攝影測量方式獲得層數(shù)數(shù)據(jù),然后人工方式獲23萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文取。③DEM數(shù)據(jù)要求精度較高,所以需要利用精確的手段獲取,像航空攝影。④對于對象的3D數(shù)據(jù),可以通過衛(wèi)星影像獲取。⑤除建筑物之外的其他對象的空間數(shù)據(jù),如樹木等,可以通過一些簡單的實際測量工作獲取GIS系統(tǒng)的建立過程中不可缺少的一部分是數(shù)據(jù)采集。合理的獲取空間數(shù)據(jù),對于構(gòu)建3DGIS具有極其重要的作用。4.3.2.2三維模型對象相對來說,城市3DGIS系統(tǒng)模型比較簡單,通過簡化3DGIS模型的對象,可以更加方便的實現(xiàn)系統(tǒng)。因此,可以將城市3DGIS模型中的對象分為以下幾類[19,25]:(1)點(diǎn)對象:用來描述現(xiàn)實中獨(dú)立點(diǎn)狀地物,如,電線桿、樹木、通訊塔等。(2)線對象:用來描述線狀地物,在二維空間中的線狀對象稱為二維線對象,在三維空間中的線狀地物稱為三維線對象。如,城市電力線、通訊線等基礎(chǔ)設(shè)施。(3)面對象:用來描述貼地地物或空間中的實體。在二維空間中,面對象主要用來描述貼地地物,如湖泊等,而在三維空間中,面對象主要描述空間中的實體,如建筑物的墻面等。(4)體對象:用來描述空間中有形狀的地物,如建筑物、汽車等。復(fù)雜的網(wǎng)狀地物也可以用體對象來描述。(5)標(biāo)記對象:用來描述其他對象的文字信息,如建筑物的名稱,道路的名稱等。(6)紋理對象:用來描述三維空間中面狀地物的紋理信息,如建筑物的表面紋理等。(7)地形對象:用來描述城市的地形,包括各種規(guī)則的,不規(guī)則的網(wǎng)狀模型或者混合模型。(8)地形影像對象:用來描述城市中的地面概貌圖像,這些影像對象也是屬于三維空間中面狀對象的紋理對象,但是具有特殊的屬性和數(shù)據(jù)結(jié)構(gòu),一般將其作為單獨(dú)的對象。在建立3DGIS過程中,上述各種對象并不是相互獨(dú)立的,通過相互結(jié)合才可以建立完善的系統(tǒng)。4.3.2.3箱式分割數(shù)據(jù)模型24萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計空間數(shù)據(jù)模型是對現(xiàn)實世界的一種抽象,歸類及簡化的描述。二維空間數(shù)據(jù)模型是用來描述二維空間中對象的數(shù)據(jù)結(jié)構(gòu),操作方法及屬性等內(nèi)容的集合。三維空間數(shù)據(jù)模型是用來描述三維空間中的數(shù)據(jù)結(jié)構(gòu),操作方法及屬性內(nèi)容的集合。因此,定義一個三維數(shù)據(jù)模型需要考慮以下問題:描述的對象,數(shù)據(jù)存儲結(jié)構(gòu)和邏輯關(guān)系,以及如何表示模型。[6]目前,在GIS應(yīng)用中,有三類數(shù)據(jù)模型:第一類是基于面對象的:在三維空間中,這類數(shù)據(jù)模型可以表示表面,如地形表面,底層表面等。第二類是基于體對象的:對于空間中體對象,如四面體、構(gòu)造實體等都可以用這種數(shù)據(jù)模型表示。第三類是第一類和第二類的結(jié)合。第一類數(shù)據(jù)模型主要用來描述三維空間中表面,以及由面表示的空間實體目標(biāo)。這類數(shù)據(jù)模型的優(yōu)點(diǎn)是可以方便的進(jìn)行數(shù)據(jù)更新和顯示,缺點(diǎn)是空間分析比較困難。而第二類數(shù)據(jù)模型主要用來描述空間中實體,如建筑物等,有點(diǎn)是可以方便的進(jìn)行空間數(shù)據(jù)分析,但缺點(diǎn)是數(shù)據(jù)存儲需要大量空間,操作運(yùn)行速度相對較慢?,F(xiàn)在,大部分的3DGIS數(shù)據(jù)模型都提供數(shù)據(jù)顯示和操作的功能,但是這與3DGIS要求有很大的距離。3DGIS中,要求具備對數(shù)據(jù)進(jìn)行分析的功能。要實現(xiàn)空間數(shù)據(jù)分析功能,選擇合適的數(shù)據(jù)結(jié)構(gòu)成為非常重要的前提。目前流行的兩種數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)實體幾何法和邊界表示法。兩種方法各有利弊。兩種方法結(jié)合使用可以一定程度上避免各自的弊端。[20]實現(xiàn)了兩者的結(jié)合,提出了“分層組合模型”,可以方便的查詢對象的層次信息;[21]提出了基于邊界表示法的分體組合模型,將查詢擴(kuò)展到建筑物實體的一部分。[22]提出了箱式分割數(shù)據(jù)模型,將查詢擴(kuò)展到建筑物的每一層。因此,為了能夠利用2DGIS模型和數(shù)據(jù)結(jié)構(gòu),本文基于兩種方法的結(jié)合,設(shè)計了基于上述結(jié)構(gòu)實體法和邊界表示法的箱式分割數(shù)據(jù)模型。我們可以把建筑物實體根據(jù)功能和形狀將其劃分為一些簡單的實體,這些簡單的實體成為體素。每個體素可以通過基本實體,如圓、球、長方體等來表示,亦可以通過邊界表示法來表示,最后將這些體素結(jié)合,組成一個完整的建筑物實體。如圖4-6,根據(jù)實體的形狀將其分為三個體素。對建筑物實體進(jìn)行劃分后得到的體素,并不是與查詢的信息一一對應(yīng)。在圖4-6中,可以進(jìn)一步對體素進(jìn)行分割,劃分為網(wǎng)格。網(wǎng)格化時,可以根據(jù)建筑物的高度,層數(shù)和單元數(shù)劃分。第三個體素含有三層、三個單元的簡單實體,可以進(jìn)一步劃分為十八個長方體。通過建立R-Tree空間索引機(jī)制,可以快速方便的進(jìn)行三25萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文維空間信息的查詢和檢索操作.123圖4-6箱式分割模型4.3.2.4面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型的基本思想是,劃分問題領(lǐng)域,通過接近人類的思維方式重新建立問題領(lǐng)域模型,從而達(dá)到客觀的模擬實體的結(jié)構(gòu)和行為。這種概念來源[26,27]于面向?qū)ο蟮某绦蛟O(shè)計語言。面向?qū)ο蟮臄?shù)據(jù)模型允許用戶自定義各種數(shù)據(jù)[34,36]類型,即便是復(fù)雜的語義,可以模擬真實世界的靜態(tài)和動態(tài)特征。面向?qū)ο蟮臄?shù)據(jù)模型可以提供一些與對象類型相關(guān)聯(lián)的操作。所以,這種數(shù)據(jù)模型更加適合GIS中數(shù)據(jù)結(jié)構(gòu)的組織。3DGIS系統(tǒng)采用箱式分割數(shù)據(jù)模型,按照面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)組織方式和油田社區(qū)可視化的需求,構(gòu)建了三維信息查詢系統(tǒng),該系統(tǒng)設(shè)計使用的數(shù)據(jù)組織結(jié)構(gòu)方式如下:(1)點(diǎn)類:構(gòu)造點(diǎn)對象的抽象類,用來描述點(diǎn)或地物的三維坐標(biāo)。在點(diǎn)抽象類主要屬性有三維點(diǎn)坐標(biāo),點(diǎn)的法向量和點(diǎn)的顏色等。在建立三維模型之前,可以將地物等實體做出標(biāo)準(zhǔn)的模型,這樣在使用的時候就可以直接調(diào)用,節(jié)省時間。點(diǎn)類的數(shù)據(jù)結(jié)構(gòu):classNNode3D:publicCObject3D{floatn_Coord[3];//點(diǎn)的三維坐標(biāo)NVector3Dn_Vector;//點(diǎn)的向量NColorn_color;//點(diǎn)的紋理}(3)線類:構(gòu)造線對象的抽象類。線對象是有起點(diǎn)和終點(diǎn)構(gòu)成,所以在類中要表現(xiàn)出起點(diǎn)和終點(diǎn),由于3維坐標(biāo)是有三個方向的數(shù)據(jù)組成,所以還要表現(xiàn)出三維方向的數(shù)據(jù)。當(dāng)表現(xiàn)二維線對象時,三維方向上的數(shù)據(jù)為0。所以線類的構(gòu)造如下:26萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計classNEdge3D:publicCObject3D{NNode3D*n_start;//線對象的起點(diǎn)NNode3D*n_end;//線對象的終點(diǎn)NFace3D*n_face1;//線對象構(gòu)成的面NFace3D*n_face2;}(3)面類:構(gòu)造面對象的抽象類。主要用來描述三維空間中的實體對象。由于可以根據(jù)OpenGL可以直接繪制多邊形,所以在程序的設(shè)計中,我們采用的構(gòu)造數(shù)據(jù)結(jié)構(gòu)如下:classNFace3D:publicCObject3D{NNode3D*n_V[];//面的各點(diǎn)坐標(biāo)NFace3D*n_face[];//面的鄰接面NVectorn_Vector;//面的向量NColorn_Color;//面的紋理}使用上述數(shù)據(jù)模型結(jié)構(gòu)存儲數(shù)據(jù)坐標(biāo)時,需要遵從一定的順序進(jìn)行數(shù)據(jù)采集,[28,29]這是因為通過OpenGL提供的繪圖方式繪制的面分正反面。另外根據(jù)油田社區(qū)的特點(diǎn),可以將面類分為兩種:①三角形面類:這類面對象抽象類主要用來描述不規(guī)則的多邊形構(gòu)成的實體,如建筑物的屋頂,不規(guī)則的地形地貌等。從理論上見,通過三角形可以表示任何形狀的表面。由于三角形面類的構(gòu)造能力較強(qiáng),可以描述各種平面形體的面對象,所以,這些不規(guī)則實體基本上都可以通過三角形面類來描述。另外,三角形面類結(jié)構(gòu)整齊,可以比較容易的實現(xiàn)拓?fù)潢P(guān)系,例如,構(gòu)造節(jié)點(diǎn)的指針指向其相鄰節(jié)點(diǎn)。②四邊形面類:這類面對象抽象類主要用來描述矩形實體,如平面墻體。矩形實體主要是由對象的外圍邊界組成。該抽象類中包含的內(nèi)容主要是邊界坐標(biāo)的信息。(4)面集合類:在3D數(shù)據(jù)模型中,大部分的實體對象具有規(guī)則有序的紋理結(jié)構(gòu),可以將這些相同紋理結(jié)構(gòu)的面集合成一個特殊的類。建筑物的每一個面都有與之相對應(yīng)的紋理結(jié)構(gòu)。所以為了提高數(shù)據(jù)庫空間的利用率,可以將具有相同的紋理的面對象,重新組織成一個新的對象,并且將新對象和對應(yīng)的紋理結(jié)構(gòu)信息存儲到數(shù)據(jù)庫中。當(dāng)可視化三維對象時,可以直接調(diào)用數(shù)據(jù)庫中的紋理結(jié)構(gòu)信27萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文息。面集合類的數(shù)據(jù)結(jié)構(gòu)如下:classFaceCom3D:publicCObject3D{Array3Dn_Face;//面Intn_Texture;//紋理IDFloat*n_TextureCoord;//紋理坐標(biāo)NMaterialn_Material;//材料Intn_Vector;//向量Intn_Color;//顏色}112233(a)(b)圖4-7建筑物體素的劃分方式(5)體素對象類:建筑物實體根據(jù)功能和形狀將其劃分為一些簡單的實體,這些簡單的實體成為體素。每個體素可以通過基本實體,如圓、球、長方體等來表示,亦可以通過邊界表示法來表示。每一個體素對象類包含一層或者幾層形狀功能相似的分層。圖4-7中,建筑物根據(jù)功能和形狀可以有兩種不同的劃分方式。體對象類的數(shù)據(jù)結(jié)構(gòu)定義如下:classNObject:publicCObject3D{Array3Dn_Object;//面對象數(shù)組Stringpurpose;//功能Someotherproperties;}(6)體對象類:該類主要用來描述空間中的一個實體,如一棟建筑物或者模型等。在三維數(shù)據(jù)模型中,體對象可以分為兩種,分別是簡單體對象和復(fù)雜體對象。在簡單體對象中,體對象作為最基本的體素,如柱體,長方體、球體等。而在復(fù)雜體對象中,體對象可以有很多的體素對象組成,如建筑物對象可以有地基子對象、墻面和屋頂子對象組合而成。類中還可以包含屬性信息,這些屬性信息28萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計存儲在數(shù)據(jù)庫中。在可視化過程中,需要體對象的空間數(shù)據(jù)和屬性信息時可以直接調(diào)用,然后以點(diǎn)坐標(biāo)的形式繪制出體對象。3維城市模型GeoObject地面模型GeoDEM建筑物模型幾何紋理GeoTextureGeometry規(guī)則格網(wǎng)不規(guī)則三角二維模型三維模型影像GeoGrid網(wǎng)Geometry2DGeometry3DGeoImagGeoTrianglee體對象紋理對象NObjectNTexture復(fù)雜體對簡單體對象象CObjectCSubobject長方體圓柱圓錐面對象線對象點(diǎn)對象NFace3dNEdge3dNNode3d三角形面四邊形面圖4-8對象與類關(guān)系圖10911(1)1213431214(2)①5687圖4-9數(shù)據(jù)存儲方案(7)紋理對象類:該抽象類主要用來描述空間對象的紋理結(jié)構(gòu)信息。紋理數(shù)據(jù)信息存儲在數(shù)據(jù)庫中,通過紋理ID與對應(yīng)的面對象對應(yīng)。需要紋理信息時,直29萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文接調(diào)用數(shù)據(jù)庫中信息即可,提高效率。在三維城市模型中,體對象,模型和數(shù)據(jù)類之間的聯(lián)系如圖4-8。4.3.2.5空間數(shù)據(jù)庫的設(shè)計在三維數(shù)據(jù)模型中,各類實體對象(如建筑物)的空間數(shù)據(jù)和屬性數(shù)據(jù)的存儲量依賴于實體對象的形狀。形狀復(fù)雜的空間對象,就需要相對較高的數(shù)據(jù)存儲量。合理設(shè)計數(shù)據(jù)結(jié)構(gòu)和存儲方式,對于實現(xiàn)3DGIS的各項功能具有非常重要的意義。本文基于面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu),設(shè)計開發(fā)了如圖4-9所示的數(shù)據(jù)存儲過程。圖中對象有兩個體素構(gòu)成,每個體對象有基本的點(diǎn)、線、面組合而成。數(shù)據(jù)庫各表之間的E-R關(guān)系圖如圖4-10,對應(yīng)的E-R圖如4-11:體素信息點(diǎn)信息面信息實體信息紋理信息住戶信息實體屬性信息圖4-10數(shù)據(jù)庫E-R關(guān)系圖根據(jù)圖4-9中的對象,設(shè)計的數(shù)據(jù)表如表4-1到4-7。表4-1點(diǎn)信息點(diǎn)所在體點(diǎn)在體素中點(diǎn)IDX坐標(biāo)Y坐標(biāo)Z坐標(biāo)說明素的ID的索引號PointIDXCoordinateYCoordinateZCoordinateMemoSubObjectIDPointIndex110????211?????1?????817????920?????2????1425????30萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計點(diǎn)信息表:表中存儲組成空間實體的所有點(diǎn)的相關(guān)信息,包括點(diǎn)ID,點(diǎn)所在的體素ID,點(diǎn)在體素中的索引號,點(diǎn)的X、Y、Z坐標(biāo)等。這些字段可以唯一標(biāo)識場景中的點(diǎn)及其位置,對應(yīng)的體素信息和在體素中所有點(diǎn)的排序信息,可以幫助處理VRML數(shù)據(jù)需求,如表4-1所示。圖4-11數(shù)據(jù)庫表關(guān)系圖表4-2面信息面ID面所在體素的ID組成面的點(diǎn)的索引面對應(yīng)的紋理ID說明FaceIDSubObjectIDPointIndexTextureIDMemo120,4,7,3,-10,2?210,1,4,3,-11,3?面信息表:表中存儲空間實體的面信息,包括面ID,面所在的體素ID,組成面的點(diǎn)的索引,面對應(yīng)的紋理ID等。其中,面ID用來在場景中唯一確定面信息,面所在體素的ID表明該面存在于一個體素中,組成面的點(diǎn)的索引表示構(gòu)成該面的點(diǎn)信息,面對應(yīng)的紋理ID表明構(gòu)成該面的紋理信息在紋理表中的標(biāo)識號。在體素中,點(diǎn)的索引號是從0開始,-1表示結(jié)束,通過索引號,可以方便的找到相關(guān)點(diǎn)的信息,如表4-2所示。31萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文表4-3紋理信息紋理ID紋理寬度象素紋理長度象素紋理數(shù)據(jù)說明TextureIDTexWidthTexHeightTexDataMemo021,33?紋理信息表:表中存儲空間實體的紋理信息,包括紋理ID,紋理寬度像素,紋理長度像素,紋理數(shù)據(jù)等。紋理寬度和長度像素表示紋理信息的像素組成信息,紋理數(shù)據(jù)表示像素的RGB值,如表4-3所示。表4-4體素信息體素所屬組成實體的體素ID分層數(shù)單元數(shù)的實體ID體素的索引MinXCMinYCMinZCMaxXCMaxYCMaxZCSubObjectIDLayerNumApartNumObjectIDSubOIndex???????????體素信息表:表中存儲空間實體的體素信息,包括體素ID,體素所屬的實體ID,組成實體的體素的索引,分層數(shù)和單元數(shù)等。其中體素ID用來標(biāo)識體素,體素所屬實體ID用來表示該體素組陳給的實體ID,組成實體的體素索引用來表示體素在空間實體中的索引號,如表4-4所示。組成實體的體素的索引號字段由三部分組成A-B-C:A:表示從上到下組成實體的第A個體素;B:表示從東向西組成實體的第B個體素;C:表示從南向北組成實體的第C個體素;表4-5實體信息實體ID實體的名稱MinXCMinYCMinZCMaxXCMaxYCMaxZCObjectIDObjectName在體素信息表中還存在分層數(shù)、單元數(shù)和坐標(biāo)信息等字段,分層數(shù)和單元數(shù)分別表示該體素分為幾層和幾個單元,坐標(biāo)字段表示體素邊界的最小坐標(biāo)和最大坐標(biāo)信息。通過體素信息表可以方便的計算每層或單元的邊界,供使用者查詢和檢索。實體信息表:表中存儲實體對象的信息,字段主要包括實體ID,實體的名稱和一些坐標(biāo)點(diǎn)的相關(guān)信息。通過實體ID,可以唯一標(biāo)識實體對象,實體的名稱標(biāo)識對象,可以重復(fù),坐標(biāo)點(diǎn)的信息可以幫助繪制長方形邊界信息,方便對實體對象的檢索,如表4-5所示。32萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計表4-6實體屬性信息投影面積??用途實體的名Area實體IDObjectID稱USAObjectNameGE實體屬性信息:該表存儲實體對象的屬性數(shù)據(jù),字段主要包括實體ID,實體的名稱,用途和投影面積等。實體的ID和實體的名稱和實體信息表中的字段相互對應(yīng),可以標(biāo)識一個實體對象,屬于外鍵,實現(xiàn)空間數(shù)據(jù)與屬性數(shù)據(jù)進(jìn)行交互。其它字段表示實體的相關(guān)屬性信息,如表4-6所示。住戶信息表:該表存儲住戶的相關(guān)信息,字段主要包括住戶的ID,可以唯一標(biāo)識用戶;戶主姓名表示戶主的屬性信息,如表4-7所示。表4-7住戶信息邊界長方體信息住戶ID戶主姓名ObjectIDSubObjectID(MinX,MinY,MinZ)ResidentIDResidentName(MaxX,MaxY,MaxZ)系統(tǒng)通過搜尋組成實體對象的體素中所有的坐標(biāo)點(diǎn)中的極限值,包括最大值和最小值,來確定邊界長方體坐標(biāo),然后通過比較所有邊界長方體的坐標(biāo)值中的的最值來確定實體對象的邊界信息。當(dāng)需要重建實體對象時,需要通過查找體素信息表,獲得組成該對象的所有體素信息,然后通過體素信息,查找面信息表,獲得組成實體的所有面的點(diǎn)的索引信息和面的紋理數(shù)據(jù),最后通過點(diǎn)的索引查找點(diǎn)信息表,獲得對應(yīng)點(diǎn)的空間坐標(biāo)。有了點(diǎn)的空間坐標(biāo),再利用三維圖形繪制應(yīng)用OpenGL可以重新繪制實體對象。4.4場景可視化構(gòu)建社區(qū)3DGIS阻礙之一就是實現(xiàn)三維可視化。在建立3DGIS的過程中,大部分的功能涉及到三維目標(biāo),這些三維目標(biāo)的顯示屬于三維可視化的范疇。因此,在3DGIS大部分功能的實現(xiàn)過程中,都會需要三維可視化的功能。對三維對象進(jìn)行可視化是3DGIS的一個基本功能,在3DGIS建設(shè)的每個過程都會需要這個基本功能。33萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文4.4.1建模方法三維可視化是3DGIS的一個基本功能??梢詮默F(xiàn)有的圖形學(xué)的發(fā)展成果和數(shù)據(jù)存儲結(jié)構(gòu)方面來考慮。(1)獲取DEM獲取DEM的方法有很多種。數(shù)據(jù)獲取技術(shù)發(fā)展的初期,主要通過航空影像和DEM疊加生成城市景觀模型,需要重復(fù)性的獲得DEM和影像,操作繁瑣。隨著技術(shù)的發(fā)展,可以通過批量獲得DEM和航空影像,構(gòu)建大范圍的城市景觀模型,但是這樣獲得的景觀缺乏真實感,造成紋理的失真,不能很好的表現(xiàn)三維場景。還有一種方法是通過激光掃描儀來獲得DEM,但是這種方法獲得的數(shù)據(jù)需要后續(xù)復(fù)雜的處理操作,不能夠很好的從數(shù)據(jù)中提取實體對象,導(dǎo)致建模工作困難,進(jìn)而阻礙空間實體的查詢和分析,可以用于對精度要求不高的城市景觀規(guī)劃中(2)幾何體建模2DGIS的成熟技術(shù)是的2DGIS已經(jīng)得到了很廣泛的應(yīng)用,系統(tǒng)中包含了大量的[33]數(shù)據(jù)。在構(gòu)建三維模型是,可以利用這些數(shù)據(jù)。在2DGIS的數(shù)據(jù)模型中,數(shù)據(jù)記錄包括建筑物實體的層數(shù)等一些基本信息,所以一些研究著提出基于這些層數(shù)數(shù)據(jù),利用假定高度和模擬紋理來重建建筑物對象。具體的操作方法是將2DGIS建筑物實體對象分割為幾個假定高度相同的幾何體,然后添加實體的一些屬性信息,如紋理等,構(gòu)建三維模型。這種方法不僅可以利用已有的2DGIS中的數(shù)據(jù),還可以利用2DGIS中的某些功能,如數(shù)據(jù)的管理等。規(guī)則幾何體建模主要是針對城市景觀中有規(guī)則的建筑物實體,可以快速的構(gòu)建三維城市模型。但是這種方法對于不規(guī)則的建筑物實體,構(gòu)建三維模型存在困難。(3)三維數(shù)據(jù)建模當(dāng)前存在的基于三維數(shù)據(jù)模型建模的方法有基于體數(shù)據(jù)模型的建模,基于面數(shù)據(jù)模型的建模和基于混合數(shù)據(jù)模型的建模,或者基于一種多種數(shù)據(jù)模型的建模。模型構(gòu)建后,利用三維圖形編程接口,如OpenGL等,實現(xiàn)3DGIS原型系統(tǒng)。但是上述方法中的每一種的數(shù)據(jù)模型都存在局限性,只適合基于對應(yīng)數(shù)據(jù)模型的實體對象,不能通用,進(jìn)行空間數(shù)據(jù)分析存在困難。構(gòu)建一種適用于所有數(shù)據(jù)模型的建模方法將會是今后研究的發(fā)展方向。4.4.2數(shù)據(jù)處理GIS的功能分為2DGIS和3DGIS功能。2DGIS的主要功能有:支持多種數(shù)據(jù)文件;圖形顯示;查詢分析;空間分析等。34萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計3DGIS的主要功能有:支持多種數(shù)據(jù)文件;模型建立;圖形顯示;場景管理;查詢分析;三維場景互操作和可視化;3DGIS到2DGIS的互響應(yīng)。到目前為止,沒有一款能夠真正有機(jī)整合這些功能的3DGIS。現(xiàn)有的3DGIS往往是通過將已有的2DGIS、DBMS和建模功能軟件,如CAD,相結(jié)合,從而實現(xiàn)3DGIS的效果。但是,不同的軟件結(jié)合需要將數(shù)據(jù)或模型在系統(tǒng)間(系統(tǒng)環(huán)境可能不同)進(jìn)行轉(zhuǎn)換,在轉(zhuǎn)換過程中,一般都會遇到系統(tǒng)不兼容或者數(shù)據(jù)存儲格式不一致的問題。不同的數(shù)據(jù)模型使用不同的數(shù)據(jù)格式,而且,為了保護(hù)數(shù)據(jù),這些數(shù)據(jù)格式并不是完全公開的,這對數(shù)據(jù)的有效利用造成不便。因此,很多的模型軟件都提供了將這些非公開數(shù)據(jù)格式轉(zhuǎn)換為中間數(shù)據(jù)格式的功能,在2DGIS中,中間數(shù)據(jù)[5]格式為DXF,在3DGIS中,中間數(shù)據(jù)格式為VRML。通過中間數(shù)據(jù)格式,我們可以對數(shù)據(jù)進(jìn)行進(jìn)行分析,處理,然后將空間數(shù)據(jù)和屬性數(shù)據(jù)存儲到數(shù)據(jù)庫中。在圖形顯示或查詢分析時,直接從數(shù)據(jù)庫中讀取相應(yīng)的空間數(shù)據(jù),重構(gòu)三維虛擬場景。圖4-12轉(zhuǎn)換后的VRML在3DGIS中,中間數(shù)據(jù)格式為VRML。利用VRML構(gòu)建三維模型主要有兩種方法:第一種是通過手工建模,這種方法需要完成大量的工作,包括數(shù)據(jù)的采集、整理和文件的編寫等,由于工作量大和復(fù)雜的原因,第二種方法成為較好的選擇。第二種方法是通過轉(zhuǎn)換已有的三維模型,可以減少工作量,快速完成建模?,F(xiàn)在,很多的三維模型軟件都提供轉(zhuǎn)換為VRML中間文件格式的功能,將VRML文件作為研究內(nèi)容。圖4-12是將使用ImaGIS建立的模型轉(zhuǎn)換為VRML后的效果圖:在中間文件數(shù)據(jù)VRML基礎(chǔ)上,對數(shù)據(jù)文件進(jìn)行分析和處理,并把處理的數(shù)據(jù)存儲到前面設(shè)計的空間數(shù)據(jù)庫中。在圖形顯示或查詢分析時,可以直接調(diào)用空間數(shù)據(jù)庫中的內(nèi)容,并用箱式分割數(shù)據(jù)模型技術(shù)重構(gòu)虛擬場景,實現(xiàn)三維可視化。空間數(shù)據(jù)讀取35萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文由于VRML中的內(nèi)容是通過ASCII碼來表示,所以,數(shù)據(jù)的讀取過程和一般的文件讀取過程類似:(1)首先,在GIS應(yīng)用程序中實現(xiàn)點(diǎn)類、面類、線類、面集合類、體素類和體對象類等,然后建立每個類對應(yīng)的數(shù)組,用來存放VRML中相應(yīng)的點(diǎn)、線和面數(shù)據(jù)。(2)將VRML中點(diǎn)、線、面數(shù)據(jù)讀取到對應(yīng)的類數(shù)組中。(3)將數(shù)組中的數(shù)據(jù)進(jìn)行分析、處理,然后存儲到空間數(shù)據(jù)庫中。在數(shù)據(jù)庫中存在相應(yīng)的點(diǎn)、線、面、體素和體對象的數(shù)據(jù)庫表。最后,將VRML中的點(diǎn)、線、面數(shù)據(jù)存儲到對應(yīng)點(diǎn)、線、面數(shù)據(jù)表的相應(yīng)字段中。空間數(shù)據(jù)處理經(jīng)過數(shù)據(jù)讀取過程存儲到數(shù)據(jù)庫中的空間數(shù)據(jù)和屬性數(shù)據(jù)時不可用的,需要經(jīng)過整理后,才能夠高效的利用這些數(shù)據(jù)。處理過程如下:圖4-13空間實體信息提?。?)空間數(shù)據(jù)提取通過中間文件格式VRML文件獲得的空間數(shù)據(jù),多個建筑物實體的空間數(shù)據(jù)信息重疊,給查詢分析造成困難。為了更好的利用空間數(shù)據(jù),需要把VRML文件中的單個建筑物實體的空間數(shù)據(jù)提取出來,這樣就可以針對單個建筑物信息進(jìn)行查詢。圖4-13中顯示勝利油田社區(qū)一角。VRML文件把圖中所有建筑物看做一個整體,將它們放到同一個節(jié)點(diǎn)之中,即圖中所有建筑物的空間數(shù)據(jù)重疊在一起,不能夠查詢單獨(dú)建筑物實體的信息。例如圖中建筑物A的信息無法查詢,應(yīng)用程序無法定位。通過三維建模軟件提供的中間轉(zhuǎn)換格式功能得到VRML格式的文件,其中的數(shù)據(jù)是以三角形面的形式存儲在數(shù)據(jù)庫中的,將數(shù)據(jù)提取出來可以組成如圖4-14所36萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計示的三角形面模型。一個建筑物實體是由點(diǎn)和點(diǎn)索引等空間數(shù)據(jù)組成,通過點(diǎn)和點(diǎn)索引等空間數(shù)據(jù)可以查找組成體素的所有面的信息。圖4-14三角形面模型圖4-15較復(fù)雜建筑物模型對于較復(fù)雜的建筑物模型,可以對面進(jìn)行分割成三角形面進(jìn)行處理,具體的處理過程遵循上述算法。如圖4-15所示,通過三維建模軟件提供的中間文件轉(zhuǎn)換功能獲得的VRML文件,存儲的信息是以三角形面的形式。所以圖中面1234,可以作為兩個三角形面123和134進(jìn)行處理。三角形面到四邊形面的轉(zhuǎn)換由于通過三維建模軟件提供的中間文件轉(zhuǎn)換功能獲得的VRML文件,其存儲的信息是以三角形面的形式,這樣在顯示場景時會產(chǎn)生問題。如果對三角形面進(jìn)行紋理貼圖,在三維可視化顯示場景是會產(chǎn)生很大的開銷,降低三維可視化的效率。所以,為了避免這種不必要的計算開銷,可以在進(jìn)行紋理貼圖時,將三角形面預(yù)處理為四邊形面。GIS空間數(shù)據(jù)中的數(shù)據(jù)量是非常大的,當(dāng)需要進(jìn)行數(shù)據(jù)的讀取操作時,會影響加載數(shù)據(jù)的時間,為了縮短這種不必要的開銷,需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行優(yōu)化37萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文處理。①數(shù)據(jù)庫優(yōu)化首先刪除重復(fù)冗余數(shù)據(jù),在存儲過程中,容易重復(fù)性的存儲點(diǎn)和面以及紋理數(shù)據(jù)。刪除這些重復(fù)數(shù)據(jù)可以在一定程度上提高加載效率。第二,可以建立索引,對每條建筑物空間數(shù)據(jù)記錄建立索引,通過索引可以快速找到符合條件的空間數(shù)據(jù)。②動態(tài)加載數(shù)據(jù)根據(jù)實際情況,在需要數(shù)據(jù)的時候動態(tài)的加載該數(shù)據(jù),不需要不加載。這樣可以減少數(shù)據(jù)加載量,節(jié)省時間。在場景顯示時,一般會建立視點(diǎn)緩存和預(yù)緩存,兩緩存在需要的時候交替進(jìn)行加載數(shù)據(jù),例如,當(dāng)預(yù)緩存不可見時,加載的是當(dāng)前視點(diǎn)將要到達(dá)的位置數(shù)據(jù)。獲得當(dāng)前視點(diǎn)的坐標(biāo),然后以此點(diǎn)為圓心,R為半徑,劃一圓圈。然后計算包含在此圓圈內(nèi)的建筑物實體,根據(jù)實體ID,從空間數(shù)據(jù)庫中讀取與建筑物相關(guān)的所有信息到視點(diǎn)緩存中。將下一個視點(diǎn)的相關(guān)信息存儲到預(yù)緩存中。當(dāng)視點(diǎn)的位置發(fā)生變化時,預(yù)緩存變?yōu)橐朁c(diǎn)緩存,原來的視點(diǎn)緩存存儲下一個視點(diǎn)信息,成為預(yù)緩存。視點(diǎn)緩存和預(yù)緩存交互替換,完成場景的顯示。采用動態(tài)加載數(shù)據(jù)的方式加載需要的數(shù)據(jù),提高了數(shù)據(jù)加載的速度,減輕了應(yīng)用程序的壓力。4.4.3模型顯示從數(shù)據(jù)庫中檢索模型點(diǎn)、線、面、體素和體對象等數(shù)據(jù)類,讀取相應(yīng)的空間數(shù)據(jù)、紋理、屬性數(shù)據(jù)等,利用圖形編程接口OpenGL,對模型進(jìn)行重構(gòu),實現(xiàn)三維場景的可視化。通過改變一個體素所屬的實體ID可以將幾個體素合并為一個建筑物實體,或者將幾個建筑物實體合并為一個建筑物群。在顯示建筑物實體時,利用SQL語句查詢數(shù)據(jù)庫,獲取屬于該建筑物實體的所有空間數(shù)據(jù)和屬性數(shù)據(jù),并將其存儲到OpenGL中,實現(xiàn)模型顯示。而關(guān)閉顯示,則是把數(shù)據(jù)從OpenGL中移除,該操作同樣是利用SQL語句來完成,通過刪除符合查詢條件的數(shù)據(jù),需要注意的是,此過程是不可逆的4.5本章小結(jié)本章主要介紹了GIS的總體結(jié)構(gòu),包括系統(tǒng)的總體設(shè)計結(jié)構(gòu),主要的功能,38萬方數(shù)據(jù) 第四章系統(tǒng)總體設(shè)計以及進(jìn)行2DGIS開發(fā)和3DGIS開發(fā)需要的技術(shù);如何進(jìn)行二維和三維數(shù)據(jù)的獲取,數(shù)據(jù)的管理;如何設(shè)計三維數(shù)據(jù)存儲數(shù)據(jù)庫,最后簡要介紹了三維場景可視化的方法。39萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)基于GIS的油田社區(qū)信息系統(tǒng)需要具備交互操作功能,方便用戶管理信息和查詢分析數(shù)據(jù)。在基于GIS的油田社區(qū)信息系統(tǒng)的原型系統(tǒng)中,系統(tǒng)提供了三種基本的交互功能:用戶與2DGIS的交互;用戶與3DGIS的交互;2DGIS和3DGIS的交互。用戶與2DGIS的交互主要是指用戶和二維信息的交互,主要包括二維地圖和數(shù)據(jù)等;而用戶和3DGIS的交互包括三維虛擬場景,三維空間數(shù)據(jù)的索引建立和查詢等。2DGIS與3DGIS的交互是指兩者交互響應(yīng)原理的實現(xiàn)。5.1用戶和2DGIS的交互5.1.1地圖的顯示電子地圖的實現(xiàn)主要是通過圖層集合的方式來完成。圖層的集合是利用MacX控件進(jìn)行組件式開發(fā),生成.gst文件。通過MapX可以方便的創(chuàng)建和添加新圖層,或者刪除不需要的圖層。圖層集合包含多個圖層,圖層集合包含多個圖層,這些圖層之間時相互獨(dú)立的,每個圖層對象都有單獨(dú)的空間數(shù)據(jù)和屬性,是空間數(shù)據(jù)和屬性方法的結(jié)合。2D電子地圖的顯示,如圖5-1。圖層中的屬性、視野方位可以通過系統(tǒng)進(jìn)行設(shè)置。在VC中調(diào)用.gst文件的方法如下:MapX.SetGeoSet(filepath+"SLYTMap.gst");添加新圖層的方法如下:New_Layer=MapX.AddLayer(name,position);5.1.2地圖的編輯除了地圖顯示功能外,GIS系統(tǒng)還提供了對地圖編輯的功能,具體的操作如下:(1)地圖操作工具:包含兩類:一類是地圖選擇工具,可以選中地圖區(qū)域進(jìn)行編輯;另一類是對象創(chuàng)建工具,可以創(chuàng)建地圖圖元對象。詳細(xì)的工具類型包括:地圖大小和位置改變工具:改變地圖大小,如放大,縮小等;改變地圖位置,如居中和平移等;標(biāo)注工具:選中地圖圖元添加標(biāo)注信息;選擇工具:具有多種選擇方式,構(gòu)建地圖圖元的集合,包括矩形選擇和圓形選40萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)擇等圖元創(chuàng)建工具:添加線圖元,點(diǎn)圖元或者區(qū)域圖元等;圖5-1二維電子地圖的顯示(2)創(chuàng)建圖元:創(chuàng)建圖元的方法有兩種,一種是通過地圖對象的FeatureFactory屬性方法操作現(xiàn)有圖元來創(chuàng)建圖元,另一種是通過分配新的Feature屬性來創(chuàng)建圖元。(3)圖元的變換:用戶通常會對已經(jīng)繪制的圖元進(jìn)行變換,包括位置的改變,大小和形狀的變換等。系統(tǒng)提供圖元變換工具供用戶使用。在提供的多種工具中,用戶可以選擇需要的工具對圖元進(jìn)行編輯。(4)圖元的合并和相交:通過MapX提供的FeatureFactory屬性方法來完成這些操作。(5)圖元的拷貝和剪貼:通過圖元的Clone方法來完成。5.1.3信息的查詢空間信息查詢功能是GIS具備的基本功能,是根據(jù)用戶要求,從大量的空間數(shù)據(jù)、屬性數(shù)據(jù)中,選擇出符合要求的空間數(shù)據(jù)。在空間信息查詢功能中,常用的查詢方式可以分為兩種:按照屬性特征查詢和按照空間關(guān)系查詢,即通過屬性查詢空41萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文間關(guān)系,或者通過空間關(guān)系查詢屬性。查詢的基本過程包括數(shù)據(jù)綁定、圖形信息查詢屬性信息和屬性信息查詢圖形信息,下面詳細(xì)介紹一下過程:(1)數(shù)據(jù)綁定:由于空間數(shù)據(jù)存放在dat文件,或者外部數(shù)據(jù)庫中,在進(jìn)行空間信息查詢時,需要先綁定空間數(shù)據(jù),才能執(zhí)行查詢操作。數(shù)據(jù)綁定可以通過Map.DataSets.Add方法來完成。在MapX中,數(shù)據(jù)結(jié)構(gòu)主要由三部分組成,分別是:layers,Datasets和Annotation。這三部分?jǐn)?shù)據(jù)結(jié)構(gòu)分別于空間數(shù)據(jù)、屬性數(shù)據(jù)的操作和文本標(biāo)注相關(guān)聯(lián)。(2)通過圖形信息查詢屬性信息:根據(jù)實體對象的空間位置或者空間關(guān)系來查詢實體對象的屬性信息。查詢的選擇方式有點(diǎn)查詢和范圍查詢。點(diǎn)查詢是通過用戶輸入一個點(diǎn)的坐標(biāo)位置,查詢此位置的實體和屬性信息;而范圍查詢則是通過用戶指定一個范圍,如矩形范圍等,在范圍內(nèi)查詢實體對象及其屬性信息。用戶可以根據(jù)需要從查詢結(jié)果中選擇和查詢所關(guān)心的屬性信息。通過MapX的通過MapX提供的屬性方法來實現(xiàn)。(3)通過屬性信息查詢圖形信息:與通過圖形信息查詢屬性信息相反,查詢符合用戶提交的屬性查詢條件的實體對象的空間位置和空間關(guān)系。通過SQL語句來實現(xiàn)查詢操作。另外,本功能還可以用作屬性信息統(tǒng)計,只顯示統(tǒng)計結(jié)果,不顯示圖形信息。與通過圖形信息查詢屬性信息相反,查詢符合用戶提交的查詢條件的實體對象5.1.4數(shù)據(jù)的分析數(shù)據(jù)的分析是指對空間數(shù)據(jù)進(jìn)行的運(yùn)算和查詢操作。在不同的應(yīng)用程序中,數(shù)據(jù)分析的方式各不相同。在MapX中,提供了如下的數(shù)據(jù)分析方式(運(yùn)算和查詢)方式,可以滿足一般系統(tǒng)的開發(fā)需求。MapX提供的空間數(shù)據(jù)分析方式主要包括以下幾種:(1)圖元間的包含關(guān)系:利用圖層的屬性方法search(strWhere,Variable)完成數(shù)據(jù)分析工作。查詢條件strWhere包括:包含關(guān)系:Object1containsObject2被包含關(guān)系:Object1withinObject2相交關(guān)系:Obejct1intersectsObject2(2)拓?fù)潢P(guān)系,主要包括以下幾種操作方式:查詢指定點(diǎn)處的圖元;查詢指定范圍內(nèi)的圖元;查詢包含在指定圖元中的圖元;查詢指定點(diǎn)或圖元周圍一定距離內(nèi)的圖元。這些查詢操作同樣是利用圖層的42萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)屬性方法來完成。(3)緩沖區(qū)分析:當(dāng)對地物附近的的活動數(shù)據(jù)進(jìn)行數(shù)據(jù)分析時,需要建立緩沖區(qū),存儲相關(guān)的活動數(shù)據(jù)。緩沖區(qū)可以通過如下的兩種方法實現(xiàn):一種是通過FeatureFactory的屬性方法BufferFeature來實現(xiàn);另一種是通過分配新的Buffer來實現(xiàn).當(dāng)查詢到需要的信息時,系統(tǒng)會按照用戶設(shè)定的顏色顯示,并把相應(yīng)的屬性信息顯示在對話框中。5.2用戶和3DGIS的交互在GIS的綜合信息查詢中,系統(tǒng)提供了三種交互操作。用戶和維虛擬場景的交互式是最基本的交互方式。實現(xiàn)交互的方式有兩種,分別是硬件支持的方式和軟件支持的方式。硬件支持的方式主要是通過使用三維交互設(shè)備來實現(xiàn);軟件支持的方式主要是通過二維設(shè)備進(jìn)行三維仿真。本文主要介紹面向軟件的三維圖形交互方法。用戶和3DGIS的交互操作主要包括用戶從不同的角度瀏覽三維場景,編輯三維場景,以及空間實體對象的定位等。5.2.1場景漫游3DGIS提供了場景的漫游功能,用戶可以通過控制工具調(diào)節(jié)漫游的速度和方向等,系統(tǒng)則實時獲取漫游的動態(tài),利用復(fù)雜的漫游算法重新繪制虛擬場景,實現(xiàn)場景的更新。漫游功能實現(xiàn)方式有兩種:一種是在場景中的視點(diǎn)不變的情況下,實現(xiàn)場景中模型坐標(biāo)的改變;另一種是保持模型坐標(biāo)相同,調(diào)節(jié)坐標(biāo)原點(diǎn)的方式。第二種實現(xiàn)漫游的方式符合人們現(xiàn)實中的動態(tài),比如,人在移動的過程匯中,人的視點(diǎn)是隨著位置的改變而變化的。(1)視點(diǎn)不變,場景模型坐標(biāo)變化在OpenGL中,場景模型坐標(biāo)的變換是通過OpenGL提供的平移、旋轉(zhuǎn)和縮放命令對三維虛擬場景進(jìn)行圍繞視點(diǎn)的反變換來實現(xiàn)的。這樣可以連續(xù)、流暢的進(jìn)行三維變換。在與三維虛擬場景進(jìn)行交互的時候,計算視點(diǎn)坐標(biāo)和點(diǎn)擊處坐標(biāo),獲得漫游算法所需要的參數(shù)數(shù)據(jù),然后調(diào)用相應(yīng)的算法,計算新的視線向量,變換場景的模型坐標(biāo),最終實現(xiàn)模型坐標(biāo)的變換,這種方法可以連續(xù)流暢的實現(xiàn)場景變換。43萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文(2)視點(diǎn)改變,模型坐標(biāo)不變用戶可以通過漫游控制工具和三維虛擬場景進(jìn)行交互,控制漫游的速度,方向以及觀察的角度和焦距等。當(dāng)用戶改變視點(diǎn)位置時,調(diào)整模塊會根據(jù)用戶的行為調(diào)整視點(diǎn)方向,改變視點(diǎn)位置。同時顯示模塊會根據(jù)新的視點(diǎn)位置坐標(biāo),調(diào)用復(fù)雜的漫游算法重新繪制三維虛擬場景。這種方式更接近現(xiàn)實世界的需求。在圖論中,我們知道漫游是通過改變場景模型的空間位置來實現(xiàn)用戶從不同的方向和位置瀏覽場景的。通過定義一個視點(diǎn)類來實現(xiàn)視點(diǎn)的變化,在觀察空間其它參數(shù)不變的情況下,使用4維變換矩陣來實現(xiàn)。classViewPoint{CoordinateCx,Cy,Cz;//視點(diǎn)坐標(biāo)MatrixCarray[4][4];//位置變換矩陣MoveVecMu,Md,Mr,Ml;//位置變換FloatTilt,Yaw;//觀察角度}GIS三維虛擬場景漫游效果圖,如圖5-2:圖5-23DGIS中漫游效果圖5.2.2場景中點(diǎn)的定位在虛擬場景中對空間點(diǎn)進(jìn)行定位是3DGIS的基本功能,通過定位點(diǎn)查詢相關(guān)的空間信息是一個重要的交互功能。在二維平面中,鼠標(biāo)的移動坐標(biāo)值和屏幕上44萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)的坐標(biāo)值是一一對應(yīng)的,但是在三維場景中,事件返回值則與多個坐標(biāo)值對應(yīng),不方便查詢。兩種方法:三維探測器定位法和矢量定位法,可以解決空間點(diǎn)的定位問題。(1)三維探測器定位法三維探測器定位法主要通過使用OpenGL提供的命令函數(shù)來完成。在現(xiàn)有的計算機(jī)系統(tǒng)中,默認(rèn)的坐標(biāo)原點(diǎn)位于窗口的左上角,X軸自左向右遞增,Y軸自上向下遞增。本方法是將屏幕窗口的左下角設(shè)置為坐標(biāo)原點(diǎn),將深度值作為Z軸坐標(biāo),這樣空間點(diǎn)的坐標(biāo)可以確定為:Cx,Cy,Cz。最后計算空間點(diǎn)在對象坐標(biāo)系中的坐標(biāo)??臻g點(diǎn)定位的過程如下:(1)首先將窗口坐標(biāo)原點(diǎn)設(shè)置為左下角坐標(biāo):用Height表示窗口的高度,對于現(xiàn)有坐標(biāo)系中的一個點(diǎn)(x?,y?),轉(zhuǎn)換后在新坐標(biāo)系中對應(yīng)的坐標(biāo)為(x=x?,y=Height-y?)。(2)計算深度值Z:通過OpenGL提供的函數(shù)來計算深度值Cz。(3)計算投影矩陣:glGetDoublev(PROJECTION_MATRIX,projm3D);(4)計算視口區(qū)域:glGetIntegerv(VIEWPORT,viewport);(5)計算模型矩陣:glGetDoublev(MODEL_MATRIX,modelm3D);(6)計算空間點(diǎn)在三維虛擬場景中的坐標(biāo),OpenGL提供了反解投影函數(shù)gluUnProject()來完成:(2)矢量定位法矢量定位法是通過在一條射線上進(jìn)行選取,適合二維鼠標(biāo)操作。模型的具體操作過程如下:首先將二維點(diǎn)坐標(biāo)(x,y)(將坐標(biāo)原點(diǎn)設(shè)置為左下角之后的二維坐標(biāo))映射到深度坐標(biāo)為0的三維空間中,即新的坐標(biāo)為N(x,y,0)。將從新坐標(biāo)出發(fā),指向Z軸負(fù)方向的射線標(biāo)示為Q(t)。Q(t)=N+at;其中,a=[0,0-1,0]然后計算射線Q與場景中的空間實體的邊界長方體的交點(diǎn),交點(diǎn)中與點(diǎn)N的距離最近的點(diǎn)作為選中點(diǎn)。只選取最近距離的點(diǎn),因為其他的點(diǎn)都被前面的點(diǎn)阻擋,這與用戶在現(xiàn)實世界的感覺是相似的。所以觀察者只能看見前面的對象,選取后面的對象沒有任何意義。45萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文5.3數(shù)據(jù)索引及信息查詢GIS的數(shù)據(jù)庫中存儲著大量的空間數(shù)據(jù),在進(jìn)行數(shù)據(jù)查詢和信息分析時,需要從大量的空間數(shù)據(jù)中,查詢出某一建筑物實體的空間信息,這是GIS應(yīng)具備的最基本功能。直接從大量的空間數(shù)據(jù)中查詢關(guān)心的數(shù)據(jù)耗費(fèi)大量的時間。所以GIS通常會對空間數(shù)據(jù)庫中的數(shù)據(jù)建立索引,利用索引查詢相關(guān)數(shù)據(jù),可以提高查詢的速度,進(jìn)行高效的分析。5.3.1數(shù)據(jù)索引方法GIS建立空間數(shù)據(jù)索引機(jī)制的方法主要有以下四種:對象范圍索引法、格網(wǎng)索引法、四叉樹空間索引法和R-tree索引法:(1)范圍索引法:在存儲空間對象數(shù)據(jù)時,同時存儲空間對象邊界的最大和最小值。在檢索時,利用最大最小值確定空間對象的位置范圍??梢詼p少檢索的范圍,提高檢索的效率。(2)格網(wǎng)索引法:本索引法是通過將三維空間劃分為符合一定規(guī)則的格網(wǎng),記錄每個格網(wǎng)中包含的空間對象。然后對格網(wǎng)進(jìn)行編碼,記錄其與空間對象的對應(yīng)關(guān)系,建立數(shù)據(jù)索引。(3)四叉樹空間索引法:本索引法是將三維虛擬場景按照四叉樹的方式進(jìn)行劃分,存儲每個區(qū)域包含的對象。然后對其進(jìn)行Morton編碼,記錄與空間對象的對應(yīng)關(guān)系,在進(jìn)行空間數(shù)據(jù)檢索時,可以按照Morton碼,結(jié)合四叉樹的邊長就可以高效的檢索到需要的空間對象。(4)R-tree索引法本索引法是將三維空間范圍劃分成虛擬空間目標(biāo)。虛擬空間目標(biāo)包括二維空間實體和三維空間實體。相近的二維空間實體或者三維空間實體位于同一個虛擬空間目標(biāo)中。在存儲空間實體時,同時存儲空間對象索引,方便查詢空間對象。虛擬空間目標(biāo)的數(shù)據(jù)模型結(jié)構(gòu)為:Object(ID,Type?.),其中,ID表示虛擬空間目標(biāo)的唯一標(biāo)識,Type表示虛擬空間目標(biāo)的類型,是實體還是虛擬。在R-tree索引機(jī)制的基礎(chǔ)上,R+-tree機(jī)制中虛擬空間目標(biāo)可以包含重復(fù)的空間對象。R+-tree索引機(jī)制在檢索空間數(shù)據(jù)時,首先判斷哪些目標(biāo)包含在檢索窗口內(nèi),接下46萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)來判斷哪些內(nèi)容被檢索,減少檢索的范圍,提高了檢索效率。3GIS數(shù)據(jù)庫中存儲著大量的空間數(shù)據(jù),實現(xiàn)某一空間對象的快速定位是實現(xiàn)空間信息查詢的基礎(chǔ)。而實現(xiàn)高效的信息查詢,需要對空間數(shù)據(jù)建立高效的數(shù)據(jù)索引。在油田社區(qū)信息系統(tǒng)的原型系統(tǒng)中,應(yīng)用R-tree索引法作為空間數(shù)據(jù)的索引機(jī)制,實現(xiàn)高效的查詢空間對象。5.3.2數(shù)據(jù)索引建立本文采用R-tree索引機(jī)制,是由于其更加適合對三維建筑物空間數(shù)據(jù)進(jìn)行索引,而且符合基于結(jié)構(gòu)實體幾何法和邊界表示法的箱式分割數(shù)據(jù)模型的特點(diǎn),可以實現(xiàn)高效的空間信息檢索。另外,R-tree的節(jié)點(diǎn)采用封閉的三維空間,如矩形,顯現(xiàn)對三維空間對象的檢索,建立空間數(shù)據(jù)的索引是高效查詢的前提,下面講述建立索引的步驟。(1)得到體素邊界信息:利用前面介紹的VRML空間數(shù)據(jù)處理算法,在提取建筑信息數(shù)據(jù)時,將同一體素的面數(shù)據(jù)和點(diǎn)數(shù)據(jù)存儲到相應(yīng)的數(shù)據(jù)表中,然后進(jìn)行邊界處理,通過比較獲得組成該體素邊界的最大值和最小值,并將其作為體素的邊界長方體信息。(2)得到建筑物的邊界信息:將獲得體素的邊界長方體信息進(jìn)行下一步處理,比較組成同一建筑物的所有體素的邊界信息,得到組成該建筑物的體素的最大值和最小值,作為建筑物實體的邊界信息。A建筑物B建筑物C建筑物C1體素A1體素B1體素C2C3A2體素……ABCA1A2B1C1C2C3圖5-3基于R-Tree機(jī)制的數(shù)據(jù)索引一個建筑物實體的邊界長方體是由多個體素的邊界長方體組成。建筑物的邊界長方體和體素的邊界長方體之間的關(guān)系及R-tree索引機(jī)制建立空間數(shù)據(jù)索引的47萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文過程,如圖5-3所示:在檢索空間數(shù)據(jù)時,首先判斷哪些建筑物目標(biāo)包含在檢索窗口內(nèi),接下來判斷哪些體素被檢索,然后按照體素的分層信息,查詢符合條件的空間數(shù)據(jù)信息,減少檢索的范圍,提高了檢索效率。與格網(wǎng)索引法類似,R-tree索引法也可以將整個虛擬場景分割成符合一定規(guī)則的虛擬長方體,然后記錄每個虛擬長方體中包含的建筑物實體的邊界長方體信息,最后按照R-tree索引機(jī)制建立空間數(shù)據(jù)索引,對基本索引過程進(jìn)行擴(kuò)展,適用于整個虛擬場景。5.3.3空間信息的查詢空間信息查詢功能是GIS具備的基本功能,是根據(jù)用戶要求,從大量的空間數(shù)據(jù)、屬性數(shù)據(jù)中,選擇出符合要求的空間數(shù)據(jù)。與2DGIS的信息查詢類似,3DGIS不僅可以實現(xiàn)查詢符合條件的空間數(shù)據(jù)和屬性信息,還可以實現(xiàn)如下的交互查詢:(1)通過圖形信息查詢屬性信息在建立空間數(shù)據(jù)索引的基礎(chǔ)上,根據(jù)空間實體和組成該實體的體素的邊界長方體的信息,可以查詢屬性信息,步驟如下:①讀取選取區(qū)域的二維坐標(biāo)值。②利用獲得的二維坐標(biāo)值,在三維虛擬場景中找到該區(qū)域的深度值,即Z軸坐標(biāo),得到三維坐標(biāo)。③計算選取區(qū)域的三維坐標(biāo)值與每個建筑物實體的長方體邊界的交集,如果點(diǎn)包含在邊界長方體的內(nèi)部,或者區(qū)域與邊界長方體存在交集,則表明該建筑物實體被選中。④接下來計算與體素邊界長方體的交集,如果點(diǎn)在體素邊界長方體內(nèi),或者區(qū)域與體素邊界長方體有交集,則表明該體素被選中,獲得該體素的ID。⑤按照③步獲得的建筑物實體的ID,建立查詢語句,檢索建筑物實體的屬性表,將屬性信息呈現(xiàn)給用戶。⑥按照③步獲得的建筑實體ID和④步獲得的體素ID,建立查詢語句,檢索提速表,獲得體素的分層信息。(2)通過屬性信息查詢圖形信息利用空間實體的屬性信息查詢相應(yīng)的圖形信息,可以通過下面兩種方式來實現(xiàn),分別是:借用OpenGL選擇機(jī)制和基于箱式分割模型的查詢。<1>借用OpenGL選擇機(jī)制:在利用OpenGL繪制地物時,對要查詢地物建立標(biāo)48萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)識好,在屬性數(shù)據(jù)表中,增加查詢地物的標(biāo)識字段。由屬性信息查詢圖形信息的操作過程如下:①建立查詢語句,檢索建筑物實體數(shù)據(jù)表,查找符合檢索條件的實體的標(biāo)識ID。②根據(jù)實體標(biāo)識ID,找到空間實體的名字標(biāo)識③通過OpenGL提供的選擇模式,可以找到實體的名稱。④通過高亮度顯示空間實體,視點(diǎn)坐標(biāo)轉(zhuǎn)換為合適的觀察位置。借用OpenGL的選擇機(jī)制,需要對查詢地物進(jìn)行標(biāo)注,而且需要繪制地物多次,查詢范圍受到限制,影響檢索效率。<2>基于箱式分割模型的查詢:在建立三維數(shù)據(jù)模型過程中,將實體的空間數(shù)據(jù)和屬性信息存儲到相應(yīng)的數(shù)據(jù)表中。然后通過查詢數(shù)據(jù)表,可以方便的找到滿足用戶要求的空間實體,檢索過程如下:①建立查詢語句,檢索建筑物實體屬性數(shù)據(jù)表,查找符合檢索條件的實體的標(biāo)識ID。②利用實體的標(biāo)識ID,在空間數(shù)據(jù)表中查找對應(yīng)的邊界長方體信息。③通過高亮度顯示空間實體,視點(diǎn)坐標(biāo)轉(zhuǎn)換為合適的觀察位置?;谙涫椒指钅P偷牟樵兎椒?,消除了查詢范圍的限制,只需繪制地物一次,提高了檢索效率。圖5-43DGIS中空間信息查詢利用圖形信息查詢屬信息時,選中建筑物實體,在對話框中顯示相應(yīng)實體的屬性信息;利用屬性信息查詢圖形信息時,只需要在對話框中輸入屬性信息,符合條49萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文將三角面數(shù)據(jù)存入數(shù)組Mian[m][n]中初始化:定義變量longFindMian[5000];intindex;longFindMianIndex=0;新建體素,清空FindMian數(shù)組。找到Mian[i][3]=0的i,將體素ID賦給i所表示的面,然后設(shè)置Mian[i][3]=1。k=0;FindMian[k]=i;令I(lǐng)ndex=0FindMianIndex=FindMian[Index];Forj=0if(Mian[j][3]=0)continue;Form=0to3Forn=0to3if(Mian[j][m]==Mian[FindMian][n]){Found=1;break;}EndFor;if(Found==1)break;EndForIf(found){Mian[j][3]=1,FindMian[k++]=j;}j++否j>n?是index++否index>k?是i++否i>n?是退出圖5-5查找面信息算法50萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)件的建筑物實體選中顯示,如圖5-4所示。下面以圖中的三角形面模型為例,講述一下如何處理點(diǎn)和點(diǎn)索引信息,找到場景中所有的體素信息。一個建筑物實體中共享同一點(diǎn)的各個面是屬于同一體素的。利用這個特征,我們可以通過一個面中與其他面的共享點(diǎn),找到其他面信息,然后通過其他面與另外一些面的共享點(diǎn)查找面信息,循環(huán)多次,直到找到一個場景中的所有體素信息。查找組成體素所有面信息的過程如下:①把組成體素的所有面信息存儲到數(shù)組中。首先,建立二維數(shù)組Mian,第一維存放三角形面模型的個數(shù),第二維賦值為4。把VRML中的所有點(diǎn)和點(diǎn)索引信息以及面信息存儲到Mian數(shù)組中,存儲順序為在Mian數(shù)組的前三個元素賦值為三角形面的三個點(diǎn)在點(diǎn)信息表中的索引號,第四個元素中賦值為面的讀取標(biāo)識。另外,建立FindMian[k]一維數(shù)組,用來查找組成某個體素的第k個面信息,F(xiàn)indMian[k]的值表示構(gòu)成該體素的面信息的唯一的標(biāo)識號。②在Mian[n][i],0面的個數(shù),退出循環(huán),繼續(xù)下面的操作。③退出第3步的循環(huán)后,繼續(xù)另一個循環(huán),循環(huán)讀取FindMian[]中的所有面,即找到作為比較的面,然后執(zhí)行Mian[FindMian[index+1]],再次進(jìn)入第3步的循環(huán)。不過在比較開始前,要先判斷Mian[j][3]的值是否被設(shè)置,如果已經(jīng)設(shè)置,則不用再進(jìn)行比較,進(jìn)行下一個循環(huán);如果沒有設(shè)置,則開始第3步的循環(huán)。往復(fù)循環(huán),直至index>k,則表示某個體素的所有面已經(jīng)比較完畢。Mian數(shù)組中讀取標(biāo)識被設(shè)置的面屬于同一個體素,所以講數(shù)據(jù)庫中面信息表中的面所在體素ID字段設(shè)置為該體素的ID。循環(huán)算法偽代碼如下:Form=0to3Forn=0to3if(Mian[j][m]==Mian[FindMian][n]){Found=1;break;}EndFor;if(Found==1)break;EndFor51萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文If(found){Mian[j][3]=1;FindMian[k++]=j;}④在②③④的循環(huán)完成之后,進(jìn)入下一個體素的循環(huán)。查找Mian[j][3]中還未被設(shè)置的面,執(zhí)行②③④⑤。⑤最后所有讀取標(biāo)識被設(shè)置的面存儲到空間數(shù)據(jù)庫中,面數(shù)據(jù)提取結(jié)束,具體的算法過程如圖5-5。5.42DGIS與3DGIS的交互2DGIS和3DGIS的互響應(yīng)機(jī)制可以使兩者的優(yōu)勢得到發(fā)揮,2DGIS的平面對象可以在3DGIS中顯示,可以實現(xiàn)查詢結(jié)果以三維可視化虛擬場景的方式顯示。在3DGIS中查詢實體對象時,也可以在2DGIS中同時顯示目標(biāo)?;ロ憫?yīng)機(jī)制在很[11]多方面都得到了應(yīng)用,如GPS等。5.4.1基本原理2DGIS和3DGIS的互響應(yīng)是實現(xiàn)GIS綜合信息查詢的基礎(chǔ)。互響應(yīng)的本質(zhì)是二維空間數(shù)據(jù)和三維空間數(shù)據(jù)的一種映射,建立二維空間坐標(biāo)和三維空間坐標(biāo)的[23,24]一一對應(yīng)以及地物名稱的一一對應(yīng)。映射機(jī)制是實現(xiàn)互響應(yīng)機(jī)制的基礎(chǔ)。在進(jìn)行空間數(shù)據(jù)檢索時,根據(jù)屬性數(shù)據(jù),檢索屬性數(shù)據(jù)表,獲得實體的標(biāo)識ID,然后根據(jù)ID檢索空間數(shù)據(jù)表以及map文件,獲得相應(yīng)的三維數(shù)據(jù)和二維數(shù)據(jù),最后以某種顏色顯示結(jié)果。SLInfoSys系統(tǒng)實現(xiàn)了互響應(yīng),通過互響應(yīng)機(jī)制實現(xiàn)了二維場景和三維場景的通信。5.4.2表現(xiàn)形式根據(jù)不同的應(yīng)用,互響應(yīng)機(jī)制的表現(xiàn)形式也不同。常用的表現(xiàn)形式一般有以下幾種:(1)通過二維信息查詢?nèi)S信息:在2DGIS中查詢實體信息時,在3DGIS中相應(yīng)目標(biāo)選中顯示。(2)通過三維信息查詢二維信息。52萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)(3)用戶在三維場景中漫游時,實時顯示用戶在二維電子地圖中對應(yīng)的位置。(4)用戶在二維電子地圖中位置改變時,三維場景中的視點(diǎn)轉(zhuǎn)換到相應(yīng)的位置。(5)三維模型實時調(diào)入。(6)虛擬場景飛行漫游。5.5系統(tǒng)實現(xiàn)GIS是一種收集、分析和處理空間數(shù)據(jù),建立數(shù)據(jù)模型,響應(yīng)用戶查詢要求的空間信息處理技術(shù),可以方便而快捷的提供給決策者關(guān)于區(qū)域建設(shè),方案甄選等方面的空間數(shù)據(jù)信息。2DGIS存在三維空間數(shù)據(jù)丟失的問題,3DGIS與2DGIS的結(jié)合可以彌補(bǔ)這一問題,也可以保存2DGIS的優(yōu)勢。SLInfoSys是利用GIS技術(shù)實現(xiàn)了對社區(qū)環(huán)境中的建筑物實體進(jìn)行實時的位置顯示,還可以進(jìn)行漫游、定位和查詢等功能。本系統(tǒng)以勝東社區(qū)勝利小區(qū)的地物信息為基礎(chǔ),通過對MapX控件的二次開發(fā)來實現(xiàn)。圖5-6—5-9為系統(tǒng)界面圖。5.5.1空間信息查詢空間信息查詢是指根據(jù)用戶要求,從大量的空間數(shù)據(jù)、屬性數(shù)據(jù)中,選擇出符合要求的空間實體及屬性信息。用戶也可以選擇場景中的任意區(qū)域,在主場景中則同步顯示該區(qū)域的信息,達(dá)到快速顯示瀏覽的目的。系統(tǒng)中顯示區(qū)域的偽代碼(為了便于理解,用3DLibrary代替MapX):privatevoidRegionView(….){3DLibrary.Featurefeature;//聲明一個圖元特性3DLibrary.Nodesnodes=newNodes();3DLibrary.RegionStylestyle=newStyle();3DLibrary.Node3dnode1=new3DLibrary.Node();3DLibrary.Node3dnode2=new3DLibrary.Node();3DLibrary.Node3dnode3=new3DLibrary.Node();3DLibrary.Node3dnode4=new3DLibrary.Node();//設(shè)置矩形四角坐標(biāo)53萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文3dnode1.Set(XMin,YMin);3dnode2.Set(XMax,YMin);3dnode3.Set(XMax,YMax);3dnode4.Set(XMin,YMax);圖5-62DGIS中的信息查詢//添加點(diǎn)nodes.Add(3dnode1,1);nodes.Add(3dnode2,2);nodes.Add(3dnode3,3);nodes.Add(3dnode4,4);//創(chuàng)建圖層Try{3DLibrary.LayerInfolayer=newLayerInfoClass();3DLibrary.Fieldsfields=newFieldsClass();54萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)stringlayerName=Layer.SelectedItem.ToString();fields.AddSmallIntField("ID",1);layer.Type=LayerInfoTypeConstants.miLayerInfoTypeTemp;layer.AddParameter("Name",layerName);layer.AddParameter("Fields",fields);3DLibrary.axMap.Layers.Add(layer,0);}catch(Exceptione){MessageBox.Show("出錯,錯誤如下:"+e.Message,");}//設(shè)置邊框樣式RegionStyle.RegionPattern=FillPattern.NoFill;RegionStyle.RegionBorderColor=(uint)3DLibrary.Color.Blue;RegionStyle.BorderWidth=2;//利用Map屬性創(chuàng)建矩形框Try{feature=3DLibrary.axMap.FeatureFactory(nodes,RegionStyle);feature_house=Map.Layers..AddFeature(feature,newRowClass());}catch(Exceptione){MessageBox.Show("出錯,錯誤如下:"+e.Message,");}}空間點(diǎn)定位過程中坐標(biāo)轉(zhuǎn)換代碼:privatevoidMapNavigation(....){doubleMapX=0.0;//初始化為原點(diǎn)坐標(biāo)doubleMapY=0.0;Map.ConvertCoord(x,y,MapX,MapY,3DLibrary.ConversionToMap);Map2.X=x;Map2.Y=ScreenHeight-y;55萬方數(shù)據(jù) 電子科技大學(xué)碩士學(xué)位論文}圖5-73DGIS中的信息查詢、視點(diǎn)控制空間點(diǎn)定位功能的實現(xiàn)如圖5-7所示。首先,將選中圖層的名稱屬性和樹狀顯示結(jié)構(gòu)綁定,在樹狀結(jié)構(gòu)中找到對應(yīng)的圖元,最后在主場景中顯示要查找的圖元信息,并將其它相關(guān)屬性信息顯示在主場景下方。系統(tǒng)中定位目標(biāo)圖元主要偽代碼://查找定位Name字段為text的圖元stringstring="Name="+'"'+Text+'"';//設(shè)置圖層名stringlayerName=Layer.SelectedItem.ToString();FoundTarget=Map2.Layers.Item(layerName).Search(string);if(FoundTarget.Count>0)//若找到目標(biāo)圖元{//獲得坐標(biāo)值Map2.X=FoundTarget.Item(1).X;Map2.Y=FoundTarget.Item(1).Y;}56萬方數(shù)據(jù) 第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)Else{MessageBox.Show("Nosuchinformation");}下述代碼實現(xiàn)了顯示目標(biāo)圖元”Notes”屬性//顯示圖元Notes字段信息layer=Map2.Layers._Item(layerName);//comboBox1中選擇的圖層3DLibrary.Fieldsfields=new3DLibrary.FieldsClass();fields.Add("Name","Name",3DLibrary.AggregationFunction.Sum,3DLibrary.FieldType.Type);fields.Add("Notes","Notes",3DLibrary.Sum,FieldType.Type);dataSets=Map2.DataSets.Add(3DLibrary.DatasetType.SetLayer,layer,layer.Name);//將flds內(nèi)容添加到數(shù)據(jù)集for(inti=0;i

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。
大家都在看
近期熱門
關(guān)閉