夏偉+呂曉琪+王月明+張信雪
摘 要: 為了實現(xiàn)海量、多維、時序等特點的海洋環(huán)境數(shù)據(jù)三維動態(tài)可視化表達,設計基于OSGEarth三維虛擬可視化平臺,并詳細闡述該系統(tǒng)的體系結構。將幾何著色器應用于對數(shù)據(jù)的渲染著色,同時利用GPU強大的處理能力加快渲染的速度;通過坐標變換,將數(shù)據(jù)可視化的結果緊密貼合在三維地球表面上;通過人機交互機制,進一步實現(xiàn)了海洋環(huán)境數(shù)據(jù)的動態(tài)可視化。實驗表明,該方法具有一定的可操作性,可以為海洋環(huán)境數(shù)據(jù)的動態(tài)可視化及分析提供技術平臺。
關鍵詞: 三維動態(tài)可視化; OSGEarth; 幾何著色器; 坐標變換; 人機交互; 海洋環(huán)境數(shù)據(jù)
中圖分類號: TN919?34 文獻標識碼: 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 引 言
近年來,隨著海洋科學技術的發(fā)展,面向海洋領域的應用日益加深,對于海洋環(huán)境數(shù)據(jù)的分析與表達已經(jīng)成為一個研究熱點。為了有效地分析探究海洋環(huán)境數(shù)據(jù)的內在規(guī)律以及發(fā)展變化,三維動態(tài)可視化系統(tǒng)的研發(fā)已經(jīng)成為一種趨勢。目前,針對海洋領域數(shù)據(jù)的統(tǒng)一管理與三維動態(tài)可視化表達,國內外學者都展開了相關研究,如肖如林等分析三維虛擬地球在海洋數(shù)據(jù)處理方面應用的優(yōu)勢,并在此基礎上,研發(fā)了一套三維海洋信息操作平臺系統(tǒng),實現(xiàn)了大量海洋環(huán)境數(shù)據(jù)的集成和可視化[1];涂超等采用插值法連續(xù)生成了海洋溫度的三維空間數(shù)據(jù)場,融合可視化技術,提出海洋溫度場的三維可視化方法[2];王想紅等基于NetCDF數(shù)據(jù)模型,實現(xiàn)了海洋環(huán)境數(shù)據(jù)三維可視化[3];Dunne等按照OGC數(shù)據(jù)傳輸標準,將多波束聲納數(shù)據(jù)集成到World Wind,實現(xiàn)了網(wǎng)絡三維表達[4];何亞文等重點介紹了時空可視化的方法,并提出了中國南海的海洋環(huán)境數(shù)據(jù)的可視化架構原型系統(tǒng),突出了面向過程的可視化方法[5];李久松等結合VC++和CG著色語言,提出了包括探針功能、線模式等面向海洋、大氣數(shù)據(jù)的模式分析法,實現(xiàn)了海洋大氣數(shù)據(jù)向三維空間圖像的動態(tài)演變,在實時動態(tài)的可視化圖形的基礎上得到海洋大氣數(shù)據(jù)的動態(tài)變化過程[6];馮杭建等研究了基于海洋GIS的中國海岸帶及近海觀測數(shù)據(jù)的多維動態(tài)表達[7]。綜上所述,數(shù)據(jù)的可視化以及動態(tài)的可視化已經(jīng)有較多的研究,但都局限于二維或者局部三維的可視化表達,沒能夠直觀地反應出全球海洋環(huán)境數(shù)據(jù)的動態(tài)宏觀特征。本文基于OSGEarth三維虛擬可視化平臺,以海量、多維、時序的海洋環(huán)境數(shù)據(jù)為研究對象,設計實現(xiàn)了海洋環(huán)境數(shù)據(jù)的三維動態(tài)可視化系統(tǒng)。對海洋環(huán)境信息的三維動態(tài)可視化表達與分析研究具有重大的現(xiàn)實意義和指導價值。
1 系統(tǒng)設計
本文以三維虛擬地球為平臺,實現(xiàn)了海洋數(shù)據(jù)的動態(tài)交互可視化的表達。系統(tǒng)主要包括數(shù)據(jù)層、服務層、渲染實現(xiàn)層以及顯示交互層,具體的框架結構如圖1所示。
數(shù)據(jù)層是建設海洋三維可視化原型系統(tǒng)的基礎,主要是指系統(tǒng)可加載的各類數(shù)據(jù),包括全球數(shù)字正射影像圖(DOM)、全球數(shù)字高程圖(DEM)、海洋標量數(shù)據(jù)以及海洋矢量數(shù)據(jù)等。數(shù)據(jù)層還包括由其他系統(tǒng)或數(shù)據(jù)服務商提供的數(shù)據(jù)服務,該層數(shù)據(jù)可被渲染實現(xiàn)層直接調用繪制,也可通過服務層的數(shù)據(jù)服務進行加載。服務層用于管理和發(fā)布各類數(shù)據(jù)服務,實現(xiàn)多源數(shù)據(jù)的請求與響應。渲染實現(xiàn)層提供數(shù)據(jù)可視化及交互環(huán)境,主要包括功能接口實現(xiàn)層及交互控制層,其中前者是根據(jù)系統(tǒng)功能需求,設計系統(tǒng)所要執(zhí)行操作的接口,確定接口參數(shù),按照接口參數(shù)數(shù)據(jù)類型,將不同數(shù)據(jù)文件的讀取信息進行轉換,并傳入接口,實現(xiàn)具體圖形的繪制;而后者則響應用戶操作,結合三維可視化模塊實現(xiàn)自由交互。顯示層是三維場景渲染與顯示的載體,利用MFC通過獨立應用程序方式展現(xiàn)海洋環(huán)境信息,為用戶提供友好的交互平臺。endprint
2 動態(tài)可視化的實現(xiàn)
為了實現(xiàn)海洋數(shù)據(jù)的動態(tài)可視化,本文以海洋環(huán)境數(shù)據(jù)作為處理對象,利用幾何著色器將數(shù)據(jù)值映射為網(wǎng)格頂點的高度坐標,并得到對應點的顏色值,再通過顏色映射的方法實現(xiàn)海洋環(huán)境數(shù)據(jù)信息可視化效果。通過時間序列的表達方式,最后實現(xiàn)交互式的動態(tài)播放效果。具體的流程圖如圖2所示。
2.1 坐標變換
在全球數(shù)據(jù)動態(tài)可視化中,基礎網(wǎng)格結構往往會頻繁地發(fā)生變換[8],而球面網(wǎng)格因涉及大量的坐標變換等計算,導致網(wǎng)格重構速度較慢。為了解決該問題,本文在預處理階段僅生成一塊具有一定密度的平面網(wǎng)格,而在頂點著色器中利用GPU的強大并行處理能力對各頂點進行拉伸使之貼合地球表面。其具體步驟如下:
圖3中,平面網(wǎng)格的橫坐標對應地球緯度,縱坐標對應地球經(jīng)度。數(shù)據(jù)值在完成坐標轉換后,采樣點已經(jīng)具有三維坐標,且任意經(jīng)緯度上的采樣點,都只有惟一的高度坐標與之對應。
2.2 交互式動態(tài)表達
因為海洋環(huán)境數(shù)據(jù)具有多維性、時序性的特點,為了實現(xiàn)數(shù)據(jù)融合后的動態(tài)可視化[9?10],本文依據(jù)時間序列對海洋環(huán)境數(shù)據(jù)采用幀動畫方法計算出每幀的圖像,并通過交互的方式選擇自動播放序列時間幀的圖像或者單個時間幀的圖像。具體的流程如圖4所示。
為了實現(xiàn)海量、多維、多時間的海洋環(huán)境數(shù)據(jù)交互動態(tài)可視化,首先,通過實時地調取不同時間點上的海洋環(huán)境數(shù)據(jù),根據(jù)時間序列的順序在內存中生成繪制數(shù)據(jù),并按一定的時間間隔將其傳輸至GPU中進行渲染繪制,最后顯示渲染結果;其次,通過對時間軸的控制來選擇數(shù)據(jù)是否連續(xù)播放,如果選擇連續(xù)播放,實現(xiàn)了海洋環(huán)境數(shù)據(jù)的動態(tài)表達,并且時間軸上的標尺隨時間的變化而變動位置;如果將時間軸上的標尺固定在某一時間段,那么就可以針對這一時間段的數(shù)據(jù)結果進行觀察分析。時間軸表現(xiàn)形式如圖5所示。
3 實驗結果分析
根據(jù)上述研究工作,本文設計并實現(xiàn)了海洋多特征遙感數(shù)據(jù)可視化原型系統(tǒng)。開發(fā)平臺所使用的操作系統(tǒng)為Windows 7,開發(fā)語言為Visual Studio C++ 2010,以OpenSceneGraph作為三維圖形引擎,三維地球顯示采用OSGEarth數(shù)字地球引擎,顏色映射表法,渲染功能使用GLSL著色語言編寫。實驗測試硬件配置如下:CPU為Intel i7,內存為8 GB,顯卡為英偉達GTX760TI。實現(xiàn)了海洋環(huán)境數(shù)據(jù)的可視化表達。數(shù)據(jù)覆蓋范圍為180°W~180°E,90°S~90°N,可視化窗口分辨率為1 920×1 080像素。
圖6為將本文方法應用于上述海洋環(huán)境數(shù)據(jù)的可視化結果,可以看出,利用顏色顏射的方法可以實現(xiàn)海洋環(huán)境數(shù)據(jù)的可視化,通過坐標轉換可以將其緊密貼合在三維地球表面。其中,圖6a)為海表溫度動態(tài)可視化效果,顏色深淺表示溫度高低,紅色表示溫度高,藍色表示溫度低,符合實際情況。同時,通過動態(tài)連續(xù)播放可以觀察全球溫度場的變化情況,從而給相關人員研究全球溫度場的變化提供思路與技術借鑒。圖6b)為葉綠素a濃度動態(tài)可視化效果,顏色深淺表示濃度高低,紅色表示濃度高,藍色表示濃度低,通過研究發(fā)現(xiàn)葉綠素a濃度與世界漁場的分布有關,從而根據(jù)動態(tài)可視化的結果可以為研究漁業(yè)發(fā)展提供相應的幫助。
4 結 語
本文針對海洋環(huán)境數(shù)據(jù)的多維、時序的特點,詳細闡述了可視化系統(tǒng)的結構框架,以及動態(tài)可視化實現(xiàn)流程。為了滿足可視化逼真的效果,通過坐標變化將可視化的結果緊密貼合在三維地球表面,通過人機交互機制,動態(tài)地將海洋環(huán)境數(shù)據(jù)進行可視化表達。結合對海量數(shù)據(jù)的管理、可視化等方法和虛擬地球場景,充分展現(xiàn)了研究對象在時間和空間上的變化情況,使科研和業(yè)務預報人員能夠同時從不同的要素來觀察整個海洋環(huán)境要素的時空變化,增強了系統(tǒng)的交互性。
參考文獻
[1] 肖如林,蘇奮振,杜云艷,等.三維虛擬地球的海洋信息適用性分析及原型研究[J].地球信息科學學報,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].武漢大學學報(工學版),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] 王想紅,劉紀平,徐勝華,等.基于NetCDF數(shù)據(jù)模型的海洋環(huán)境數(shù)據(jù)三維可視化研究[J].測繪科學,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)的設計和實現(xiàn)[J].海洋科學,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)表達[J].浙江大學學報(理學版),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] 董文,張新,江毓武,等.基于球體的海洋標量場要素的三維可視化技術研究[J].應用海洋學學報,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] 孔倩倩,韓勇,李文慶,等.海洋標量數(shù)據(jù)多維多模式動態(tài)可視化系統(tǒng)設計實現(xiàn)[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].計算機科學,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