夏偉+呂曉琪+王月明+張信雪
摘 要: 為了實(shí)現(xiàn)海量、多維、時(shí)序等特點(diǎn)的海洋環(huán)境數(shù)據(jù)三維動態(tài)可視化表達(dá),設(shè)計(jì)基于OSGEarth三維虛擬可視化平臺,并詳細(xì)闡述該系統(tǒng)的體系結(jié)構(gòu)。將幾何著色器應(yīng)用于對數(shù)據(jù)的渲染著色,同時(shí)利用GPU強(qiáng)大的處理能力加快渲染的速度;通過坐標(biāo)變換,將數(shù)據(jù)可視化的結(jié)果緊密貼合在三維地球表面上;通過人機(jī)交互機(jī)制,進(jìn)一步實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)的動態(tài)可視化。實(shí)驗(yàn)表明,該方法具有一定的可操作性,可以為海洋環(huán)境數(shù)據(jù)的動態(tài)可視化及分析提供技術(shù)平臺。
關(guān)鍵詞: 三維動態(tài)可視化; OSGEarth; 幾何著色器; 坐標(biāo)變換; 人機(jī)交互; 海洋環(huán)境數(shù)據(jù)
中圖分類號: TN919?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)04?0176?04
Abstract: To achieve the 3D dynamic visualization representation of massive and multidimensional marine environment data in time series, the 3D virtual visualization platform based on OSGEarth is designed, and the architecture of the system is described in detail. The geometry shader is applied to the color rendering of data. Meanwhile, the powerful processing capability of GPU is utilized to accelerate the rendering speed. The date visualization results are closely attached to the surface of the three?dimensional earth by means of coordinate transformation. The dynamic visualization of marine environment data is further realized by using the human?computer interaction mechanism. The experimental results show that the method is feasible and can provide the technology platform for dynamic visualization and analysis of marine environment data.
Keywords: 3D dynamic visualization; OSGEarth; geometry shader; coordinate transformation; human?computer interaction; marine environment data
0 引 言
近年來,隨著海洋科學(xué)技術(shù)的發(fā)展,面向海洋領(lǐng)域的應(yīng)用日益加深,對于海洋環(huán)境數(shù)據(jù)的分析與表達(dá)已經(jīng)成為一個(gè)研究熱點(diǎn)。為了有效地分析探究海洋環(huán)境數(shù)據(jù)的內(nèi)在規(guī)律以及發(fā)展變化,三維動態(tài)可視化系統(tǒng)的研發(fā)已經(jīng)成為一種趨勢。目前,針對海洋領(lǐng)域數(shù)據(jù)的統(tǒng)一管理與三維動態(tài)可視化表達(dá),國內(nèi)外學(xué)者都展開了相關(guān)研究,如肖如林等分析三維虛擬地球在海洋數(shù)據(jù)處理方面應(yīng)用的優(yōu)勢,并在此基礎(chǔ)上,研發(fā)了一套三維海洋信息操作平臺系統(tǒng),實(shí)現(xiàn)了大量海洋環(huán)境數(shù)據(jù)的集成和可視化[1];涂超等采用插值法連續(xù)生成了海洋溫度的三維空間數(shù)據(jù)場,融合可視化技術(shù),提出海洋溫度場的三維可視化方法[2];王想紅等基于NetCDF數(shù)據(jù)模型,實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)三維可視化[3];Dunne等按照OGC數(shù)據(jù)傳輸標(biāo)準(zhǔn),將多波束聲納數(shù)據(jù)集成到World Wind,實(shí)現(xiàn)了網(wǎng)絡(luò)三維表達(dá)[4];何亞文等重點(diǎn)介紹了時(shí)空可視化的方法,并提出了中國南海的海洋環(huán)境數(shù)據(jù)的可視化架構(gòu)原型系統(tǒng),突出了面向過程的可視化方法[5];李久松等結(jié)合VC++和CG著色語言,提出了包括探針功能、線模式等面向海洋、大氣數(shù)據(jù)的模式分析法,實(shí)現(xiàn)了海洋大氣數(shù)據(jù)向三維空間圖像的動態(tài)演變,在實(shí)時(shí)動態(tài)的可視化圖形的基礎(chǔ)上得到海洋大氣數(shù)據(jù)的動態(tài)變化過程[6];馮杭建等研究了基于海洋GIS的中國海岸帶及近海觀測數(shù)據(jù)的多維動態(tài)表達(dá)[7]。綜上所述,數(shù)據(jù)的可視化以及動態(tài)的可視化已經(jīng)有較多的研究,但都局限于二維或者局部三維的可視化表達(dá),沒能夠直觀地反應(yīng)出全球海洋環(huán)境數(shù)據(jù)的動態(tài)宏觀特征。本文基于OSGEarth三維虛擬可視化平臺,以海量、多維、時(shí)序的海洋環(huán)境數(shù)據(jù)為研究對象,設(shè)計(jì)實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)的三維動態(tài)可視化系統(tǒng)。對海洋環(huán)境信息的三維動態(tài)可視化表達(dá)與分析研究具有重大的現(xiàn)實(shí)意義和指導(dǎo)價(jià)值。
1 系統(tǒng)設(shè)計(jì)
本文以三維虛擬地球?yàn)槠脚_,實(shí)現(xiàn)了海洋數(shù)據(jù)的動態(tài)交互可視化的表達(dá)。系統(tǒng)主要包括數(shù)據(jù)層、服務(wù)層、渲染實(shí)現(xiàn)層以及顯示交互層,具體的框架結(jié)構(gòu)如圖1所示。
數(shù)據(jù)層是建設(shè)海洋三維可視化原型系統(tǒng)的基礎(chǔ),主要是指系統(tǒng)可加載的各類數(shù)據(jù),包括全球數(shù)字正射影像圖(DOM)、全球數(shù)字高程圖(DEM)、海洋標(biāo)量數(shù)據(jù)以及海洋矢量數(shù)據(jù)等。數(shù)據(jù)層還包括由其他系統(tǒng)或數(shù)據(jù)服務(wù)商提供的數(shù)據(jù)服務(wù),該層數(shù)據(jù)可被渲染實(shí)現(xiàn)層直接調(diào)用繪制,也可通過服務(wù)層的數(shù)據(jù)服務(wù)進(jìn)行加載。服務(wù)層用于管理和發(fā)布各類數(shù)據(jù)服務(wù),實(shí)現(xiàn)多源數(shù)據(jù)的請求與響應(yīng)。渲染實(shí)現(xiàn)層提供數(shù)據(jù)可視化及交互環(huán)境,主要包括功能接口實(shí)現(xiàn)層及交互控制層,其中前者是根據(jù)系統(tǒng)功能需求,設(shè)計(jì)系統(tǒng)所要執(zhí)行操作的接口,確定接口參數(shù),按照接口參數(shù)數(shù)據(jù)類型,將不同數(shù)據(jù)文件的讀取信息進(jìn)行轉(zhuǎn)換,并傳入接口,實(shí)現(xiàn)具體圖形的繪制;而后者則響應(yīng)用戶操作,結(jié)合三維可視化模塊實(shí)現(xiàn)自由交互。顯示層是三維場景渲染與顯示的載體,利用MFC通過獨(dú)立應(yīng)用程序方式展現(xiàn)海洋環(huán)境信息,為用戶提供友好的交互平臺。endprint
2 動態(tài)可視化的實(shí)現(xiàn)
為了實(shí)現(xiàn)海洋數(shù)據(jù)的動態(tài)可視化,本文以海洋環(huán)境數(shù)據(jù)作為處理對象,利用幾何著色器將數(shù)據(jù)值映射為網(wǎng)格頂點(diǎn)的高度坐標(biāo),并得到對應(yīng)點(diǎn)的顏色值,再通過顏色映射的方法實(shí)現(xiàn)海洋環(huán)境數(shù)據(jù)信息可視化效果。通過時(shí)間序列的表達(dá)方式,最后實(shí)現(xiàn)交互式的動態(tài)播放效果。具體的流程圖如圖2所示。
2.1 坐標(biāo)變換
在全球數(shù)據(jù)動態(tài)可視化中,基礎(chǔ)網(wǎng)格結(jié)構(gòu)往往會頻繁地發(fā)生變換[8],而球面網(wǎng)格因涉及大量的坐標(biāo)變換等計(jì)算,導(dǎo)致網(wǎng)格重構(gòu)速度較慢。為了解決該問題,本文在預(yù)處理階段僅生成一塊具有一定密度的平面網(wǎng)格,而在頂點(diǎn)著色器中利用GPU的強(qiáng)大并行處理能力對各頂點(diǎn)進(jìn)行拉伸使之貼合地球表面。其具體步驟如下:
圖3中,平面網(wǎng)格的橫坐標(biāo)對應(yīng)地球緯度,縱坐標(biāo)對應(yīng)地球經(jīng)度。數(shù)據(jù)值在完成坐標(biāo)轉(zhuǎn)換后,采樣點(diǎn)已經(jīng)具有三維坐標(biāo),且任意經(jīng)緯度上的采樣點(diǎn),都只有惟一的高度坐標(biāo)與之對應(yīng)。
2.2 交互式動態(tài)表達(dá)
因?yàn)楹Q蟓h(huán)境數(shù)據(jù)具有多維性、時(shí)序性的特點(diǎn),為了實(shí)現(xiàn)數(shù)據(jù)融合后的動態(tài)可視化[9?10],本文依據(jù)時(shí)間序列對海洋環(huán)境數(shù)據(jù)采用幀動畫方法計(jì)算出每幀的圖像,并通過交互的方式選擇自動播放序列時(shí)間幀的圖像或者單個(gè)時(shí)間幀的圖像。具體的流程如圖4所示。
為了實(shí)現(xiàn)海量、多維、多時(shí)間的海洋環(huán)境數(shù)據(jù)交互動態(tài)可視化,首先,通過實(shí)時(shí)地調(diào)取不同時(shí)間點(diǎn)上的海洋環(huán)境數(shù)據(jù),根據(jù)時(shí)間序列的順序在內(nèi)存中生成繪制數(shù)據(jù),并按一定的時(shí)間間隔將其傳輸至GPU中進(jìn)行渲染繪制,最后顯示渲染結(jié)果;其次,通過對時(shí)間軸的控制來選擇數(shù)據(jù)是否連續(xù)播放,如果選擇連續(xù)播放,實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)的動態(tài)表達(dá),并且時(shí)間軸上的標(biāo)尺隨時(shí)間的變化而變動位置;如果將時(shí)間軸上的標(biāo)尺固定在某一時(shí)間段,那么就可以針對這一時(shí)間段的數(shù)據(jù)結(jié)果進(jìn)行觀察分析。時(shí)間軸表現(xiàn)形式如圖5所示。
3 實(shí)驗(yàn)結(jié)果分析
根據(jù)上述研究工作,本文設(shè)計(jì)并實(shí)現(xiàn)了海洋多特征遙感數(shù)據(jù)可視化原型系統(tǒng)。開發(fā)平臺所使用的操作系統(tǒng)為Windows 7,開發(fā)語言為Visual Studio C++ 2010,以O(shè)penSceneGraph作為三維圖形引擎,三維地球顯示采用OSGEarth數(shù)字地球引擎,顏色映射表法,渲染功能使用GLSL著色語言編寫。實(shí)驗(yàn)測試硬件配置如下:CPU為Intel i7,內(nèi)存為8 GB,顯卡為英偉達(dá)GTX760TI。實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)的可視化表達(dá)。數(shù)據(jù)覆蓋范圍為180°W~180°E,90°S~90°N,可視化窗口分辨率為1 920×1 080像素。
圖6為將本文方法應(yīng)用于上述海洋環(huán)境數(shù)據(jù)的可視化結(jié)果,可以看出,利用顏色顏射的方法可以實(shí)現(xiàn)海洋環(huán)境數(shù)據(jù)的可視化,通過坐標(biāo)轉(zhuǎn)換可以將其緊密貼合在三維地球表面。其中,圖6a)為海表溫度動態(tài)可視化效果,顏色深淺表示溫度高低,紅色表示溫度高,藍(lán)色表示溫度低,符合實(shí)際情況。同時(shí),通過動態(tài)連續(xù)播放可以觀察全球溫度場的變化情況,從而給相關(guān)人員研究全球溫度場的變化提供思路與技術(shù)借鑒。圖6b)為葉綠素a濃度動態(tài)可視化效果,顏色深淺表示濃度高低,紅色表示濃度高,藍(lán)色表示濃度低,通過研究發(fā)現(xiàn)葉綠素a濃度與世界漁場的分布有關(guān),從而根據(jù)動態(tài)可視化的結(jié)果可以為研究漁業(yè)發(fā)展提供相應(yīng)的幫助。
4 結(jié) 語
本文針對海洋環(huán)境數(shù)據(jù)的多維、時(shí)序的特點(diǎn),詳細(xì)闡述了可視化系統(tǒng)的結(jié)構(gòu)框架,以及動態(tài)可視化實(shí)現(xiàn)流程。為了滿足可視化逼真的效果,通過坐標(biāo)變化將可視化的結(jié)果緊密貼合在三維地球表面,通過人機(jī)交互機(jī)制,動態(tài)地將海洋環(huán)境數(shù)據(jù)進(jìn)行可視化表達(dá)。結(jié)合對海量數(shù)據(jù)的管理、可視化等方法和虛擬地球場景,充分展現(xiàn)了研究對象在時(shí)間和空間上的變化情況,使科研和業(yè)務(wù)預(yù)報(bào)人員能夠同時(shí)從不同的要素來觀察整個(gè)海洋環(huán)境要素的時(shí)空變化,增強(qiáng)了系統(tǒng)的交互性。
參考文獻(xiàn)
[1] 肖如林,蘇奮振,杜云艷,等.三維虛擬地球的海洋信息適用性分析及原型研究[J].地球信息科學(xué)學(xué)報(bào),2010,12(4):555?561.
XIAO Rulin, SU Fenzhen, DU Yunyan, et al. Analysis of 3D virtual globes′ applicability in marine information and the prototype system study [J]. Geo?information science, 2010, 12(4): 555?561.
[2] 涂超.海洋溫度場的三維可視化[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2007,40(6):126?128.
TU Chao. 3D visualization of ocean temperature field [J]. Engineering journal of Wuhan University, 2007, 40(6): 126?128.
[3] 王想紅,劉紀(jì)平,徐勝華,等.基于NetCDF數(shù)據(jù)模型的海洋環(huán)境數(shù)據(jù)三維可視化研究[J].測繪科學(xué),2013,38(2):59?61.
WANG Xianghong, LIU Jiping, XU Shenghua, et al. Visualization of marine environment data based on NetCDF data model [J]. Science of surveying and mapping, 2013, 38(2): 59?61.
[4] DUNNE D, SUTTON G. 3D web mapping integrating marine data into NASA world wind [J]. Hydro international, 2006, 10(9): 7?9.endprint
[5] HE Yawen, SU Fenzhen, DU Yunyan, et al. Web?based spatiotemporal visualization of marine environment data [J]. Chinese journal of oceanology & limnology, 2010, 28(5): 1086?1094.
[6] 李久松,常曉峰,田豐林,等.海洋和大氣數(shù)據(jù)多模式動態(tài)可視化系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].海洋科學(xué),2014,38(1):10?14.
LI Jiusong, CHANG Xiaofeng, TIAN Fenglin, et al. The design and actualization of multimodal dynamic visualization system of marine and atmospheric data [J]. Marine sciences, 2014, 38(1): 10?14.
[7] 馮杭建,高錫章.中國海岸帶及近海觀測數(shù)據(jù)多維動態(tài)表達(dá)[J].浙江大學(xué)學(xué)報(bào)(理學(xué)版),2010,37(4):482?488.
FENG Hangjian, GAO Xizhang. Multi?dimensional and dynamic representation on marine measured data in China′ coastal zone and offshore [J]. Journal of Zhejiang University (Science edition), 2010, 37(4): 482?488.
[8] 董文,張新,江毓武,等.基于球體的海洋標(biāo)量場要素的三維可視化技術(shù)研究[J].應(yīng)用海洋學(xué)學(xué)報(bào),2010,29(4):571?577.
DONG Wen, ZHANG Xin, JIANG Yuwu, et al. Sphere based ocean environment scalar field element 3D visualization technology research [J]. Journal of applied oceanography, 2010, 29(4): 571?577.
[9] 孔倩倩,韓勇,李文慶,等.海洋標(biāo)量數(shù)據(jù)多維多模式動態(tài)可視化系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(5):177?179.
KONG Qianqian, HAN Yong, LI Wenqing, et al. A multi?dimension and animated visualization system for marine scalar field data with multi?mode [J]. Microcomputer information, 2011, 27(5): 177?179.
[10] 詹芳芳,胡偉,袁國棟.二維LIC矢量場可視化算法的研究及改進(jìn)[J].計(jì)算機(jī)科學(xué),2013,40(9):257?261.
ZHAN Fangfang, HU Wei, YUAN Guodong. Improvement of 2D LIC algorithm for vector field visualization [J]. Computer science, 2013, 40(9): 257?261.endprint