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