[摘 要] 本文以三峽庫區(qū)河流景觀場景為實驗對象,介紹了一種河流VRGIS的設(shè)計思想與概要實現(xiàn)方法。在綜合二維空間數(shù)據(jù)、三維空間數(shù)據(jù)和屬性數(shù)據(jù)的基礎(chǔ)上,提供庫區(qū)人機交互的景觀瀏覽功能和數(shù)據(jù)查詢功能。通過Vega和ArcGIS的結(jié)合,開發(fā)出一個簡單實用的VRGIS,既能作為庫區(qū)管理規(guī)劃的平臺,又能為旅游宣傳提供一種新的途徑。
[關(guān)鍵詞] :Vega API;ArcGIS engine;Visual C++;VRGIS
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 09 . 032
[中圖分類號]C931.6;TP315 [文獻標(biāo)識碼]A [文章編號]1673 - 0194(2010)09- 0084- 02
1引言
傳統(tǒng)的二維地理信息系統(tǒng)(2DGIS)是把現(xiàn)實的三維景觀投影到二維平面上,是對現(xiàn)實世界的一種抽象和簡化。通過建立二維平面和三維坐標(biāo)的一一對應(yīng)關(guān)系,空間信息的表達過程得到了簡化,但是隨之而來的是三維信息的丟失(比如高程信息和三維拓撲關(guān)系)。隨著電子技術(shù)的發(fā)展,計算機對圖形的處理能力日益增強,三維地理信息系統(tǒng)(3DGIS)可以克服2DGIS信息損失大的缺點,完整地真實地再現(xiàn)場景,得到了廣泛的應(yīng)用。
自20世紀(jì)末開始,虛擬現(xiàn)實技術(shù)(VR)開始與地理信息系統(tǒng)(GIS)相結(jié)合,產(chǎn)生了交互性更強、界面更友好的新型技術(shù)——虛擬現(xiàn)實地理信息系統(tǒng)(VRGIS)。虛擬現(xiàn)實技術(shù)作為傳統(tǒng)地理信息系統(tǒng)與用戶之間的紐帶,不僅能夠為用戶提供了一個交互性更強的界面,使得觀察變得更加自由、效果更加真實,提高地理數(shù)據(jù)的表現(xiàn)能力,也能夠像傳統(tǒng)地理信息系統(tǒng)一樣進行三維空間分析。二者的結(jié)合擴展了地理信息系統(tǒng)的應(yīng)用領(lǐng)域,如今,VRGIS已經(jīng)在多個領(lǐng)域得到了廣泛的應(yīng)用,如城市規(guī)劃、環(huán)境監(jiān)測等領(lǐng)域。
VRGIS是目前地理信息系統(tǒng)和虛擬現(xiàn)實技術(shù)研究的熱點,在虛擬現(xiàn)實技術(shù)的支持之下,虛擬的或真實的景觀可以被重建,本文以長江三峽庫區(qū)為例,構(gòu)建一個河流景觀的虛擬瀏覽系統(tǒng)。
2系統(tǒng)設(shè)計
2.1綜述
在VRGIS系統(tǒng)中, 一般通過VR來創(chuàng)建虛擬信息空間和管理用戶與虛擬信息空間的交互, 而GIS則是用來管理空間數(shù)據(jù)(如圖1所示)。
本文以Visual C++語言為工具,建立一套基于ArcGIS engine和Vega API的VRGIS。該VRGIS主要由兩個獨立的模塊組成——GIS模塊和虛擬景觀瀏覽模塊。其中,GIS模塊主要由ArcGIS engine來完成,ArcGIS系列產(chǎn)品是目前市場上最完善、普及率最高的GIS產(chǎn)品;虛擬景觀瀏覽模塊主要由Multigen-Paradigm公司的Vega來實現(xiàn),Vega是一種用于實時模擬和虛擬現(xiàn)實應(yīng)用的高性能執(zhí)行軟件和工具,它包含LynX圖形用戶接口,Vega庫以及C語言開發(fā)接口等工具,可以實現(xiàn)VR功能。基于二者的二次開發(fā)是一種切實可行的、適用于一般初級用戶的系統(tǒng)建立方法。雖然兩個模塊相互獨立,但是通過一套高效的信息傳遞機制,可以將二者緊密地聯(lián)系在一起,從而達到高內(nèi)聚低耦合的目標(biāo)。
2.2GIS模塊
ArcGIS系列產(chǎn)品提供了一套功能強大的組件,通過組件技術(shù)進行二次開發(fā)可以極大地提高系統(tǒng)開發(fā)的效率和質(zhì)量,避免了從底層開發(fā)帶來的一系列難題。該系統(tǒng)以GIS的界面作為主界面,一切VRGIS的操作都從此發(fā)生。
(1) 圖層操作功能:該功能可以允許用戶向系統(tǒng)中添加或者刪除地圖文件;抑或調(diào)整圖層的順序,以期達到不同的疊加效果。
(2) 圖層顯示基本操作:包括圖像放大、縮小、平移等基本的顯示操作。在這些請求傳遞到GIS模塊后,GIS首先在縮略導(dǎo)航圖中對請求進行響應(yīng),同時利用消息傳遞機制把視野改變的消息傳遞到VR,VR再把相應(yīng)的變化顯示在窗口,比如圖像縮小對應(yīng)著視點的提高。
(3) 屬性查詢功能:GIS模塊允許用戶對目標(biāo)地物的屬性進行查詢,最典型的是獲得特定點的高程,也可以獲得某一地塊的土地應(yīng)用類型,這些都需要有充足的源數(shù)據(jù)來保證。
(4) 空間分析模塊:在GIS模塊中,整合了一些簡單的空間分析功能,如疊加分析、淹沒分析。
2.3VR模塊
(1) 三維場景建立:首先利用該區(qū)域的DEM數(shù)據(jù)生成地表模型,貼上正射影像圖作為地表紋理。按照不同的屬性,分別由3DMax向Vega中輸入地形、河流、植被、建筑等模型,并貼上合適的材質(zhì)。
(2) 瀏覽模式選擇:Vega為創(chuàng)建復(fù)雜的仿真應(yīng)用程序提供了一種簡便快捷的方法。在本文中,選擇Vega的C語言應(yīng)用程序接口(API)進行二次開發(fā),利用Vega高性能仿真模擬功能來實現(xiàn)虛擬漫游功能。用戶以默認的俯瞰模式瀏覽庫區(qū)景觀,該模塊中,用戶的視點為GIS模塊中二維縮略圖上用戶指定的一點,視高和視角均可以由用戶自由設(shè)定,利用Vega提供的函數(shù),調(diào)整窗口中的顯示,從而實現(xiàn)交互式瀏覽的效果。
2.4消息傳遞機制
由于該系統(tǒng)主要由兩個模塊組成,其中GIS模塊作為系統(tǒng)的主干,承擔(dān)著系統(tǒng)啟動、退出、選擇操作等主要的操作,而VR模塊則把GIS的成果轉(zhuǎn)變成更加真實、更加友好的界面?zhèn)鬟f信息。由于分工需要,這兩個模塊必須保持實時的同步關(guān)系,比如當(dāng)GIS模塊完成二維縮略圖繪制時,有必要等待Vega模塊完成三維場景生成工作,等待其繪制成功后再允許用戶選擇瀏覽操作以避免不必要的沖突;或者是用戶在GIS模塊中選擇了平移視圖操作,二維縮略圖平移后把平移的操作消息傳送給VR模塊,VR模塊重新生成三維場景(改變視點的位置),生成完成后再把完成的消息發(fā)送給GIS模塊,在此之后GIS模塊才能繼續(xù)等待用戶選擇操作。
主要參考文獻
[1] 鄧俊峰,等. 校園VRGIS系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2004(6).
[2] 江輝仙,等. 福建東圳庫區(qū)淹沒及水土流失的3D-VRGIS構(gòu)建與應(yīng)用[J]. 地球信息科學(xué),2008,10(1).
[3] 尚濤,等. 基于VEGA API 的城市規(guī)劃系統(tǒng)的研究[J]. 武漢大學(xué)學(xué)報:工學(xué)版,2003(3).
[4] 江輝仙,等. 基于VRGIS 的庫區(qū)三維仿真系統(tǒng)設(shè)計及應(yīng)用——以莆田市東圳水庫為例[J]. 福建師范大學(xué)學(xué)報:自然科學(xué)版,2006,22(4).
[5] 胡海艷,等. 基于虛擬現(xiàn)實技術(shù)校園漫游系統(tǒng)的實現(xiàn)[J]. 電腦與電信,2009(6).