摘要:分析了DEM(數(shù)字高程模型)技術(shù)、格網(wǎng)模型算法和分層設(shè)計(jì)思想,研究了水利可視化系統(tǒng)創(chuàng)作過程中數(shù)據(jù)整理、格網(wǎng)劃分及三維要素的疊加的方法,采用分層設(shè)計(jì)的思想解決了不同比例尺下顯示詳細(xì)程度不同問題,從而為水利工程管理提供更形象、直觀的信息。
關(guān)鍵詞:水利;分層設(shè)計(jì);格網(wǎng);DEM
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2010)02-450-03
Research on Three-dimensional Visual System in Water Conservancy Based on DEM
CHEN Yan
(School of Information Engineerin, AnHui Xin-Hua University, Hefei 230088, China)
Abstract: The DEM (Digital Elevation Model) technology, grid model algorithm and hierarchical design ideas were analyzed, We Discusses the Methods to process data, Partition Grid and Superposition 3D elements in the creative process of visual system in water conservancy. Used hierarchical design ideas to solve the issue that under different scales showed varying levels of detail. It can provide better image and intuitive information for the water conservancy project management.
Key words: water conservancy; hierarchical design; grid; DEM
三維可視化在水利工程中的應(yīng)用使得水利工程建設(shè)進(jìn)程及管理更加形象、直觀。水利三維可視化系統(tǒng)的主要特點(diǎn)就是建立在對(duì)空間地理數(shù)據(jù)的處理基礎(chǔ)之上,如河道位置及流經(jīng)區(qū)域、灌區(qū)地理位置分布、水利工程的布局等,因此空間地理數(shù)據(jù)的處理技術(shù)在水利工程設(shè)計(jì)開發(fā)中至關(guān)重要。
水利工程中三維可視化技術(shù)可用于以下幾個(gè)方面:
①河道地形地貌的瀏覽。
綜合河道高程點(diǎn),用三維顯示出河道的走勢、地貌以及河道附近的建筑物等。
②水閘流量、蓄水量變化模擬顯示。
通過對(duì)數(shù)據(jù)庫中水閘的流量、蓄水量的數(shù)據(jù)進(jìn)行處理,借助三維可以動(dòng)態(tài)模擬出水閘一段時(shí)間內(nèi)它的流量、蓄水量的變化趨勢。
③水庫大壩的水位模擬顯示。
通過對(duì)數(shù)據(jù)庫中的水庫水位記錄數(shù)據(jù)進(jìn)行綜合,通過三維建模,三維顯示設(shè)定時(shí)段內(nèi)水庫的水位變化情況。
④水利工程的總體布局的可視化動(dòng)態(tài)演示。
1 DEM
數(shù)字高程模型(Digital Elevation Model,簡稱DEM),是以數(shù)字的形式按一定結(jié)構(gòu)組織在一起,表示實(shí)際地形特征空間分布的數(shù)字模型,也是地形形狀大小和起伏的數(shù)字描述。DEM的核心是地形表面特征點(diǎn)的三維坐標(biāo)數(shù)據(jù)和一套對(duì)地表提供連續(xù)描述的算法,最基本的DEM是由一系列地面點(diǎn)(x,y)的位置及其相聯(lián)系的高程Z所組成,用數(shù)學(xué)函數(shù)式的表達(dá)是:Z=f(x,y),(x,y)∈DEM所在的區(qū)域[1]。盡管DEM是為了模擬地面起伏而發(fā)展起來的,但也可以用來模擬其他二維表面上連續(xù)變化的特征,如土壤類型、土地利用類型、降水、巖層深度、地價(jià)、商業(yè)優(yōu)勢區(qū)等其它地面特性信息。
由于DEM描述的是地面高程信息,它在測繪、水文、氣象、地貌、地質(zhì)、土壤、工程建設(shè)、通訊、氣象、軍事等國民經(jīng)濟(jì)和國防建設(shè)以及人文和自然科學(xué)領(lǐng)域有著廣泛的應(yīng)用。如在工程建設(shè)上,可用于如土方量計(jì)算、通視分析等;在防洪減災(zāi)方面,DEM是進(jìn)行水文分析如匯水區(qū)分析、水系網(wǎng)絡(luò)分析、降雨分析、蓄洪計(jì)算、淹沒分析等的基礎(chǔ); 在無線通訊上,可用于蜂窩電話的基站分析等等[2]。
2 水利三維場景制作步驟
水利三維場景主要是實(shí)時(shí)制作、實(shí)時(shí)演示,即在系統(tǒng)中輸入矢量圖后,設(shè)定計(jì)算格網(wǎng)的大小,系統(tǒng)會(huì)自動(dòng)劃分格網(wǎng)并計(jì)算出各點(diǎn)高程值,然后利用高程值,生成VRML文件,用戶可以從三維地理組件庫中選擇疊加要素的符號(hào)或組件,從而生成三維仿真模型。
水利工程施工過程中,可以隨時(shí)把矢量圖輸入到三維創(chuàng)作系統(tǒng)中,系統(tǒng)會(huì)根據(jù)矢量圖中DEM層中代表各點(diǎn)的高程值的參數(shù)進(jìn)行計(jì)算生成三維圖,使工作人員能夠只通過對(duì)收集到的柵格圖進(jìn)行矢量化,進(jìn)而生成三維可視化模型。其制作步驟如圖1。
2.1 采集、整理DEM數(shù)據(jù)
水利三維可視化系統(tǒng)的數(shù)據(jù)包括基礎(chǔ)地理信息數(shù)據(jù)和水利專題數(shù)據(jù)。數(shù)據(jù)來源多種多樣,如現(xiàn)有地圖、數(shù)字測圖、衛(wèi)星影像、航空像片、調(diào)查統(tǒng)計(jì)數(shù)據(jù)等。其中基礎(chǔ)地理信息數(shù)據(jù)是指在柵格化地圖的基礎(chǔ)上采集的地貌要素(如等高線、高程點(diǎn))、水系、交通、居民地等背景信息;水利專題數(shù)據(jù)是指建立在基礎(chǔ)地理信息數(shù)據(jù)基礎(chǔ)上的,以矢量方式存儲(chǔ)和管理的各種水利要素(如水庫、水閘碼頭、灌區(qū)等)的專題數(shù)據(jù)。
數(shù)據(jù)采集是對(duì)掃描處理后的光柵文件分層矢量化。數(shù)據(jù)整理主要是對(duì)數(shù)字化后的資料進(jìn)行編輯加工,包括圖形數(shù)據(jù)和屬性數(shù)據(jù)的編輯、圖形數(shù)據(jù)和屬性數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系的校驗(yàn)及糾正,然后通過誤差分析和校正對(duì)數(shù)據(jù)產(chǎn)生的誤差進(jìn)行校正,對(duì)矢量后的單幅圖進(jìn)行圖形變換和圖形拼接操作,從而實(shí)現(xiàn)地圖的合成及邊緣匹配問題。
2.2 劃分格網(wǎng)、計(jì)算格網(wǎng)高程值
所謂DEM的空間內(nèi)插,就是用一種根據(jù)已知數(shù)據(jù)點(diǎn)(離散點(diǎn))可以近似代替一定區(qū)域內(nèi)的表面空間形態(tài)的數(shù)學(xué)模型,利用已知點(diǎn)上的信息求出函數(shù)的待定系數(shù),通過計(jì)算機(jī)的運(yùn)算,內(nèi)插出按一定要求分布的格網(wǎng)點(diǎn)的高程值。
利用離散點(diǎn)構(gòu)建格網(wǎng)DEM所采用的內(nèi)插算法很多,如按距離加權(quán)法、多面函數(shù)法等[3]。實(shí)驗(yàn)證明,由于實(shí)際地形的非平穩(wěn)性,不同的內(nèi)插方法對(duì)DEM精度無顯著影響。因此,簡單的距離加權(quán)法在工程科學(xué)計(jì)算中經(jīng)常用到。
距離加權(quán)法的數(shù)學(xué)模型為:
其中:Z為點(diǎn)(x,y)上的高程,Zi為點(diǎn)(x,y)周圍的第i個(gè)點(diǎn)(xi,yi)i=1,2,…,n上的高程,Pi為第i點(diǎn)的權(quán)值,計(jì)算公式為Pi=1/dn i (i=1,2,…,n)
其中u是一個(gè)大于零的正數(shù),通常取1或2,在水利工程地形圖插值中取u=2,此時(shí),該算法稱為距離反平方加權(quán)法。
di是第i點(diǎn)(xi,yi)到格網(wǎng)點(diǎn)(x,y)的距離,即
di=(i=1,2,…,n)
在構(gòu)建格網(wǎng)DEM的內(nèi)插方法中,經(jīng)常需要選取與插值點(diǎn)距離最近的若干點(diǎn),如圖2左,通過計(jì)算各離散點(diǎn)與待插值點(diǎn)的距離,然后選取距離最短的若干個(gè)點(diǎn)的方法。這種方法算法正確,但計(jì)算量大,插值速度慢,效率低。一種改進(jìn)的方法是在插值點(diǎn)上建立一個(gè)正方形選取框,如圖2右所示,通過簡單的坐標(biāo)值比較就可找到落入框內(nèi)的數(shù)據(jù)點(diǎn)。正方形框的尺寸以落入框內(nèi)的數(shù)據(jù)點(diǎn)數(shù)而定。落入框內(nèi)的點(diǎn)數(shù)較多,可縮小框的尺寸;反之,增大框的尺寸。
選取正方形框的尺寸原始值可根據(jù)圖幅中原始數(shù)據(jù)點(diǎn)的密度來確定。
設(shè)圖幅面積為A,共有N個(gè)數(shù)據(jù)點(diǎn),則每點(diǎn)的平均面積A0為:
A0=A/N
若選取插值點(diǎn)附近的K個(gè)點(diǎn),則選取框面積為:
A1=k×A0
而選取框的邊長即為:
選取框的邊長可適當(dāng)大一些,以盡量保證落入選取框中的數(shù)據(jù)點(diǎn)數(shù)大于或等于K。
2.3 三維地形景觀的要素注記疊加
平面地圖上的面狀要素(如水庫、湖泊、森林、綠地、大型河流等)在地形景觀上的標(biāo)示是一個(gè)極為復(fù)雜的問題。不同的面狀要素應(yīng)采用不同的形式疊加在地形景觀上。面狀要素可分為兩大類型:一類是面狀要素與地表形態(tài)的起伏保持一致,是依附于地形表面的(如森地、農(nóng)作物、大型河流等);第二類是面狀要素以平面的形式截取地形的某一區(qū)域,將該區(qū)域內(nèi)的地表形態(tài)特征覆蓋起來,水庫、湖泊等就屬于這類要素。
第二類面狀要素標(biāo)示方法較為簡單,計(jì)算出面狀要素的高程值后,將落在面狀要素區(qū)域內(nèi)部的每個(gè)地形格網(wǎng)曲面片用該要素高程的格網(wǎng)平面片代替即可。而第一類面狀要素的標(biāo)示,因面狀要素的高程與地表形態(tài)同一位置的格網(wǎng)曲面片相同,因此,要將落在面狀區(qū)域內(nèi)部的每個(gè)地形格網(wǎng)曲面片,用該要素的符號(hào)標(biāo)示在該曲面片上。
無論哪一類面狀要素,建立標(biāo)示在地形景觀的疊加算法,都要解決判斷格網(wǎng)DEM數(shù)據(jù)中的哪些格網(wǎng)落在面狀要素的區(qū)域之內(nèi)的問題,然后對(duì)在面狀要素區(qū)域之內(nèi)的格網(wǎng)進(jìn)行有別于地形景觀的其它格網(wǎng)曲面片的處理顯示方法。
判斷一個(gè)格網(wǎng)是否落在面狀要素區(qū)域,可先做一些預(yù)處理工作:采集格網(wǎng)的中心點(diǎn)P(X,Y),建立面狀要素區(qū)域的多邊形S ={(Xi,Yi)|i=1,2,…,n},則上述問題可轉(zhuǎn)化為:判斷一個(gè)點(diǎn)P,是否落在多邊形S內(nèi)部。該問題有多種算法可以采用。常用的有交點(diǎn)計(jì)數(shù)檢驗(yàn)法、叉積判斷法,夾角之和檢驗(yàn)法等。但是,如果格網(wǎng)DEM數(shù)據(jù)中,格網(wǎng)覆蓋的范圍與面狀區(qū)域比較過大時(shí),雖然只有少數(shù)格網(wǎng)落在面狀多邊形區(qū)域,卻要對(duì)數(shù)目龐大的整個(gè)地形范圍的格網(wǎng)全部檢測一遍,算法效率較低。
該問題的另一種處理方法是采用多邊形區(qū)域填充的方式將多邊形區(qū)域內(nèi)的格網(wǎng)加上標(biāo)記,再對(duì)有標(biāo)記的格網(wǎng)按面狀要素曲面片的方式處理、顯示。具體方法是:
先預(yù)處理多邊形:將面狀區(qū)域多邊形S = {(Xi,Yi)|i=1,2,…,n}作一變換
S'= {( X'i , Y'i ) | i=1,2,…,n}
其中:X'i =int( Xi /d ), Y'i =int(Yi /d),d為DEM格網(wǎng)邊長,則多邊形S'相當(dāng)于將多邊形S縮小d倍,同時(shí)格網(wǎng)邊長縮小為單位1,即格網(wǎng)縮小為一個(gè)單位點(diǎn)像,而多邊形S'內(nèi)的所有點(diǎn)可由區(qū)域填充算法確定標(biāo)記。
綜上所述,建立面狀要素在地形景觀上的三維標(biāo)示的步驟為:
第一步:預(yù)處理面狀要素的多邊形區(qū)域。
第二步:使用多邊形區(qū)域填充算法,將落在面狀要素多邊形區(qū)域中的格網(wǎng)加上標(biāo)記。
第三步:將有標(biāo)記的格網(wǎng)按面狀要素的特征和要求,給出在地形景觀圖上的三維處理和顯示。
2.4 由DEM數(shù)據(jù)生成三維場景
把生成的三維DEM數(shù)據(jù)通過編輯三維空間的應(yīng)用程序轉(zhuǎn)換生成VRML文件,生成VRML的主要目標(biāo)是保證它成為水利三維可視化系統(tǒng)中有效的三維文件交換格式。
3 數(shù)字高程模型的分層設(shè)計(jì)
在水利三維可視化系統(tǒng)中,需要處理大量三維地理信息數(shù)據(jù),尤其在不同比例尺下顯示的信息數(shù)據(jù)內(nèi)容是不同的,顯示的詳細(xì)程度也不同,其處理的復(fù)雜程度也有所不同。設(shè)計(jì)時(shí)采用數(shù)字高程模型與分層設(shè)計(jì)結(jié)合的思想,對(duì)不同比例尺下(一般根據(jù)實(shí)際情況劃分為幾種典型的比例尺)的相同三維景觀(如河道附近得建筑物、湖泊、水閘)選取、處理不同的DEM數(shù)據(jù)[4]。
3.1 放大比例時(shí)DEM數(shù)據(jù)的綜合方法
1) 在原來的DEM數(shù)據(jù)上進(jìn)行加密處理,局部顯示更加逼真。
對(duì)三維圖形按一定比例放大時(shí),生成三維圖形前,對(duì)視圖區(qū)域內(nèi)的DEM數(shù)據(jù)進(jìn)行加密處理,具體方法是對(duì)放大前區(qū)域內(nèi)的DEM數(shù)據(jù)和該比例尺下要顯示的地形景觀的高程值進(jìn)行疊加合并,重新生成新的高程值。
在疊加過程中如果在同一格網(wǎng)有兩個(gè)或兩個(gè)以上的高程點(diǎn),可用簡單的加權(quán)求值法對(duì)這些高程值加權(quán)平均求和,得出該格網(wǎng)的高程值。
2) 對(duì)處理單元即格網(wǎng)進(jìn)行重新劃分,縮小格網(wǎng)的面積,增加可視區(qū)域內(nèi)格網(wǎng)的數(shù)量。
對(duì)重新生成高程值的區(qū)域重新生成格網(wǎng),按比例尺計(jì)算出(或通過數(shù)據(jù)庫查出)該比例尺下格網(wǎng)面積的大小,重新生成小的格網(wǎng)。
3.2 縮小比例時(shí)DEM數(shù)據(jù)的綜合方法
1) 在原來的DEM數(shù)據(jù)上進(jìn)行抽稀處理,全局顯示更明了。
三維圖形按一定比例縮小時(shí),生成三維圖形前,對(duì)視圖區(qū)域內(nèi)的高程值進(jìn)行抽稀處理。具體為對(duì)縮小后的顯示景觀的高程值進(jìn)行過濾和剔除。
抽稀算法:
Public Class Gride{
Integer X,Y,Z;//代表高程點(diǎn)的坐標(biāo)
string ID;//高程唯一標(biāo)識(shí)
Boolean Flag; //標(biāo)識(shí)高程是否處理過
Float Elevation;//高程值
Public void Min_Distance:Float;
//遍歷所有高程值,找出離該點(diǎn)最近的點(diǎn),并計(jì)算出兩點(diǎn)的距離
Public void Eq_Distance:Boolean;
//判斷最短距離是否小于規(guī)定的距離
Public void Destory_Gride:Gride;
//如果最短距離小于規(guī)定的距離,對(duì)兩點(diǎn)的高程值加權(quán)求和得到新的高程值
}
2) 對(duì)處理單元即格網(wǎng)進(jìn)行重新劃分,增大格網(wǎng)面積,減少可視區(qū)域內(nèi)格網(wǎng)的數(shù)量。
4 應(yīng)用及總結(jié)
采用DEM技術(shù)、格網(wǎng)模型算法和分層設(shè)計(jì)思想實(shí)現(xiàn)了水利相關(guān)的地形三維可視化(如圖3),使各種水利信息的表現(xiàn)更加形象、直觀,為領(lǐng)導(dǎo)決策提供了良好的輔助支持作用。
參考文獻(xiàn):
[1] 湯國安,劉學(xué)軍.數(shù)字高程模型及地學(xué)分析的原理與方法[M].北京:科學(xué)出版社,2005.
[2] 周品,李勇.基于DEM的洪水淹沒計(jì)算機(jī)算法優(yōu)化研究[J].微計(jì)算機(jī)信息,2007(3).
[3] 陳永華.WebGIS三維可視化的研究[D].中人民解放軍信息工程大學(xué),2000(4).
[4] 婁秀華,朱忠祥.虛擬仿真三維復(fù)雜路面的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(10).