楊 博,楚要?dú)J,施辰光
(中國航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
隨著地理信息系統(tǒng)(Geographic Information System, GIS)的快速發(fā)展,數(shù)字地圖的應(yīng)用越來越廣泛,包含的信息量越來越巨大。數(shù)字地圖是地形、建筑物等地面要素的準(zhǔn)確坐標(biāo)和其它屬性的離散數(shù)據(jù)集[1]。它以GIS巨大的數(shù)據(jù)庫作為基礎(chǔ),如今在計(jì)算機(jī)、手機(jī)上可以呈現(xiàn)出越來越精細(xì)、準(zhǔn)確的顯示結(jié)果,并且如果使用統(tǒng)一的數(shù)字地圖格式,可以很方便地對數(shù)字地圖進(jìn)行組合以生成新的地圖。數(shù)字地圖具有多種數(shù)據(jù)格式,主要可以分為兩大類:矢量型數(shù)字地圖和柵格型數(shù)字地圖[2]。其中,柵格型數(shù)字地圖以數(shù)字高程模型(Digital Elevation Model, DEM)為代表,應(yīng)用的最多也最為重要,是最主要的數(shù)字地圖形式。從檢索國內(nèi)外地形建模的相關(guān)文獻(xiàn)來看,目前可將地形建模方法大致分為三類[3]:
1)以DEM數(shù)據(jù)為基礎(chǔ),構(gòu)建一系列網(wǎng)格元面片逼近起伏地形,網(wǎng)格元面片以三角形或正方形為主;
2)使用遞歸算法,從而可以用簡單的規(guī)則來生成相對復(fù)雜的地形模型;
3)使用二次曲面、三次曲面和樣條曲面等對起伏地形進(jìn)行擬合。
其中,后兩種方法計(jì)算量較大,第一種方法用的最多。本文采用第一種方法完成了對起伏地形的三維建模。
地形的起伏特征是研究山川、丘陵等地區(qū)交通、通信等方面需要考慮的重要因素。數(shù)字高程模型是研究地形起伏特征的重要基礎(chǔ)數(shù)據(jù),可以非常方便準(zhǔn)確地表示不規(guī)則地形的起伏特征。數(shù)字高程模型也是研究地形起伏特征最主要的工具和方法[4]。它的核心思想是:無論地形的起伏程度及大小如何,都可以將該片地形分成很多小區(qū)域,通過每一個(gè)小區(qū)域的高度信息來表示該小區(qū)域的起伏特性,從而得到整片地形的起伏特征。
數(shù)字高程模型是通過一系列按照一定順序排列存放的地形離散高度值,來表示地形起伏信息的數(shù)據(jù)模型[5]。這些有序的離散高度值又稱為地形高程值,表達(dá)出了地形的起伏程度,用數(shù)學(xué)形式描述為:
Vi=(Xi,Yi,Zi).
(1)
其中,(Xi,Yi)是二維坐標(biāo)信息;Zi是(Xi,Yi)相對應(yīng)的高程值。
以數(shù)據(jù)格式作為劃分依據(jù),數(shù)字高程模型主要可以分為規(guī)則網(wǎng)格(Grid)模型和不規(guī)則三角網(wǎng)格(TIN)模型[6]。規(guī)則網(wǎng)格數(shù)字高程模型是將起伏地形曲面用一系列正方形規(guī)則格網(wǎng)單元進(jìn)行劃分,每個(gè)正方形規(guī)則格網(wǎng)單元有一個(gè)高程值Z與之相對應(yīng),將這些高程值Z沿著X方形和Y方向等間隔排列,即可得到該地形的規(guī)則網(wǎng)格數(shù)字高程模型,其數(shù)學(xué)表達(dá)式為:
DEM={Zi,j}(i=1,2,...m;j=1,2,...n).
(2)
規(guī)則網(wǎng)格數(shù)字高程模型在數(shù)據(jù)存儲(chǔ)時(shí)可以省去大量的X,Y坐標(biāo),因?yàn)樗牡匦胃叱讨凳前凑展潭ǖ拈g隔順序排列的,因此它的數(shù)據(jù)格式只包括了地形X,Y坐標(biāo)的起始值、數(shù)字高程模型精度、以及所有地形點(diǎn)的高程值即可。數(shù)字高程模型精度即采用的規(guī)則網(wǎng)格單元的步長。規(guī)則網(wǎng)格模型的數(shù)據(jù)格式相對簡單,存儲(chǔ)地形數(shù)據(jù)時(shí)比較容易進(jìn)行數(shù)據(jù)處理和三維建模,是數(shù)字高程模型最廣泛使用的格式。它的缺點(diǎn)是對于地形細(xì)節(jié)不能非常準(zhǔn)確地表示,需要通過插值等方法附加地形特征數(shù)據(jù),且數(shù)字高程精度太高會(huì)導(dǎo)致數(shù)據(jù)量過大。
不規(guī)則三角網(wǎng)格模型是另一種常用格式的數(shù)字高程模型。上文介紹的規(guī)則網(wǎng)格數(shù)字高程模型雖然具有數(shù)據(jù)格式簡單易處理等優(yōu)勢,但是也存在缺點(diǎn):在地形平坦區(qū)域會(huì)存在數(shù)據(jù)冗余,而在地形復(fù)雜區(qū)域可能不能完全準(zhǔn)確表達(dá)地形起伏特征。不規(guī)則三角網(wǎng)格數(shù)字高程模型是將地形高程點(diǎn)的三維坐標(biāo)用線段相連而形成一個(gè)個(gè)緊密相連的三角形,這些三角形根據(jù)地形的平緩陡峭不同,其大小、形狀、疏密均不同,但是可以無重疊布滿整個(gè)地形。因此,不規(guī)則三角網(wǎng)格模型的優(yōu)勢是采用了不同分辨率表示不同的地貌特征,在地形較平坦處,可以采用低分辨率模型,在地形起伏劇烈區(qū)域,可以采用高分辨率來表示,地形地貌的存儲(chǔ)較為精準(zhǔn)。缺點(diǎn)是存儲(chǔ)結(jié)構(gòu)復(fù)雜,高程值提取計(jì)算量大。因?yàn)樗臄?shù)據(jù)結(jié)構(gòu)不僅要包括各個(gè)地形高程點(diǎn)的三維坐標(biāo),還要包含各個(gè)高程點(diǎn)連接的拓?fù)錉顩r以及三角形的鄰接關(guān)系等信息。
本文基于規(guī)則網(wǎng)格數(shù)字高程模型數(shù)據(jù)對地形進(jìn)行建模,圖1是本文采用的規(guī)則網(wǎng)格數(shù)字高程模型數(shù)據(jù)格式存儲(chǔ)示意圖。Step表示數(shù)字高程模型精度,即每個(gè)小正方形邊長,數(shù)據(jù)存儲(chǔ)時(shí)先按照從左列到右列、再按照由下行往上行的順序,依次有序存儲(chǔ)每個(gè)小正方形網(wǎng)格中心點(diǎn)上的高程值。
圖1 數(shù)據(jù)存儲(chǔ)格式示意圖
這里以一片12 km×12 km大小區(qū)域的起伏地形數(shù)字高程模型數(shù)據(jù)文件為例具體介紹本文使用的數(shù)據(jù)格式,數(shù)字高程模型數(shù)據(jù)如下,第一行數(shù)據(jù)為頭信息行,包含該片地形數(shù)字高程模型的二維坐標(biāo)和精度等信息,其余行是地形具體高程值。具體來看第一行:第一個(gè)值0為X方向坐標(biāo)起始,第二個(gè)值12000為X方向坐標(biāo)結(jié)束,第三個(gè)值0為Y方向坐標(biāo)起始,第四個(gè)值12000為Y方向坐標(biāo)結(jié)束,第五個(gè)值120為數(shù)字高程模型精度,即網(wǎng)格大小,第六個(gè)值100為X方向的網(wǎng)格數(shù)量,第七個(gè)數(shù)據(jù)100為Y方向網(wǎng)格數(shù)量,從第二行開始為高程數(shù)據(jù),高程值的排列順序是先按X軸由左往右排列,再按Y軸正方向排列。坐標(biāo)、精度和高程值的單位均為米。
0 12000 0 12000 120 100 100
2.9 3.0 3.1 3.2 3.3 3.4 3.5
3.6 3.7 3.7 3.8 3.9 3.9 3.9
4.0 4.0 4.0 4.0 4.0 4.0 4.0
3.9 3.9 3.8 3.8 3.7 3.6 3.5
3.5...
利用Matlab讀取上述高程文件數(shù)據(jù)信息,建立的地形的三維模型如圖2和圖3所示。
圖2 地形三維模型圖
圖3 地形數(shù)字高程模型
文章主要研究了基于數(shù)字高程模型的起伏地形建模方法,首先介紹了主要的地形建模方法,接著對數(shù)字高程模型的數(shù)據(jù)格式進(jìn)行了分析,包括規(guī)則網(wǎng)格模型和不規(guī)則三角網(wǎng)絡(luò)模型,然后對基于規(guī)則網(wǎng)格數(shù)字高程模型的地形建模技術(shù)進(jìn)行了研究。完成了基于規(guī)則網(wǎng)格數(shù)字高程模型的地形幾何建模工作。本文給出的地形建模方法數(shù)據(jù)格式簡單易處理、數(shù)據(jù)量小、建模快速準(zhǔn)確,可以為復(fù)雜地理環(huán)境下的交通、通信等研究提供重要的地形模型支持。