辛長(zhǎng)安,白寶興
(長(zhǎng)春理工大學(xué)計(jì)算機(jī)學(xué)院,吉林長(zhǎng)春 130022)
二維GIS的三維可視化方案
辛長(zhǎng)安,白寶興
(長(zhǎng)春理工大學(xué)計(jì)算機(jī)學(xué)院,吉林長(zhǎng)春 130022)
本文論述了二維GIS的三維可視化技術(shù)的實(shí)現(xiàn)方案,重點(diǎn)闡述了其中涉及的關(guān)鍵技術(shù)模塊,如地形、紋理、模型、相機(jī)等。旨在提出一種輕量化的簡(jiǎn)潔高效的實(shí)現(xiàn)方案,并在數(shù)據(jù)接口和渲染效率優(yōu)化方面也作了相關(guān)論述。實(shí)驗(yàn)項(xiàng)目證明本文提出的技術(shù)方法是可行的,并可用于工程實(shí)踐。
二維GIS;三維可視化;地形擬合;地圖紋理;相機(jī)運(yùn)動(dòng)
傳統(tǒng)二維GIS已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域,如城市規(guī)劃、環(huán)境保護(hù)、軍事操作、農(nóng)業(yè)管理等。二維GIS能夠處理大量的地理信息數(shù)據(jù)并提供成熟的分析功能。但是與三維相比,二維GIS在場(chǎng)景可視化效果方面存在明顯的劣勢(shì),將二維的設(shè)計(jì)結(jié)果轉(zhuǎn)化為現(xiàn)實(shí)三維環(huán)境對(duì)普通用戶而言也存在一定困難。
隨著近年來三維可視化技術(shù)的飛速發(fā)展和人們對(duì)三維GIS系統(tǒng)的研發(fā),在許多以地圖為主的人機(jī)交互界面應(yīng)用系統(tǒng)中,三維GIS平臺(tái)越來越占主要地位,它能夠提供給用戶瀏覽、展現(xiàn)、處理地圖數(shù)據(jù)的直觀親近和真實(shí)的操作體驗(yàn)。然而,三維可視化和二維GIS通常單獨(dú)使用,其中二維GIS用于數(shù)據(jù)管理和分析,三維用于分析結(jié)果的可視化。近年來純?nèi)SGIS的突破是緩慢的,一個(gè)真正的三維地理信息系統(tǒng)不僅要提供3D數(shù)據(jù)的真實(shí)表現(xiàn),還必須提供傳統(tǒng)的GIS功能。三維GIS的應(yīng)用和發(fā)展存在幾個(gè)障礙,包括各種異構(gòu)數(shù)據(jù)類型的處理、3D拓?fù)浣Y(jié)構(gòu)的定義、海量的三維數(shù)據(jù)分析等。因此,采取二維GIS和三維虛擬化的雙重優(yōu)點(diǎn),實(shí)現(xiàn)輕量化且實(shí)用的復(fù)合GIS系統(tǒng)來代替純?nèi)SGIS系統(tǒng)是行之有效的解決方案。本文旨在提出這樣一種實(shí)現(xiàn)方法。
三維地形數(shù)據(jù)通常可由高程數(shù)據(jù)模形DEM數(shù)據(jù)生成。DEM數(shù)據(jù)是一組統(tǒng)一規(guī)格的網(wǎng)格數(shù)據(jù),在每個(gè)地理坐標(biāo)的網(wǎng)格點(diǎn)上標(biāo)識(shí)一個(gè)海拔高度值。網(wǎng)格點(diǎn)之間位置的高程值可以通過周圍網(wǎng)格點(diǎn)插值生成。把地理三維坐標(biāo)映射到場(chǎng)景三維坐標(biāo)后,就生成了三維GIS的地形圖網(wǎng)格。為了提高顯示效率,網(wǎng)格數(shù)據(jù)需要隨著當(dāng)前可視范圍的縮放進(jìn)行動(dòng)態(tài)變化,可視范圍越大網(wǎng)格點(diǎn)的粒度越粗,反之就要求網(wǎng)格點(diǎn)粒度越細(xì),否則出現(xiàn)馬賽克現(xiàn)象。
在三維可視化場(chǎng)景里,主要通過光線的陰影變化和可視角度的旋轉(zhuǎn)變化來觀察物件的形狀、方位等。其中陰影的變化最能反映物件的形狀特征,從而增強(qiáng)三維GIS的顯示效果。陰影是由光源產(chǎn)生的,在一個(gè)開闊空間的三維GIS環(huán)境里,光源的位置設(shè)定非常重要,不同的位置產(chǎn)生的視覺效果會(huì)有很大差別。可以相對(duì)相機(jī)的位置設(shè)定光源,也可以相對(duì)地理位置進(jìn)行設(shè)定。另外,光源的方向和類型也是要考慮的因素,在系統(tǒng)實(shí)現(xiàn)里可以提供相應(yīng)的由用戶設(shè)定光源參數(shù)的操作功能。
通常情況下,二維數(shù)據(jù)以紋理映射的方式被覆于三維地形之上,以此將二者結(jié)合起來。這一操作可以通過直接調(diào)用三維引擎API實(shí)現(xiàn),例如DirectX、OpenGL等。最常見的地表紋理數(shù)據(jù)是衛(wèi)星圖片。因?yàn)榈乇砑y理的數(shù)據(jù)量很大,同一塊地理區(qū)域包括不同分辨率的圖層,每一級(jí)別數(shù)據(jù)量是上一級(jí)的四倍,所以地表紋理文件一般存儲(chǔ)到文件服務(wù)器上。為了提高系統(tǒng)的響應(yīng)性能,常用的和預(yù)計(jì)將要使用的一部分紋理數(shù)據(jù)要緩存到本地磁盤。同時(shí),通過對(duì)當(dāng)前瀏覽的地理位置和相機(jī)所在瀏覽高度判斷,確定最有可能訪問的那部分紋理數(shù)據(jù)文件要緩存到系統(tǒng)內(nèi)存中。理論上,只要內(nèi)存允許,應(yīng)該盡可能多地緩存數(shù)據(jù)。但無論是系統(tǒng)內(nèi)存的一級(jí)緩存,還是本地磁盤的二級(jí)緩存,都應(yīng)該在后臺(tái)線程中處理,否則反而會(huì)影響反應(yīng)性能。所以,當(dāng)相機(jī)的高度或相對(duì)地理坐標(biāo)變化時(shí),這兩個(gè)級(jí)別的緩存要異步刷新,但二級(jí)緩存不宜刷新太頻繁。
將二維GIS功能函數(shù)與三維可視化完整地結(jié)合起來是復(fù)合GIS的基本目標(biāo)。因?yàn)樵跀?shù)據(jù)層面,數(shù)據(jù)格式仍然是屬于二維GIS規(guī)格的,所以傳統(tǒng)二維GIS的功能函數(shù)如查詢定位、測(cè)量標(biāo)繪、最短路徑查找、空間分析等,可以平滑移植并實(shí)現(xiàn),不同的是計(jì)算結(jié)果需要在三維平臺(tái)環(huán)境中展示。與地表紋理的顯示處理方式一致,以附加圖層的形式顯示計(jì)算結(jié)果,多個(gè)紋理圖層融合后與三維地形貼合。為了突出計(jì)算結(jié)果,一般此圖層位于最頂層。
管理和顯示三維對(duì)象模型是復(fù)合GIS系統(tǒng)不可或缺的功能,否則系統(tǒng)的三維可視化能力就顯得很不實(shí)用。因?yàn)橐粋€(gè)GIS系統(tǒng)除了要顯示地圖以外,還需要在地圖平臺(tái)上承載業(yè)務(wù)分析的操作和結(jié)果。在三維平臺(tái)上這些操作和結(jié)果不僅要以點(diǎn)、線、面、圖片形式展現(xiàn),更需要以三維模型的形式還原其三維世界的面貌和本質(zhì)。同時(shí),系統(tǒng)還需要支持一些通用的標(biāo)準(zhǔn)模型文件格式,以便使用有效的開放資源以及實(shí)現(xiàn)資源共享等需要。下面列舉幾種常用的模型文件進(jìn)行說明。
5.1 KML文件
KML的全稱是Keyhole Markup Language,2008年被OGC(開放地理空間信息聯(lián)盟)定為標(biāo)準(zhǔn)文件格式,用來描述和保存地標(biāo)和信息(支持點(diǎn)、線、圖像、多邊形和模型等)。它基于XML腳本語法,便于編寫、閱讀、修改和共享。標(biāo)準(zhǔn)KML文件是地球坐標(biāo)系統(tǒng),每個(gè)頂點(diǎn)坐標(biāo)是一個(gè)經(jīng)度、緯度、海拔的三元組,當(dāng)讀取并顯示KML模型時(shí)需要將地球坐標(biāo)轉(zhuǎn)換為系統(tǒng)內(nèi)部世界坐標(biāo)。KML的語法元素很簡(jiǎn)單,也只能通過對(duì)二維圖形的Z向拉伸來描述簡(jiǎn)單的三維模型。例如,對(duì)一個(gè)畫在地面上的圓做海拔方向拉伸,即形成了一個(gè)立在地面上的圓柱。拉伸標(biāo)簽以
5.2 DirectX的.X文件
.X文件是DirectX的內(nèi)部標(biāo)準(zhǔn)文件用于存儲(chǔ)三維模型,通過DirectX的API接口可以對(duì)此類文件做讀寫操作。另外DirectX也提供了一些工具用來查看、轉(zhuǎn)換、創(chuàng)建.X文件。它通過網(wǎng)格點(diǎn)陣描述三維模型,比描述性的腳本文件更加強(qiáng)大和通用,同時(shí)它不過于復(fù)雜,可以快速裝入并顯示,因?yàn)镚IS系統(tǒng)一般不需要顯示非常逼真復(fù)雜的模型,所以.X文件很適用,特別當(dāng)使用DirectX三維引擎時(shí)。
5.3 MDL模型文件
MDL文件格式由美國(guó)康奈爾大學(xué)制定,最初被用于康奈爾大學(xué)和印第安納大學(xué)的幾個(gè)三維渲染項(xiàng)目。MDL文件用非常簡(jiǎn)單的嵌套的文本塊定義三維模型,包括幾個(gè)標(biāo)準(zhǔn)類型的數(shù)據(jù)塊,如坐標(biāo)位置、旋轉(zhuǎn)轉(zhuǎn)變、紋理文件等。康奈爾大學(xué)定義MDL文件格式的目標(biāo)是簡(jiǎn)單、易讀、易用和快速,他們的確做到了這一點(diǎn)。MDL文件是方便小巧的文本格式,對(duì)程序員是可讀的。它主要應(yīng)用于對(duì)存儲(chǔ)模型的逼真渲染,包括復(fù)雜的材料和大型多邊形網(wǎng)格。
圖層系統(tǒng)的位置是相對(duì)于虛擬相機(jī)固定的,當(dāng)相機(jī)或人眼在場(chǎng)景中移動(dòng)時(shí)整個(gè)圖層場(chǎng)景隨之移動(dòng)。二維層的縮放與3D基礎(chǔ)層視圖同步旋轉(zhuǎn)。相機(jī)在地形中的平移運(yùn)動(dòng)可以用箭頭鍵或鼠標(biāo)控制,可以通過鷹眼圖控制和導(dǎo)航。為保證相機(jī)不與地面相撞,相機(jī)的高度可以根據(jù)地面高度自動(dòng)調(diào)整保持位于地面之上。但相機(jī)高度的調(diào)整應(yīng)該是平滑的,避免過度顛簸。當(dāng)旋轉(zhuǎn)相機(jī)時(shí),要保證用戶當(dāng)前所在的中心點(diǎn)是不變的,只是相機(jī)的方向在改變,與人在原地環(huán)視四周的場(chǎng)景變換要一致。
為了提高系統(tǒng)響應(yīng)時(shí)間和運(yùn)行效率,通過相機(jī)進(jìn)行剪裁顯示是非常必要的。在一個(gè)復(fù)雜的三維場(chǎng)景中,需要處理的渲染對(duì)象可能是非常龐大而復(fù)雜的,整個(gè)渲染任務(wù)會(huì)耗費(fèi)大量的計(jì)算時(shí)間,但最后經(jīng)過投影映射用戶能夠在屏幕上看到的信息是很有限的。三維引擎對(duì)顯示的剪裁處理是在投影映射過程中進(jìn)行的,在此之前是模型生成和繪制的過程。如果不做相機(jī)剪裁,就意味著我們花費(fèi)了大量的機(jī)時(shí)去生成用戶根本看不到的對(duì)象。看不到的原因是因?yàn)檫@些模型在相機(jī)的透視投影棱臺(tái)之外或被其它對(duì)象完全遮擋。例如,若圖中出現(xiàn)兩排樹,在判斷它們處于視野之外后程序處理應(yīng)該繞過對(duì)它們生成和繪制的代碼。但對(duì)于處在視野之中而被其它物體遮擋的模型對(duì)象不是很容易判斷,可以簡(jiǎn)化處理。若在視野中呈現(xiàn)了一座山,那么在山之后的對(duì)象是可以被輕松地判斷并忽略的。
圖1 復(fù)合GIS的呈現(xiàn)
本文了實(shí)現(xiàn)二維和三維復(fù)合GIS系統(tǒng)的基本要點(diǎn),包括地表紋理、二維GIS函數(shù)、三維模型、相機(jī)運(yùn)行等。顯示效率一直是三維渲染中最重要的問題,就此有針對(duì)性地介紹了優(yōu)化技巧。通過本文以上所討論的實(shí)現(xiàn)復(fù)合GIS的方法可以實(shí)現(xiàn)一個(gè)輕量化的、支持復(fù)雜地理環(huán)境和場(chǎng)景的、接口開放的復(fù)合GIS平臺(tái),為專業(yè)化的應(yīng)用程序做支撐。如圖1的復(fù)合GIS場(chǎng)景就是基于以上理論實(shí)現(xiàn)的。
二維GIS的三維可視化復(fù)合系統(tǒng)在不同的領(lǐng)域都有巨大的應(yīng)用潛力,比如城市規(guī)劃和場(chǎng)景設(shè)計(jì)。在這種系統(tǒng)中,不僅傳統(tǒng)二維GIS功能被充分發(fā)揮,其視覺表現(xiàn)力也通過三維可視化大大加強(qiáng)。這樣二維GIS的分析操作可以在三維場(chǎng)景中實(shí)現(xiàn),同時(shí)分析結(jié)果也可以在三維場(chǎng)景中呈現(xiàn),較之傳統(tǒng)二維GIS方便了用戶的目標(biāo)場(chǎng)景的理解,也加強(qiáng)了人機(jī)之間的溝通。
[1]Appleton,K.Lovet.GIS-based visualization of development proposals:reactions from planning and related professionals[J].Computers,Environment and Urban Systems,2005,29(3):321-339.
[2]De la Losa,A.,B.Cervelle.3D Topological modeling and visualisation for 3D GIS[J].Computers & Graphics,1999, 23(4):469-478.
[3]Rhyne,TM.Going virtual with geographic information and scientific visualization[J].Computers & Geosciences,1997,23(4):489-491.
[4]劉光,唐大仕.WEB GIS 開發(fā)[M].北京:清華大學(xué)出版社,2009:145-151.
[5]孔云峰,林琿.GIS 分析設(shè)計(jì)項(xiàng)目管理[M].2版.北京:科學(xué)出版社,2008:122-130.
The Scheme of Visualizing 2D-GIS In 3D-Space
XIN Chang-an, BAI Bao-xing
(Computer Department, Changchun University of Science and Technology,Changchun Jilin 130022,China)
This paper discusses an efficient way to visualize 2D-GIS in 3D space, especially describing several key modules involved, including terrain, texture, 3D-model and camera motion. We mainly propose a light but available solution to realize 2D-GIS in a 3D environment with 3D-models.Additionally, the optimizing for rendering efficiency and the interface with standard model format are concerned as well. These techniques and methods have been proved to be workable and practicable.
Visualizing 2D-GIS; In 3D-Space of terrain; fitting; map texture; camera movement
2014-04-03
辛長(zhǎng)安(1974- ),男,吉林輝南人,長(zhǎng)春理工大學(xué)計(jì)算機(jī)學(xué)院碩士研究生,從事圖像處理與模式識(shí)別研究。
P208
A
2095-7602(2014)04-0041-03
[聯(lián)系作者] 白寶興(1953- ),男,吉林懷德人,教授,博士生導(dǎo)師,從事圖像處理與模式識(shí)別研究。