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