摘要:本文通過對國內(nèi)外現(xiàn)有的三維平臺進行仔細的對比與分析,總結(jié)出了各平臺所存在的問題。經(jīng)過初步探究,對這些問題提出了一些解決方法,使用這些解決方法并利用OSG平臺就可以初步實現(xiàn)真三維地理信息系統(tǒng)的簡單功能,
關(guān)鍵字:三維地理信息系統(tǒng) 虛擬現(xiàn)實 OSG
1. 引言
城市三維地理信息系統(tǒng)是指能對城市區(qū)域內(nèi)空間對象進行真三維描述、可視化和分析管理的地理信息系統(tǒng),它既要提供較高的三維可視化效果(如在城市規(guī)劃中的應(yīng)用),又要滿足地理信息系統(tǒng)的大范圍城市建筑的顯示,還要提供全面的類似二維GIS中提供的空間地理信息查詢與分析功能。傳統(tǒng)的二維 GIS在解決一些涉及三維信息方面的城市規(guī)劃、市政管理、應(yīng)急響應(yīng)問題時已存在著諸多局限, 研究與開發(fā)服務(wù)于城市各應(yīng)用領(lǐng)域的城市三維地理信息系統(tǒng)越來越受到人們的關(guān)注。
由于要管理大量的地形、影像、三維城市模型及其紋理數(shù)據(jù), 三維GIS的數(shù)據(jù)量一般是二維 GIS數(shù)據(jù)量的幾十倍, 甚至是上百倍。對于一個城市而言,這些三維數(shù)據(jù)往往從幾個GB到幾百個 GB不等, 遠遠超出了普通計算機的存儲和管理能力, 如何應(yīng)用現(xiàn)有的技術(shù)手段來實現(xiàn)地理信息數(shù)據(jù)三維視覺表現(xiàn)這個核心問題, 也是近年來數(shù)字地球、數(shù)字城市領(lǐng)域亟待解決的關(guān)鍵技術(shù)之一。
2. 國內(nèi)外城市三維系統(tǒng)現(xiàn)狀
隨著現(xiàn)代計算機軟、 硬件技術(shù)的飛速發(fā)展,使大數(shù)據(jù)量的三維城市場景的實現(xiàn)也逐步成為可能。近年來,國際上對于三維虛擬現(xiàn)實仿真表現(xiàn)方面取得不少積極進展, 基于OpenGL技術(shù)的OSG,Vega等三維顯示平臺、基于DirectX 3D技術(shù)的Quest 3D,Virtual tools,Skyline等系統(tǒng)平臺的出現(xiàn)大大的推進了三維視覺仿真,虛擬現(xiàn)實,城市三維的發(fā)展。同時,城市三維地理信息系統(tǒng)也引起了我國學者的廣泛關(guān)注 ,紛紛開展了相關(guān)問題 ,對三維 GIS關(guān)鍵技術(shù)問題做了深入探討。我國在這方面雖然起步較晚 ,但通過借鑒和利用國外最新的技術(shù)成果 ,發(fā)展非常迅速 ,目前已開發(fā)了具有自主版權(quán)的商業(yè)應(yīng)用軟件 ,許多國產(chǎn) GIS軟件也先后在其產(chǎn)品中開發(fā)了三維 GIS軟件系統(tǒng)。
2.1 OSG技術(shù):
Open Scene Graph(簡稱OSG)是一款高效實時的三維可視化圖形開發(fā)平臺,主要應(yīng)用于可視化仿真,虛擬現(xiàn)實和科學計算可視化與仿真領(lǐng)域中的高性能圖形程序的開發(fā),所含大量功能和運行性能已經(jīng)優(yōu)于許多現(xiàn)有商業(yè)虛擬引擎。它經(jīng)歷了OpenGVS,Vtree,SGI performer,Multigen Vega等等多代軟件的發(fā)展而得來。
采用OSG的優(yōu)勢:
內(nèi)核API封裝了全部的OpenGL函數(shù)功能
包含OpenGL最新擴展,實時渲染最優(yōu)化
完全免費的開源平臺
全部開放源代碼,功能開發(fā)更加靈活,完全免費,為系統(tǒng)用戶節(jié)約一大筆平臺費用
真正的跨平臺系統(tǒng)
可以在微軟Windows平臺、OSX,GNU/Linux,IRIX,Solaris以及FreeBSD,HP-UX和Aix等操作系統(tǒng)使用。
支持很多二維、三維的數(shù)據(jù)格式
OSG廣泛支持目前流行的2D、3D數(shù)據(jù)格式,包括OpenFlight (.flt),TerraPage (.txp) (多線程支持),LightWave (.lwo),Alias Wavefront (.obj),Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds),Peformer (.pfb),Quake Character Models (.md2),Direct X (.x),以及Inventor Ascii 2.0 (.iv),VRML 1.0 (.wrl),Designer Workshop (.dw) ,AC3D (.ac);.rgb,.gif,.jpg,.png,.tiff,.pic,.bmp,.dds,.tga 和 qucktime。
據(jù)世界權(quán)威的現(xiàn)代仿真網(wǎng)站(
www.modsim.org)的調(diào)查統(tǒng)計,OSG在世界仿真軟件市場的占有率已超過51%,如下圖:
2.2 Vega技術(shù):
Vega是MultiGen-Paradigm 公司應(yīng)用于實時視景仿真、聲音仿真、虛擬現(xiàn)實及其他可視化領(lǐng)域的軟件環(huán)境。
Vega和其他同類型軟件的相比較,除了其強大的功能外,它的LynX圖形用戶界面是獨一無二的。在Vega的LynX圖形用戶界面中只需利用鼠標點擊就可配置/驅(qū)動圖形,在一般的城市仿真應(yīng)用中,幾乎不用編任何源代碼就可以實現(xiàn)三維場景漫游。
同時,Vega還包括完整的C語言應(yīng)用程序接口API,在NT下以VC6.0為開發(fā)環(huán)境,以滿足軟件開發(fā)人員要求的最大限度的靈活性和功能定制。
2.3 Quest 3D平臺:
Quest3D是由Act-3D公司推出的一個容易且有效的實時三維場景建構(gòu)工具。比起其它的可視化的建構(gòu)工具,如網(wǎng)頁、動畫、圖形編輯工具來說,Quest3D能在實時編輯環(huán)境中與對象互動。Quest3D提供您一個建構(gòu)實時3D的標準方案。
使用Quest3D,您可以不花任何程序的功夫,建構(gòu)出屬于您自己的實時3D互動世界。在Quest3D里,所有的編輯器都是可視化、圖形化的。真正所見即所得,實時讓您見到作品完成后執(zhí)行的樣子。您將可更專注于美工與互動,而不用擔心程序錯誤及Debug。過去需要幾天才能完成的項目,現(xiàn)在您只需要幾小時。
Quest3D是基于Windows平臺的DirectX3D技術(shù)開發(fā)的三維場景展示平臺,使用Quest 3D可以構(gòu)建出效果精美的建筑三維場景,由于其內(nèi)置了許多三維視覺特效,其構(gòu)建的三維應(yīng)用更適合使用在城市規(guī)劃設(shè)計,但由于其應(yīng)用的特效太占用系統(tǒng)資源,因此無法構(gòu)建超大數(shù)據(jù)量的三維城市場景。
2.4 Skyline TerraSuite:
Skyline TerraSuite平臺是一套完全基于網(wǎng)絡(luò)的三維空間數(shù)據(jù)交互式可視化解決方案平臺,它是利用航空影像、衛(wèi)星數(shù)據(jù)、數(shù)字高程模型和其它的二維或三維信息源,包括地理信息數(shù)據(jù)集層等創(chuàng)建的一個交互式環(huán)境。它能夠允許用戶快速的融合數(shù)據(jù)、更新數(shù)據(jù)庫,并且有效地支持大型數(shù)據(jù)庫和實時信息流通訊技術(shù)。
2.5 偉景行CityMaker:
CityMaker是完全具有我國自主知識產(chǎn)權(quán)的城市三維規(guī)劃管理平臺,它是由清華規(guī)劃院數(shù)字城市研究所( Digital City Research Center, THUPDI)和偉景行數(shù)字城市科技(Gvitech Digital City Technology)開發(fā),并獲得了十一五國家科技支撐計劃課題、國家自然科學基金,以及科技部創(chuàng)新基金等多項科研計劃的支持。
它主要可實現(xiàn)以下的應(yīng)用:
城市級三維規(guī)劃管理平臺。
輔助規(guī)劃審批和管理。
輔助設(shè)計。
輔助教學。
規(guī)劃展示。
2.6 3D VRI:
3DVRI軟件是基于先進的基礎(chǔ)仿真軟件OSG平臺上開發(fā)出的虛擬現(xiàn)實平臺,火星3DVRI虛擬現(xiàn)實平臺中的3DVRI多通道仿真系統(tǒng)、3DVRI城市規(guī)劃仿真系統(tǒng)、3DVRI園林綠化仿真系統(tǒng)、3DVRI房地產(chǎn)仿真系統(tǒng)、3DVRI旅游產(chǎn)業(yè)仿真系統(tǒng)和3DVRI古跡復(fù)原仿真系統(tǒng)在國內(nèi)外同行業(yè)中處于領(lǐng)先地位,目前已廣泛應(yīng)用在各個相關(guān)領(lǐng)域。
3.現(xiàn)有三維平臺存在的問題
上面介紹了目前最常用的幾種城市三維展示平臺,但每一種平臺都不能直接的、全面的滿足現(xiàn)有的城市三維地理信息系統(tǒng)的需求,這些系統(tǒng)有的只能支持小范圍建筑的三維顯示;有的對地形的支持不夠;有的支持城市大范圍三維建筑的顯示、但對于三維顯示效果的表現(xiàn)又無法滿足要求;有的系統(tǒng)還存在擴展性差的問題。這就需要我們發(fā)現(xiàn)每一種平臺的優(yōu)、缺點,然后仔細對其進行分析,最后找到可以實現(xiàn)城市三維地理信息系統(tǒng)的方法。
3.1 OSG平臺的優(yōu)缺點:
OSG的優(yōu)點:1. 它本質(zhì)上就是一個場景圖,場景圖結(jié)構(gòu)更適合城市建筑的三維虛擬仿真,2. OSG是完全免費并開放源代碼的,這就為系統(tǒng)提供了很大的可擴展性,應(yīng)用很靈活,3. 系統(tǒng)可實現(xiàn)跨平臺的使用4.由于OSG實現(xiàn)了OpenGL所有的功能,因此在可視化視覺仿真方面效果很逼真。
OSG的缺點:OSG是國外的開放源代碼項目,主要應(yīng)用于三維可視化方面,并沒有現(xiàn)成的三維地理信息的功能,因此其開發(fā)難度較大。
3.2 VEGA平臺的優(yōu)缺點:
VEGA的優(yōu)點:VEGA是MultiGen公司出品的三維場景展示軟件,它和Creator構(gòu)成了一套完整的三維制作與展示的產(chǎn)品線,VEGA可以直接對Creator中組織好的場景進行三維效果展示,而且Vega本身也支持地形數(shù)據(jù)的瀏覽。
VEGA的缺點:由于Vega僅支持在其Creator中建立的模型,因此對復(fù)雜模型的展示效果較差,不支持更多的材質(zhì),雖然它支持地形,但是對地形的展示效果不是很好。
3.3 Quest 3D的優(yōu)缺點:
Quest 3D的優(yōu)點:Quest 3D是在Windows平臺DirectX 3D之上的一套三維視覺仿真系統(tǒng),由于其實現(xiàn)了DirectX 3D的絕大多數(shù)三維特效,因此經(jīng)過Quest 3D渲染得三維場景效果很逼真,非常適合三維規(guī)劃效果展示、三維小區(qū)效果展示等多方面的應(yīng)用。
Quest 3D的缺點:由于Quest 3D本身的定位,導致其不支持大范圍地形、影像的展示,而且Quest 3D沒有屬性管理的功能,因此無法做到地理信息的地物信息管理功能。
3.4 Skyline TerraSuite的優(yōu)缺點:
Skyline的優(yōu)點:Skyline是一套完全基于網(wǎng)絡(luò)的三維地理信息管理軟件,它本身對三維地形以及航空、衛(wèi)星影像的支持很完善,瀏覽大場景地形很流暢。Skyline可以支持網(wǎng)絡(luò)發(fā)布城市三維地理信息的應(yīng)用,并且對三維模型的屬性管理也比較完善。
Skyline的缺點:由于Skyline本身不支持光照效果以及許多的三維模型材質(zhì),因此在Skyline中展示的三維城市視覺效果較差,不適合作規(guī)劃方面的應(yīng)用,也不適合對三維視覺效果要求較高的用戶使用。
3.5 國產(chǎn)3D平臺:
國產(chǎn)城市三維平臺近年來發(fā)展的也很迅速,在某些行業(yè)領(lǐng)域取得了非常突出的成績,但是畢竟國內(nèi)在三維技術(shù)上起步較晚,大多數(shù)國產(chǎn)三維平臺都是基于OSG或其他已有國外平臺的基礎(chǔ)上開發(fā)的來的,因此國產(chǎn)城市三維平臺很存在一定的局限性。
4.技術(shù)方法:經(jīng)過對上面幾個已有平臺的分析與研究發(fā)現(xiàn),直接使用上面任何一個平臺都無法實現(xiàn)我們在三維地理信息系統(tǒng)方面的需求(即完美的城市三維效果展示和強大的地理信息管理,查詢、分析等功能的結(jié)合)。我們在實際生產(chǎn)過程中發(fā)現(xiàn)應(yīng)用上面OSG平臺以及采用一些技術(shù)手段就可以一定程度上實現(xiàn)我們的需求,并克服上面各平臺的缺點。
我們經(jīng)過對上面各平臺的缺點進行分析、總結(jié),發(fā)現(xiàn)只有解決以下幾個方面的問題,然后在結(jié)合OSG平臺的場景展示才能順利的完成我們的系統(tǒng):
對地形(影像、DEM等)信息的高效瀏覽、管理。
實現(xiàn)超大范圍城市建筑的精細三維模型展示。
實現(xiàn)海量城市三維模型、屬性信息的管理。
在三維系統(tǒng)中實現(xiàn)強大的地理信息系統(tǒng)功能。
4.1 虛擬地形場景的建立:
為了實現(xiàn)三維地理信息系統(tǒng)中對地形的要求,我們需要在OSG中建立虛擬地形場景。在OSG中,管理被顯示的物體都是以三角網(wǎng)和紋理貼圖的方式進行顯示的,因此我們要事先將DEM數(shù)據(jù)切分成若干小塊的三角網(wǎng),將航空影像或衛(wèi)星影像數(shù)據(jù)切分成多層若干小塊的紋理貼圖,然后根據(jù)金字塔結(jié)構(gòu)動態(tài)顯示具有三維效果的地形影像。
4.2 范圍動態(tài)消隱技術(shù)的實現(xiàn):
由于計算機硬件本身的限制,因此對于三維多邊形的繪制量是有限制的,城市級別的三維建筑精細展示是現(xiàn)在計算機硬件肯定無法實現(xiàn)的,因此我們就要利用范圍動態(tài)消隱技術(shù)來完成城市精細三維模型的管理。范圍動態(tài)消隱就是我們事先為當前視點設(shè)置顯示范圍,如果在該顯示范圍中的三維建筑模型在系統(tǒng)中就會顯示,而在范圍外邊的三位建筑模型就不會顯示,這樣做就可以保證當前顯示范圍的三維多邊形的繪制量不超過硬件限制。
圖一:范圍動態(tài)消隱
4.3 細節(jié)分級顯示(LOD)技術(shù)的實現(xiàn):
LOD技術(shù)就是針對同一三維模型 ,依據(jù)不同的模型簡化準則或誤差選取標準 ,生成不同版本、不同層次細節(jié)的多邊形模型。實際繪制中 ,依據(jù)視點距離或模型所占據(jù)的屏幕像素的多少來選擇適當層次的LOD模型進行繪制 ,減少繪制時間和運算量 ,滿足實時顯示需要。目前生成多分辨率LOD模型的主要方法有兩大類:粗糙法 ,即對精細的三角形模型 ,通過點崩塌、邊崩塌、三角形崩塌方法生成連續(xù)的逐步粗糙的 LOD 模型;精細法 ,即對粗糙的三角形模型 ,通過點裂變、邊裂變、三角形裂變方法生成更精細、精確度更高的LOD模型。
圖二:利用LOD技術(shù)的樹木模型
4.4 三維與二維GIS結(jié)合:
我們發(fā)現(xiàn)現(xiàn)在已有的三維平臺中對地理信息系統(tǒng)的功能實現(xiàn)都不是很全面,因此我們在實際應(yīng)用中采用OSG來實現(xiàn)三維視覺仿真,在需要進行地理信息方面功能時,我們在后臺應(yīng)用Arc Engine來實現(xiàn)相應(yīng)的功能,如:三維屬性信息的查詢,空間分析等功能,在后臺完成了這些功能以后我們就會在前臺用OSG將結(jié)果顯示出來,這樣做就可以實現(xiàn)三維可視化的展示,也可以實現(xiàn)地理信息系統(tǒng)的全部功能。
5.結(jié)論:
到目前為止,還沒有一套現(xiàn)有的平臺系統(tǒng)可以滿足精確的三維效果展示和地理信息系統(tǒng)兩方面的需求,使用本文上面的方法結(jié)合開放源代碼的OSG開發(fā)平臺,可以解決本文提出的幾個問題,并可以初步實現(xiàn)真三維地理信息系統(tǒng)的簡單功能。
參考文獻:
[1] 楊建國,黃玲,高劍鋒.三維仿真技術(shù)在城市規(guī)劃中的應(yīng)用.規(guī)劃信息化。
[2] 朱國敏,馬照亭,孫隆祥,李成名.城市三維地理信息系統(tǒng)中海量數(shù)據(jù)的數(shù)據(jù)庫組織與管理.測繪科學。
[3] 宋曉江,隋明磊.模型LOD簡化的可視化實現(xiàn).計算機應(yīng)用。