摘 要: 介紹了傳統(tǒng)的輸電" title="輸電">輸電網地理信息系統(tǒng)的優(yōu)點及不足,提出了建立基于VR技術的三維輸電網地理信息系統(tǒng),分析了三維地理信息系統(tǒng)建立的相關技術,通過實例說明VRML與Java的結合。通過對系統(tǒng)功能的分析,證明該系統(tǒng)能夠比較好地彌補二維GIS" title="GIS">GIS系統(tǒng)的不足,從而有效地提高輸電部門的生產效率、降低線路運行維護成本,對于提高整個電力系統(tǒng)經濟效益有重要的意義。
關鍵詞: 虛擬現(xiàn)實" title="虛擬現(xiàn)實">虛擬現(xiàn)實 三維地理信息系統(tǒng) 輸電網 空間數據
地理信息系統(tǒng)(GIS)可以將輸電網中的各種信息有機地與反映地理位置的圖形信息結合,實現(xiàn)具有拓撲結構和分析功能的空間數據庫系統(tǒng),并且提供了強有力的手段處理圖形和非圖形信息,為電力部門提供智能化決策和控制。因此,在輸電網中采用GIS技術不僅僅能使輸電網的管理上升到一個新的高度,也為改進輸電質量、減少事故和檢修時的停電時間、提高供電可靠性、降低電網運行費用提供了新手段[1]。
目前在電力系統(tǒng)中廣泛應用的主要是基于二維坐標的GIS系統(tǒng),系統(tǒng)采用層的形式區(qū)分顯示各種類型的地物元素,即在不同的層中以點、線、面等符號表征不同類型的實際物體。二維GIS系統(tǒng)最大的缺點就是其簡單的幾何圖形加標注的表現(xiàn)形式并不能真正地反映線路、桿塔等電力設備設施周圍的地形地貌,不能為巡視、操作及檢修人員提供一個真實的功能環(huán)境信息。
隨著計算機圖形技術、空間數據庫技術的發(fā)展,特別是虛擬現(xiàn)實技術在電力系統(tǒng)信息化中的逐步應用,一種基于空間數據庫技術和三維虛擬現(xiàn)實技術的三維地理信息系統(tǒng)應運而生[2]。相比較于二維GIS,三維GIS最大的優(yōu)點是增加了z軸上的表現(xiàn)能力,使空間物體在程序中能夠最大程度地真實顯現(xiàn),使操作更加方便,對減少誤操作率及提高電力系統(tǒng)的安全性有重要意義,并且能夠表現(xiàn)地物之間的空間垂向關系,因此在空間分析能力上也較原來的二維GIS系統(tǒng)更勝一籌。本文借助虛擬現(xiàn)實技術,通過VRML與Java相結合,實現(xiàn)了一個三維輸電網GIS系統(tǒng)。
1 虛擬現(xiàn)實(VR)技術
虛擬現(xiàn)實(Virtual Reality,簡稱VR)技術是一種使人沉浸于一個由計算機生成或以計算機為中介的可交互虛擬環(huán)境中的顯示和控制技術。這種技術有三大特點:沉浸感,即用戶在視覺上產生一種沉浸于虛擬環(huán)境的感覺;交互性,即虛擬現(xiàn)實所產生的模型是一個開放、互動的環(huán)境;想象性,即虛擬現(xiàn)實技術以視覺形式反映了設計者的思想。虛擬現(xiàn)實的上述特點決定其在軍事仿真、教育、醫(yī)學、游戲、遙控機器人、虛擬設計、虛擬制造等領域都得到了廣泛的應用[3]。
將虛擬現(xiàn)實技術應用于計算機系統(tǒng)中,就形成了VR系統(tǒng)。VR系統(tǒng)一般應具備以下特征:(1)以計算機系統(tǒng)為中心的一種計算機應用系統(tǒng);(2)展現(xiàn)三維多媒體空間;(3)對象的交互性;(4)使用者的訪問不以VR系統(tǒng)作者的設定為轉移,可以由使用者本身自由控制[4]。
虛擬現(xiàn)實的實現(xiàn)有軟件和硬件兩種實現(xiàn)方法。對于后者需要昂貴的硬件設備,例如頭盔顯示器等,目前僅僅應用在航天和軍事上。而利用軟件編程的方法在顯示器上輸出逼真的具有虛擬現(xiàn)實特征的三維場景,用軟件的方法對硬件依賴性不高,相對來說易于實現(xiàn),運用范圍日益廣泛。本文將采用軟件方法實現(xiàn)。
2 系統(tǒng)設計相關技術
本文采用VRML與Java相結合的手段來實現(xiàn)一個三維輸電網GIS系統(tǒng),下面將分別介紹VRML及其與Java相結合應用的技術要點。
2.1 VRML語言
VRML是Virtual Reality Modeling Language 的簡稱,中文譯名為虛擬現(xiàn)實建模語言,是一種由國際標準化組織ISO定義的在網絡上表達三維數據的文件格式,也被稱為是第二代WWW的標準語言。值得注意的是,VRML瀏覽與目前常用的Web瀏覽方式相同,即文件可以通過諸如IE瀏覽器(需安裝特定的插件)打開并操作。
VRML場景(Scene Graph)由多種類型的節(jié)點組成,包括外形節(jié)點(Shape)、幾何節(jié)點(Geometry)、造型節(jié)點(Appearance)、組節(jié)點(Group)、父節(jié)點/子節(jié)點(Parent/Children),還包括變換節(jié)點(Transform)、超鏈接節(jié)點Anchor、腳本節(jié)點Script、碰撞檢測節(jié)點Collision、產生動畫效果的Timesensor節(jié)點、用于構造分布式場景的Incline節(jié)點、為增強場景漫游動畫效果的節(jié)點(Background節(jié)點、Fog節(jié)點、Navigation節(jié)點、Viewpoint節(jié)點、WorldInfo節(jié)點)等。每個節(jié)點包含一個或多個域,每個域都有域值,節(jié)點還可以包含其它節(jié)點。VRML采用樹狀分支描述的格式,并提供了面向對象的建模方法。
VRML本身還具有交互功能:各個節(jié)點可以通過事件體系發(fā)送接收事件;傳感器使用鼠標或數據手套等定點設備可以感知與之發(fā)生的動作并產生相應的事件;腳本節(jié)點可以通過編程使節(jié)點產生復雜的動作。此外,VRML中的內插器節(jié)點和時間傳感器節(jié)點也為動畫的實現(xiàn)提供了基礎。
2.2 Java與VRML實現(xiàn)三維交互
VRML提供了功能強大的Script節(jié)點,可以與外界通信,一般采用Java或者Javascript通信接口。而Java語言具有簡潔、精干、面向對象和跨平臺的諸多優(yōu)勢,采用Java與VRML進行交互有如下的幾個優(yōu)勢[5]:
(1)Java語言與平臺無關,Java程序是解釋執(zhí)行的,它的源程序通過編譯成.class文件執(zhí)行;
(2)Java語言提供了安全性機制,它沒有指針,不會有操作內存引起的程序安全問題;
(3)Java提供了簡便的網絡功能,在IE瀏覽器中可以嵌入Java Applet小程序。
采用Java語言與VRML場景中的節(jié)點通信,從而擴展了VRML場景與外部的交互能力。VRML通過外部授權接口EAI(External Authoring Interface)提供了與Java結合的幾個相應的Java類,在Java程序編譯時指定了這些類的路徑就可以運用這些類,例如Browse.class等。這些類能夠改變VRML場景中相應的變量值,當建立的Java Applet程序引入了VRML場景文件和這些功能類,即可完成對VRML場景中物體位置、顏色、大小等的控制。
本文采用Java語言開發(fā)Java Applet這種可以從網絡上自動下載并可嵌入HTML文檔中的小程序,它可以隨著HTML一起下載、打開,當退出IE瀏覽器后Java Applet將會和HTML一起清除[6]。系統(tǒng)中需要安裝支持JDK1.3的IE瀏覽器。微軟公司IE4.0以上的版本都支持JDK1.3。
由于VRML本身不支持直接的交互,在操作VRML文件時,只通過VRML提供接口,然后在Java程序中調用Java與VRML兩者結合的類實現(xiàn)。圖1表示了VRML文件的操作過程。
本文用圖2所示的鐵塔為例說明VRML是如何進行三維繪圖和控制的。
#VRML V2.0 utf8
#Created with V-Realm Builder v2.0
#Integrated Data Systems Inc.
#www.ids-net.com
Transform {
translation 0 0 0
scale 3 3 3
children [
DEF group03 Transform {
translation 29.27 5.162 17.86
children [
DEF Loft57 Transform {
translation 24.29 -5.162 -1.867
children Shape {
appearance Appearance {
material Material {
ambientIntensity
0.2
……
VRML語言對物體的變量進行了描述,如變量shape描述了物體的大小、translation描述物體的位置,這些量都是用數組來表現(xiàn)的,并且可以在Java中進行調用和改變,同時,這些文件也可以用寫字板打開查看程序內容。這里有三個translation分別是三級的位置, 最上邊一個translation是主觀測點(0.0.0)。鐵塔是由很多個元件組成的。制作時把它們合成了一個transform,這是中間的一個translation;最下面的translation是其中一個元件位置translation、appearance以及material。
還可以在Java程序中設置事件函數,改變VRML程序中的變量值,利用getEventOut和getEventIn設置事件前與事件后的狀態(tài)。若需要發(fā)生事件如點擊物體后彈出一對話框,可以這樣寫:
getEventOut(OnClick){
A=get(“group03.translation”);
B=GetEventIn(“A”);
F=Form();
//定義點擊事件的結果
def ButtonClick(Onclick, event):
//彈出對話框顯示物體的translation值
MessageBox.Show(“B”);
b.Click += ButtonClick;
f.ShowDialog();}
3 系統(tǒng)特點和功能
3.1 系統(tǒng)結構特點
本系統(tǒng)以GIS為平臺,搭建了一個有較完全功能的三維輸電網信息管理系統(tǒng),其總體結構框圖如圖3所示。
應用程序首先對GIS平臺上的信息進行提取,這些信息將有助于形成描述VR世界的文件。由于三維GIS需要對空間數據庫進行操作,因此必須在應用程序和空間數據庫之間借助空間數據庫引擎(SDE)搭建一個空間數據傳送和操作的橋梁。值得注意的是,此處的空間數據庫是廣義上的空間數據庫,即在此空間數據庫中既有空間數據(如線路的走向、坐標、相對位置等)又有非空間數據(如線路的型號、電壓等級等)。為了對空間數據庫中的數據更加有效地利用,還引入了空間數據庫挖掘的方法,其意義在于電力系統(tǒng)運行人員在成年累月的運行過程中積累了豐富的運行和分析經驗,而這些經驗性內容卻很難量化,運行人員之間很難傳承和共享這些經驗,一旦利用數據挖掘的方法,就可以完成對運行模式的提取和重建立,從而節(jié)約運行成本、加快事故處理過程、提高電力部門的經濟效益。
3.2 系統(tǒng)功能
(1)圖形操作功能。三維顯示地物,如輸電線路走向、弧垂和鐵塔高度、位置等。圖形以三維實景方式實現(xiàn)平滑放大、縮小、旋轉、沿預定線路漫游、繞固定點飛行等圖形觀察功能。另外,為了展現(xiàn)在用戶面前時不管是局部還是全景,都會顯得清晰而不雜亂,還可以根據需要設置縮放倍數和地物顯示的縮放級別。
(2)地物屬性查詢和統(tǒng)計功能。根據用戶習慣設置多種不同的搜索方式,利用模糊查詢和精確查詢相結合,任意查詢統(tǒng)計線路及設備臺帳。
(3)空間數據挖掘功能。根據大量的空間數據和非空間數據,建立空間數據倉庫,采用聚類、分類及空間關聯(lián)算法,在一定程度上完成對運行模式的提取和空間分析,給運行人員提供輔助決策。
(4)空間查找和定位功能。根據用戶輸入的信息,采用空間索引技術,迅速查找到空間地物并做出標注,且將查找到的地物置中。如果沒有查找到,則給出提示對話框。
(5)主接線圖管理功能。三維圖形和二維主接線圖可以相互對應,并且將實時采集的信息量作為多個字段寫入數據庫中,如果希望在主接線圖或GIS圖上顯示這些量,可以通過程序將數據從數據庫中讀出并反映到界面上。
(6)圖形輸出打印功能??梢源蛴∪S全景圖和二維主接線圖。
參考文獻
1 劉 琳,張 健. 高壓輸電網地理信息管理系統(tǒng)[J].華北電力技術,1998;(12):24~27
2 應開懷,邱家駒. 基于MPI軟件的三維輸電線路地理信息系統(tǒng)[J].計算機工程與設計,2004;25(9):1584~1586
3 王汝傳,孫開翠,辛晨昀等.基于VRML的可視化工具的研究[J].系統(tǒng)仿真學報,2001;13(J):476~478
4 韓 智,李九齡.虛擬現(xiàn)實(VR)技術在供水行業(yè)地理信息系統(tǒng)(GIS)中的應用[J]. 計算機工程與應用, 2001;(16):168~170
5 王飛,王波,楊湘龍等.PC上虛擬現(xiàn)實仿真的實現(xiàn).計算機工程,2000;8(26):11~12
6 程 鋼,王知衍.利用JAVA控制VRML對象行為的機理研究.系統(tǒng)仿真學報,2001;13(J):483~485