陳 靜,陳帆飛,周 強(qiáng)
(武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北武漢430079)
全球地形數(shù)據(jù)多尺度暈渲及服務(wù)研究
陳 靜,陳帆飛,周 強(qiáng)
(武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北武漢430079)
采用地形分塊暈渲的策略,根據(jù)不同地形尺度,采用不同的暈渲方法對全球地形數(shù)據(jù)進(jìn)行多尺度暈渲。在此基礎(chǔ)上,以WCS方式提供全球地形暈渲?jǐn)?shù)據(jù)服務(wù),最后通過試驗對上述方法的有效性進(jìn)行驗證。
全球地形數(shù)據(jù);分塊暈渲;WCS
目前,地形數(shù)據(jù)的自動暈渲還不能完全滿足數(shù)字地圖制圖的要求,主要表現(xiàn)在自動暈渲還不能完全表達(dá)所有的地貌形態(tài),不能進(jìn)行局部光照調(diào)整,不能快速處理海量數(shù)據(jù)等。對此,國內(nèi)外相關(guān)專家做了大量的研究探索工作[1-3]。對于數(shù)字暈渲法的已有研究主要集中在兩個方面:①對于地形表面的模擬以及法向量的計算;② 對于光照的模擬與計算。
已有研究中只涉及局部地區(qū)地形地貌的暈渲,且多用于局部直角坐標(biāo)系下的地形暈渲,尚沒有涉及全球大范圍地形暈渲的研究。
由于全球地形數(shù)據(jù)具有海量的特征,進(jìn)行全球范圍的地形暈渲計算時,若一次性調(diào)入內(nèi)存進(jìn)行計算則要浪費大量的系統(tǒng)資源,甚至有可能造成系統(tǒng)崩潰。同時,由于全球地形數(shù)據(jù)具有多尺度特征,不同的尺度條件下,地形地貌的特征不同,而暈渲圖又是一種直觀的對地形數(shù)據(jù)進(jìn)行二維可視化的方法。因此,對多尺度全球地形數(shù)據(jù),若采用同一種暈渲方法,則無法突出不同尺度下暈渲表達(dá)的重點。最后,生成的全球多尺度暈渲圖的海量數(shù)據(jù)也需要進(jìn)行高效地組織與管理,并將其封裝成網(wǎng)絡(luò)覆蓋服務(wù)(Web coverage service,WCS),實現(xiàn)地形暈渲的信息共享。
本文在設(shè)計全球地形數(shù)據(jù)邏輯統(tǒng)一索引的基礎(chǔ)上,重點探討了基于分塊策略的多尺度地形暈渲方法,并將暈渲結(jié)果封裝成WCS,提供地形暈渲服務(wù)。
由于全球地形數(shù)據(jù)具有海量、多尺度、多時相等特征,因此無法對如此巨大的地形數(shù)據(jù)進(jìn)行一次性暈渲,需要考慮按照一定范圍對全球地形數(shù)據(jù)進(jìn)行分塊暈渲,并且在邏輯上組織成全球統(tǒng)一的地形暈渲圖。對此,設(shè)計了全球地形數(shù)據(jù)多尺度暈渲的邏輯分塊索引方法,其核心是面向全球范圍,基于Ottoson提出的用橢球四叉樹對全球地理數(shù)據(jù)進(jìn)行索引的方法[4],構(gòu)建全球等經(jīng)緯度的地理坐標(biāo)系,分別對東西半球建立兩個層次四叉樹結(jié)構(gòu)。四叉樹4個結(jié)點分別代表該邏輯塊的空間范圍,全球四叉樹邏輯索引一旦建立,全球地形數(shù)據(jù)多尺度暈渲的邏輯索引也就確定下來,如圖1所示。
圖1 全球范圍邏輯金字塔結(jié)構(gòu)圖
全球地形數(shù)據(jù)多尺度暈渲的邏輯索引實際上是經(jīng)緯網(wǎng)點陣列,每一個格網(wǎng)與其相鄰格網(wǎng)之間的拓?fù)潢P(guān)系隱含在該陣列的行列號之中。對此,規(guī)定以每一個邏輯分塊的左下角行號、列號構(gòu)成空間索引關(guān)鍵字,將行號和列號編碼成Morton碼。同時考慮到地形數(shù)據(jù)的時態(tài)信息,擴(kuò)展上述Morton碼與時間編碼組成一個分塊的時空統(tǒng)一編碼,用一個64 bit整型表示。
全球地形多尺度暈渲方法主要包括:①基于分塊的地形暈渲;②暈渲的色調(diào)統(tǒng)一處理;③多尺度暈渲。
1.基于分塊的地形暈渲
在全球多尺度地形數(shù)據(jù)暈渲的邏輯索引上,對邏輯索引中任意尺度下某一個邏輯塊,通過Morton碼計算出其經(jīng)緯度范圍,并根據(jù)此范圍和尺度,調(diào)度相應(yīng)尺度和范圍的原始地形數(shù)據(jù),進(jìn)行分塊的地形暈渲。為了便于暈渲結(jié)果的組織與管理,規(guī)定這個邏輯塊范圍也是最終生成暈渲結(jié)果圖的范圍。
具體來說,大范圍分塊暈渲,首先是根據(jù)地形數(shù)據(jù)最大分辨率的大小,找出與其最接近的全球索引的層號,然后根據(jù)式(1),計算出需要暈渲的范圍在全球索引層中的行列號范圍。最后根據(jù)塊的行列號范圍,逐層逐塊進(jìn)行暈渲。
式中,Lon和Lat分別為經(jīng)、緯度;TileSize為索引塊的大小;abs()表示取絕對值;int()表示取整。
在暈渲過程中,由于每個高程點的坡度坡向或者平均法向量都需要周圍8個相鄰點的高程進(jìn)行計算,但是在一個邏輯分塊的邊緣只能取到小于等于4個的高程點數(shù)。因此兩個相鄰邏輯塊的邊緣計算出來的值很難完全相同,由此會導(dǎo)致塊與塊之間暈渲像素的不連續(xù)。于是,在分塊暈渲中,需要取稍大于邏輯暈渲塊地理范圍的高程數(shù)據(jù)。即如果暈渲塊實際地理范圍的起始點為(x0,y0),采樣點的個數(shù)為m·n(m為采樣點的列數(shù),n為采樣點的行數(shù))。那么在取數(shù)據(jù)時,應(yīng)在原數(shù)據(jù)的基礎(chǔ)上擴(kuò)大地理范圍,起始點變成(x0',y0'),采樣點個數(shù)為(m+2)·(n+2),即在原采樣點陣的4個方向上各增加一行和一列,如圖2所示。斜線部分表示的是邏輯暈渲塊范圍,也是最終生成的暈渲圖范圍,外面擴(kuò)展框則是實際取出的用來暈渲的地形數(shù)據(jù)范圍。實際進(jìn)行暈渲計算時,只計算中間的m·n個點(即圖2中斜線范圍)的暈渲值。
2.分塊暈渲的色調(diào)統(tǒng)一處理
由于單個地形數(shù)據(jù)塊的暈渲只在一個數(shù)據(jù)塊內(nèi)進(jìn)行,所以不需要考慮色調(diào)和光照不一致的問題。而對于同一尺度下大規(guī)模分塊暈渲的地形來說,必須從整體考慮色彩設(shè)定與配置。
若僅參照每個暈渲塊內(nèi)的最大最小高程值對,由于各個塊之間的最大最小高程不盡相同,那么暈渲后,塊與塊之間必然會出現(xiàn)色調(diào)不一致的情況。因此,為了避免這種情況必須將絕對高程值進(jìn)行分級賦值處理。
圖2 基于分塊的暈渲方法
可以按地形數(shù)據(jù)的絕對高程將地貌形態(tài)劃分為幾級,每一級根據(jù)高程繼續(xù)細(xì)分若干子層,根據(jù)經(jīng)驗值給地形數(shù)據(jù)賦色彩值,每一級內(nèi)部子層的色彩變化趨勢不變。結(jié)合該種設(shè)色方式,若高程值H在高程分級值Hm和Hm+1之間,則具體的暈渲色彩中RGB 3個顏色分量時運用式(2)進(jìn)行計算
式中,Rm+1、Rm、Gm+1、Gm、Bm+1、Bm分別是第m+1級和m級高程對應(yīng)的RGB值;k是基本光照模型[5]中關(guān)于地表曲面微元光線照度的一次函數(shù),k具體取值可根據(jù)經(jīng)驗和暈渲效果進(jìn)行調(diào)整。
色層表中每一級高程閾值的取值,可以根據(jù)具體的地形暈渲范圍中高程的分布進(jìn)行取值。即在進(jìn)行具體的暈渲之前,先對整個范圍內(nèi)的地形高程值抽樣做一個統(tǒng)計直方圖,根據(jù)統(tǒng)計結(jié)果來確定劃分高程分級的級數(shù)以及每一級的閾值,如圖3所示。對于閾值的確定:①首先找出直方圖中所有極小頻數(shù)的高程值,即直方圖中下凹的區(qū)域;② 其次從最小的極小頻數(shù)高程值開始,取該值為第一個閾值;③再統(tǒng)計每兩個相鄰極小頻數(shù)高程值之間高程的頻數(shù),若該頻數(shù)大于一定的頻數(shù)值,則取較高的極小頻數(shù)高程值作為閾值,繼續(xù)向下統(tǒng)計,若該頻數(shù)小于一定的頻數(shù)值,則舍棄較大的高程值;④然后把每一級按高程的頻數(shù)劃分為若干層;⑤最后參照以往的經(jīng)典分層設(shè)色值,如Nighbert的分層設(shè)色,對分好的高程層進(jìn)行設(shè)色。
圖3 高程直方圖
經(jīng)過上述處理過程的分塊暈渲,不僅能夠保證塊之間色彩色調(diào)的一致性,而且由于經(jīng)過高程直方圖的統(tǒng)計,暈渲的層次感較強(qiáng)。
3.地形數(shù)據(jù)的多尺度暈渲
一般來說,計算暈渲的方法有兩種:① 通過坡度、坡向進(jìn)行計算;②通過該點周圍地面三角形片的法向量進(jìn)行計算,即平均法向量計算法。其中,坡度、坡向計算方法對地形地貌的暈渲表現(xiàn)比較簡潔干凈、重點地貌形態(tài)突出,而通過法向量計算的方法對地形地貌的表現(xiàn)比較破碎,但其細(xì)部特征保留較好。因此對于小比例尺的地圖的暈渲應(yīng)該使用對整體地形地貌概括性強(qiáng)的坡度、坡向的方法進(jìn)行計算,而對于大比例尺和需要對地形地貌精確表達(dá)的地圖,則應(yīng)該使用對細(xì)節(jié)保留較好的平均法向量方法進(jìn)行計算。
為了方便確定比例尺的尺度,對于地形暈渲方法的選擇,參照下述統(tǒng)計判定規(guī)則
式中,p、k、n和m為常數(shù),分別為0.004 29、0.000 18、1.444605和0.26777;Scale表示國家基本地形比例尺的分母值除以10 000,如1∶1 000 000,則Scale取100;Res則是該比例尺對應(yīng)的通用分辨率,如1∶1 000 000對應(yīng)1 000 m的網(wǎng)格大小;u是坡向信息失真因子[6]。當(dāng)Res<200,u=0.1;Res在200~1 000,u=0.2,Res>1 000,u=0.3。
當(dāng)Y<0.5時,采用法向量進(jìn)行計算,否則采用坡度、坡向計算方法。
地形暈渲圖是地形數(shù)據(jù)的一種直觀、簡便的可視化表達(dá),將其封裝成WCS有利于實現(xiàn)地形暈渲信息的共享與服務(wù)。本文將實現(xiàn)WCS的3個操作:對GetCapabilities、DescribeCoverage和 GetCo-verage進(jìn)行了封裝,并在內(nèi)部設(shè)計了從暈渲結(jié)果數(shù)據(jù)集到WCS的數(shù)據(jù)流程。同時設(shè)計了3層架構(gòu)的服務(wù)體系,包括數(shù)據(jù)層、應(yīng)用服務(wù)層和應(yīng)用層,提供全球地形多尺度的暈渲?jǐn)?shù)據(jù)服務(wù),如圖4所示。
圖4 基于WCS的地形暈渲服務(wù)實現(xiàn)模式
圖4中,數(shù)據(jù)服務(wù)層是多尺度暈渲圖結(jié)果數(shù)據(jù),它在Web服務(wù)器接口層或者GIS應(yīng)用服務(wù)器中進(jìn)行注冊,并提供相應(yīng)的元數(shù)據(jù)。應(yīng)用服務(wù)層包括WCS服務(wù)器、GIS應(yīng)用服務(wù)器、Web服務(wù)器等。WCS服務(wù)器負(fù)責(zé)WCS接口的封裝,處理響應(yīng)用戶的請求,向數(shù)據(jù)層請求數(shù)據(jù)和返回WCS的地形暈渲圖;GIS應(yīng)用服務(wù)器、Web服務(wù)器等主要提供地形暈渲?jǐn)?shù)據(jù)的注冊服務(wù)、目錄服務(wù)、客戶端的數(shù)據(jù)請求等一系列服務(wù)。應(yīng)用層支持應(yīng)用程序和IE瀏覽器的應(yīng)用,用戶可以進(jìn)行相應(yīng)的操作和請求。
基于上述架構(gòu),采用全球90 m分辨率STRM地形數(shù)據(jù),進(jìn)行全球地形數(shù)據(jù)多尺度分塊暈渲,試驗效果圖如圖5所示。封裝成WCS,利用IE瀏覽器請求得到的結(jié)果如圖6所示。
圖5 多尺度全球地形暈渲圖
在保證暈渲色調(diào)的一致性條件下,多尺度分塊地形暈渲的方法能突出不同尺度下地貌的表達(dá)。同時將暈渲結(jié)果封裝成WCS提供全球地形多尺度暈渲服務(wù)。
圖6 地形暈渲WCS結(jié)果
[1] 施祖輝.地貌暈渲法[M].北京:測繪出版社,1985.
[2] 陳艷麗,李少梅.基于坡度坡向的地貌暈渲實現(xiàn)研究[J].測繪科學(xué),2008(S1):181-182.
[3] 郭慶勝,王曉延.地貌暈渲中光源使用方法與用色規(guī)則的研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2004,29(1):20-23;33.
[4] OTTOSON P,HAUSKA H.Ellipsoidal Quadtrees for Indexing of Global Geographical Data[J].Geographical Information Science,2002,16(3):223-226.
[5] 韓明峰,Phong光照模型中單位反射光線矢量的快速計算研究[J],微機(jī)發(fā)展,1999,9(1):6-7.
[6] 劉春,孫偉偉,吳杭彬.DEM地形復(fù)雜因子的確定及與地形描述精度的關(guān)系[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2009,34(9):1014-1019.
Study on Method and Service of Multi-scales Relief Shading for Global Terrain Data
CHEN Jing,CHEN Fanfei,ZHOU Qiang
0494-0911(2011)07-0027-03
P283.7
B
2010-08-04
國家863計劃資助項目(2009AA12Z229);國家863計劃資助項目(2004AA12Z201)
陳 靜(1975—),男,江西樟樹人,副教授,主要從事基于網(wǎng)絡(luò)環(huán)境的地球空間信息服務(wù)研究與應(yīng)用。