李金貴,翁敬農(nóng)
(北京航空航天大學(xué)計算機學(xué)院,北京100191)
數(shù)字地球(digital earth)是美國前副總統(tǒng)戈爾于1998年1月發(fā)表的題為《數(shù)字地球:認(rèn)識21世紀(jì)我們所居住的星球》的演說時提出的一個與地理信息系統(tǒng)、網(wǎng)絡(luò)、虛擬現(xiàn)實等高新技術(shù)密切相關(guān)的概念。在戈爾的演說中,他將數(shù)字地球看作是“對地球的三維多分辨率表示,它能夠放入大量的地理數(shù)據(jù)?!弊詳?shù)字地球概念提出以來,國際上許多科研機構(gòu)與企業(yè)掀起了對其研究的熱潮,關(guān)于數(shù)字地球一系列具有代表性的產(chǎn)品脫穎而出,如Google Earth、Arc-Globe、EV-Globe等。如何在虛擬三維地形上展示空間數(shù)據(jù)成為了研究重點與熱點。地形數(shù)據(jù)、柵格數(shù)據(jù)、矢量數(shù)據(jù)是數(shù)字地球最基礎(chǔ)、最重要的數(shù)據(jù)。在虛擬三維地形上覆蓋全球影像數(shù)據(jù),進(jìn)而顯示矢量專題數(shù)據(jù),就構(gòu)成了數(shù)字地球原型[1]。
GIS發(fā)展至今已經(jīng)積累了大量的二維數(shù)據(jù),形成了成熟的規(guī)范與生產(chǎn)流程。二維數(shù)據(jù)的三維可視化已成為GIS發(fā)展的趨勢。在數(shù)字地球三維環(huán)境下,如何將二維GIS數(shù)據(jù)在三維地形上進(jìn)行可視化無疑是重要的部分之一[2]。在數(shù)字地球環(huán)境中,對于全球影像數(shù)據(jù)一般采用影像金字塔的形式進(jìn)行組織,通過WMS進(jìn)行調(diào)用[3],以紋理映射的方式進(jìn)行可視化。這種方式與二維環(huán)境比較相似,影像數(shù)據(jù)的可視化也比較成熟。然而對于矢量數(shù)據(jù),由于其結(jié)構(gòu)相對復(fù)雜,有內(nèi)部屬性且要素間具有拓?fù)潢P(guān)系,又是空間分析的主要對象,在數(shù)字地球三維場景中對它的可視化方式雖然進(jìn)行了大量研究,并且取得了豐碩的成果,但存在的問題仍然比較突出。在數(shù)字地球環(huán)境下,對大數(shù)據(jù)量的矢量數(shù)據(jù)進(jìn)行可視化時,要兼顧可視化效果與對原矢量數(shù)據(jù)屬性與結(jié)構(gòu)的保持,這是引起問題的主要原因。另外,由于數(shù)字地球環(huán)境中通常采用的是金字塔多分辨率地形模型,在對矢量進(jìn)行渲染時不僅要使其緊貼地面,而且要隨視域范圍與視點高度的變化而變化,這無疑增加了問題的難度。本文在對三維環(huán)境下現(xiàn)有矢量數(shù)據(jù)可視化技術(shù)研究的基礎(chǔ)之上,提出了在數(shù)字地球環(huán)境下帶樣式矢量動態(tài)紋理可視化方法及球面矢量點選交互技術(shù)。
目前,二維矢量的三維可視化方法主要有兩種,分別是基于幾何和基于紋理的可視化方法[4]?;趲缀蔚目梢暬歉鶕?jù)矢量數(shù)據(jù)創(chuàng)建與地形幾何表面相適應(yīng)的矢量幾何數(shù)據(jù),即給矢量數(shù)據(jù)添加并插值高程值,對矢量數(shù)據(jù)進(jìn)行渲染[5],具體方法又分為集成法與疊加法。集成法是將矢量數(shù)據(jù)的幾何機構(gòu)嵌入到地形格網(wǎng),以使高程信息集成到矢量數(shù)據(jù)的坐標(biāo)中,使地形格網(wǎng)和矢量幾何融為一體[6];而在疊加法中,矢量數(shù)據(jù)與地形數(shù)據(jù)之間是相互獨立的,通過空間位置關(guān)系關(guān)聯(lián)起來,在顯示效果上融合為一體?;诩y理的矢量繪制方法的思想是:首先將二維矢量數(shù)據(jù)柵格化為紋理影像,然后采用紋理映射的方法進(jìn)行繪制,這樣能夠保證矢量數(shù)據(jù)與三維地形很好地疊加在一起。兩種可視化方法的優(yōu)缺點及在數(shù)字地形環(huán)境下的基本應(yīng)用見表1。
表1 矢量數(shù)據(jù)三維可視化方法優(yōu)缺對比與基本應(yīng)用
帶樣式矢量動態(tài)紋理可視化方法的主要思想是根據(jù)三維場景的視域范圍及視點高度調(diào)度可見層級的可見瓦快[7],利用矢量數(shù)據(jù)與瓦快之間的映射關(guān)系找到需加載的瓦快區(qū)域?qū)?yīng)的矢量數(shù)據(jù),讀取指定樣式(地理符號),動態(tài)生成與地形地段大小匹配的紋理塊,供數(shù)字地球軟件進(jìn)行加載顯示。該方法的實現(xiàn)有些類似WMS的工作原理,所不同的是該方法在對矢量進(jìn)行紋理可視化時,直接根據(jù)地形的渲染發(fā)出請求,返回對應(yīng)的數(shù)據(jù)進(jìn)行渲染并進(jìn)行緩存,主要分為兩部分:紋理在數(shù)字地球平臺的可視化與帶樣式矢量圖層快速柵格化。
(1)紋理在數(shù)字地球平臺的可視化
在數(shù)字地球環(huán)境下,對大規(guī)模場景的地形數(shù)據(jù)與影像進(jìn)行渲染時,需要根據(jù)視域范圍與視點高度讀取緩存中的瓦塊進(jìn)行加載。地形數(shù)據(jù)與地表影像數(shù)據(jù)通常以金字塔結(jié)構(gòu)[8]在服務(wù)器端進(jìn)行存儲,數(shù)字地球客戶端以WMS的形式向服務(wù)器發(fā)送請求,并將數(shù)據(jù)以金字塔的形式緩存到本地。這樣的層次細(xì)節(jié)模型(LOD)可以提高加載速度且保證足夠細(xì)節(jié)。為了不對矢量數(shù)據(jù)的內(nèi)部屬性及要素間的拓?fù)潢P(guān)系造成破壞,對矢量數(shù)據(jù)接入時,開始并不對矢量數(shù)據(jù)進(jìn)行瓦片分割構(gòu)建多分辨率的中間文件,而是建立瓦塊與矢量數(shù)據(jù)之間的函數(shù)關(guān)系,需要顯示時則根據(jù)這層映射關(guān)系找到對應(yīng)范圍的矢量數(shù)據(jù)進(jìn)行渲染。因此,矢量數(shù)據(jù)的組織管理應(yīng)與高程數(shù)據(jù)、影像數(shù)據(jù)具有統(tǒng)一的網(wǎng)絡(luò)劃分方案。
設(shè)當(dāng)前瀏覽數(shù)據(jù)的層級為n,數(shù)據(jù)的經(jīng)緯度為longitude、latitude,若金字塔最底層的度數(shù)為Δ,則可得該點所在的文件行列號row與column為:row=(latitude+90°)/Δ×2n,column=(longitude+180°)/Δ×2n。根據(jù)視域范圍可以計算出可見層級中的哪些瓦塊需要調(diào)用。根據(jù)矢量數(shù)據(jù)與瓦塊之間的映射關(guān)系,由當(dāng)前層級n、最底層的度數(shù)Δ,以及行列號row、column,可計算出對應(yīng)矢量的范圍為:longitude=column×Δ/(2n)-180°,latitude=row×Δ/(2n)-90°;當(dāng)前層級的間隔為:Δ/(2n)。得到范圍后對數(shù)據(jù)生成線程發(fā)送請求,則可以將對應(yīng)范圍的矢量以圖片的形式返回并映射到數(shù)字地球模型對應(yīng)的位置,同樣以影像金字塔的形式進(jìn)行緩存,以便后繼瀏覽到相同層級、相同范圍時無須再次生成紋理,極大地提高了數(shù)據(jù)瀏覽的速度。
(2)紋理在數(shù)字地球平臺的可視化
對矢量要素的線寬及面要素內(nèi)部填充色的設(shè)置,以圖層樣式表(SLD)的形式保存在文件中。圖層樣式表是OGC制定的一種基于XML語言的文本文件,用來描繪特征數(shù)據(jù)的表現(xiàn)形式,它可以精確描述制圖層上的每一個特征要素的表現(xiàn)形式,并靈活展示不同狀態(tài)下的空間要素[9]。Geotools作為開放空間地理信息聯(lián)盟的重要組成部分,高效地實現(xiàn)了其大部分標(biāo)準(zhǔn)接口,并能夠直接解析SLD文件進(jìn)行渲染,生成指定范圍的紋理。本文利用Geotools開源工具包生成動態(tài)紋理主要分為6個步驟,包括請求解析、加載數(shù)據(jù)、將數(shù)據(jù)置入緩存、樣式設(shè)置、添加圖層,以及紋理生成。圖1為柵格紋理生成流程。在實際應(yīng)用中,由于柵格紋理生成模塊需要頻繁連接數(shù)據(jù)源,因此設(shè)置了數(shù)據(jù)緩存池。該緩存池容量默認(rèn)為8,并采用LRU原則進(jìn)行數(shù)據(jù)替換[10]。
①請求解析
請求解析模塊主要負(fù)責(zé)解析映射字符串,提取矢量數(shù)據(jù)的連接參數(shù)及紋理參數(shù),并驗證參數(shù)的有效性。參數(shù)包括數(shù)據(jù)源、圖層樣式表(SLD)、坐標(biāo)系(本文為WGS-84)、紋理文件格式(本文為PNG)、紋理的分辨率(本文為256)及請求紋理的范圍。如果參數(shù)有效,則繼續(xù)處理;否則退出此次柵格紋理生 成過程。
圖1 柵格紋理生成流程
②加載數(shù)據(jù)
加載數(shù)據(jù)時首先驗證數(shù)據(jù)是否已放入緩存,若是則直接進(jìn)入樣式設(shè)置模塊,否則根據(jù)數(shù)據(jù)連接參數(shù)讀取數(shù)據(jù);讀取完成后驗證數(shù)據(jù)是否加載成功,若是則進(jìn)入樣式設(shè)置模塊,否則退出紋理生成過程。
③樣式設(shè)置
樣式設(shè)置模塊主要負(fù)責(zé)讀取映射字符串中指定的地圖符號化樣式,并將此樣式與對應(yīng)圖層數(shù)據(jù)關(guān)聯(lián)起來。Geotools是通過用戶提供的樣式信息進(jìn)行渲染控制。在對樣式進(jìn)行交互式設(shè)置時,使用SLD文件對矢量文件的樣式進(jìn)行描述。
④添加圖層
針對多個矢量圖層的渲染,為避免重復(fù)創(chuàng)建上下文環(huán)境,添加圖層模塊加載多個已讀入數(shù)據(jù)圖層,并送交紋理生成模塊。這樣可以對多個矢量圖層同時進(jìn)行柵格紋理生成,在進(jìn)行渲染時可以減少渲染量,并且在進(jìn)行金字塔緩存時也可以減少磁盤占有量。
⑤紋理生成
紋理生成模塊主要負(fù)責(zé)根據(jù)紋理參數(shù),如紋理分辨率、格式等,繪制指定經(jīng)緯區(qū)域的矢量圖層數(shù)據(jù),并將生成的紋理數(shù)據(jù)轉(zhuǎn)換為字節(jié)返回。在此模塊中,主要使用了Geotools的GTRenderer接口,它的主要實現(xiàn)為Streaming Renderer類。它在第一次調(diào)用時就可以在消耗較低內(nèi)存的情況下,生成優(yōu)質(zhì)的圖像緩存,并且無須再對同一數(shù)據(jù)的后繼調(diào)用渲染進(jìn)行優(yōu)化,這樣在對大型矢量數(shù)據(jù)進(jìn)行處理時效果更加明顯。
(3)球面矢量數(shù)據(jù)點選交互技術(shù)
當(dāng)對矢量數(shù)據(jù)主要以整理形式進(jìn)行展現(xiàn)時,若數(shù)據(jù)量較大,直接以基于幾何的方式進(jìn)行渲染,則需要消耗較大內(nèi)存進(jìn)行計算,極大地降低了系統(tǒng)的性能。因此,可以采用上述帶樣式的動態(tài)矢量紋理可視化方法。如果僅對矢量數(shù)據(jù)中的單個要素進(jìn)行展示,則在不影響性能的情況下,采用基于幾何的可視化方法就可以對數(shù)據(jù)進(jìn)行完美展示。球面矢量數(shù)據(jù)點選功能是在對矢量圖層進(jìn)行點擊時,對點擊下的要素進(jìn)行高亮顯示,并進(jìn)行屬性數(shù)據(jù)查詢。由于矢量數(shù)據(jù)柵格化方法技術(shù)產(chǎn)生的數(shù)據(jù)并沒有包含矢量的屬性,對其進(jìn)行點擊并不能產(chǎn)生實質(zhì)性的結(jié)果。但是由于矢量數(shù)據(jù)的完整性,可以通過位置查詢出點擊處的要素。這樣只要把查詢出的矢量要素返回并經(jīng)過基于幾何的模板陰影法進(jìn)行渲染,其效果是以新的要素覆蓋在原結(jié)果之上,在不對原有渲染進(jìn)行修改的情況下就可以產(chǎn)生高亮效果。其流程如圖2所示。
圖2 球面矢量數(shù)據(jù)點選流程
百科地球(WikiGlobe)平臺是由北航數(shù)字地球與地理信息系統(tǒng)實驗室課題組開發(fā)的數(shù)字地球平臺,它專注于與空間信息相關(guān)的百科知識的傳播與共享。百科地球之“世界國家概況”專題應(yīng)用以介紹國家信息為主,同時展示全球范圍內(nèi)與中國建交的國家分布及一些重要組織的分布,如世貿(mào)組織、亞太空間合作組織等。專題數(shù)據(jù)主要來自CIA網(wǎng)站、聯(lián)合國網(wǎng)站、中國外交部網(wǎng)站、維基百科及世界貿(mào)易組織網(wǎng)站等。
本應(yīng)用的矢量數(shù)據(jù)為世界國家行政邊界,幾何數(shù)據(jù)主要來源于Esri,通過將聯(lián)合國網(wǎng)站國家列表與CIA中的世界國家概況進(jìn)行對比,整理出百科地球版本的國家列表,其屬性數(shù)據(jù)主要收集于互聯(lián)網(wǎng),包括各國的面積、人口、GDP、簡介等。對國家進(jìn)行展示時,行政邊界設(shè)置樣式后,實時進(jìn)行柵格紋理化可視化,并通過金字塔結(jié)構(gòu)進(jìn)行緩存。對國家信息進(jìn)行展示時,通過點擊興趣國家所在的區(qū)域,通過球面點選技術(shù),實時對矢量數(shù)據(jù)進(jìn)行查詢,獲得點擊處國家?guī)缀渭皩傩孕畔?,并對幾何信息以基于幾何的模板陰影法進(jìn)行繪制。效果如圖3所示。
圖3 球面點選信息展示
本文探討了數(shù)字地球環(huán)境下二維矢量數(shù)據(jù)的三維可視化及其應(yīng)用問題,通過對現(xiàn)在矢量繪制方法優(yōu)缺點的對比,提出了在數(shù)據(jù)量較大時采用帶樣式動態(tài)矢量紋理可視化方法及在小數(shù)據(jù)量交互時直接采用幾何方法進(jìn)行繪制的應(yīng)用。帶樣式矢量紋理可視化方法是對現(xiàn)有基于紋理的可視化方法的改進(jìn),利用金字塔結(jié)構(gòu)對紋理進(jìn)行緩存,利用Geotools進(jìn)行樣式解析及紋理生成,有效解決了因矢量數(shù)據(jù)量及柵格化分辨率較大而產(chǎn)生的內(nèi)存泄露問題。而對于與球面矢量數(shù)據(jù)交互時小數(shù)據(jù)量矢量數(shù)據(jù)的繪制,采用基于幾何的可視化方法,該方式在球面矢量數(shù)據(jù)點選可視化時得到了廣泛應(yīng)用。本文的研究為矢量數(shù)據(jù)在數(shù)字地球環(huán)境下的可視化及應(yīng)用提供了有效途徑。
[1] 陳東升,戴和原,許錦鵬.基于數(shù)字地球平臺的數(shù)據(jù)可視化技術(shù)研究[J].?dāng)?shù)字技術(shù)與應(yīng)用,2013(11):54-56.
[2] KERSTING O,D?LLNER J.Interactive 3D Visualization of Vector Data in GIS[C]∥Proceedings of the 10th ACM International Symposium on Advances in Geographic Information Systems.NY:ACM,2010:1-507-112.
[3] 姜仁貴,解建倉,李建勛,等.基于數(shù)字地球的Web-GIS開發(fā)及其應(yīng)用[J].計算機工程,2011,37(6):225-227.
[4] XU Y F,SUI Z W,WENG J N,et al.Visualization Methods of Vector Data on a Digital Earth System[C]∥18th International Conference on Geoinformatics.Bei-Jing:IEEE,2010:1-5.
[5] 陳鴻,湯曉安,謝耀華,等.基于視點相關(guān)透視紋理的矢量數(shù)據(jù)在三維地形上的疊加繪制[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2010,22(5):753-761.
[6] KOCH A,HEIPKE C.Integrating 2D Topographic Vector Data with a Digital Terrain Model-a Consistent and Semantically Correct Approach[C]∥RIEDL A,KAINZ W,ELMES G A.Progress in Spatial Data Handling.Berlin and New York:Springer-Verlag,2006:353-364.
[7] XU Y,WAN G L.Technology of Displaying Mass Data Image in Real Time[J].Computer Engineering and Design,2003,24(6):36-38.
[8] YANG L Y,GONG J H,SUN J,et al.An Effective Method for Massive Polygon Data Visualization on Digital Earth Platform[C]∥2010 International Conference on Multimedia Technology(ICMT).Ningbo:IEEE,2010:1-4.
[9] MULLINIX C,HEARN P,ZHANG H J,et al.Webbased Decision Support and Visualization Tools for Water Quality Management in the Chesapeake Bay Watershed[C]∥17th International Conference on Geoinformatics.Fairfax VA:IEEE,2009:1-6.
[10] RISHE N,SUN Y L,CHEKMASOV M,et al.System Architecture for 3D TerraFly Online GIS[C]∥Sixth International Symposium on Multimedia Software Engineering.Miami Florida:IEEE,2004:273-276.