宋麗麗, 康林沖, 王 漪, 何 隆, 辛 冰
?
基于B/S的海洋環(huán)境數(shù)據(jù)可視化與服務(wù)
宋麗麗, 康林沖, 王 漪, 何 隆, 辛 冰
(國(guó)家海洋信息中心數(shù)字海洋重點(diǎn)實(shí)驗(yàn)室, 天津 300171)
為了解決BS模式下系統(tǒng)業(yè)務(wù)化運(yùn)行中海洋環(huán)境數(shù)據(jù)組織與管理、數(shù)據(jù)服務(wù)發(fā)布與可視化表達(dá)等問(wèn)題, 通過(guò)消息控制機(jī)制, 實(shí)現(xiàn)了海洋環(huán)境數(shù)據(jù)的動(dòng)態(tài)處理、服務(wù)動(dòng)態(tài)生成和顯示一體化無(wú)縫銜接, 從而在保證數(shù)據(jù)安全情況下為用戶(hù)提供海洋環(huán)境數(shù)據(jù)分析, 通過(guò)系統(tǒng)的部署試運(yùn)行, 證明其具有良好的應(yīng)用前景。
B/S(Browser/Server); 海洋數(shù)據(jù); 可視化; 服務(wù)發(fā)布
海洋環(huán)境數(shù)據(jù)可視化是指通過(guò)可視化圖像實(shí)時(shí)動(dòng)態(tài)展示的數(shù)據(jù)動(dòng)態(tài)變化過(guò)程[1]。目前我國(guó)的可視化平臺(tái)基本是單機(jī)或基于C/S架構(gòu)的, 比如OSG[2]、EV-Globle, 存在著開(kāi)發(fā)周期長(zhǎng)、維護(hù)更新難、網(wǎng)絡(luò)帶寬受限等諸多問(wèn)題。World Wind可以將代碼封裝成jar包通過(guò)Java Applet在瀏覽器中顯示[3], 但效率比較低, 而且需要降低java的安全訪問(wèn)權(quán)限, 數(shù)據(jù)的安全性難以得到保障。近年來(lái), WebGL使得在網(wǎng)頁(yè)上實(shí)現(xiàn)高效率的3D圖像程序成為了可能[4], 目前很多基于WebGL的系統(tǒng)都處于初級(jí)研究階段, 且WebGL是基于JavaScript明碼編寫(xiě), 因此從穩(wěn)定性和安全性角度上均不足以達(dá)到業(yè)務(wù)化的要求。可視化系統(tǒng)上, 基于Skyline的“中國(guó)近海數(shù)字海洋信息基礎(chǔ)框架”[5]和iOcean中國(guó)數(shù)字海洋公眾版[6], 是采用B/S架構(gòu), 但更多是傾向信息發(fā)布和業(yè)務(wù)數(shù)據(jù)展示等, 在海洋環(huán)境數(shù)據(jù)可視化上均采用靜態(tài)圖片或提前將可視化繪制結(jié)果準(zhǔn)備好, 無(wú)法做到實(shí)時(shí)動(dòng)態(tài)繪制可視化數(shù)據(jù)。因此, 大多數(shù)基于Web的海洋數(shù)據(jù)管理和可視化平臺(tái)不具備多源數(shù)據(jù)分析和三維可視化能力, 只能對(duì)單一數(shù)據(jù)管理和簡(jiǎn)單的靜態(tài)二維可視化。
SkylineGlobe是全球領(lǐng)先的三維空間地理信息可視化軟件, 集數(shù)據(jù)處理、數(shù)據(jù)展示、數(shù)據(jù)分析應(yīng)用及網(wǎng)絡(luò)發(fā)布于一體。SkylineGlobe提供從“應(yīng)用-工具-服務(wù)”3個(gè)不同層面的解決方案, 提供給用戶(hù)快速建立逼真的三維數(shù)字地球場(chǎng)景和基于自身業(yè)務(wù)的可視化管理系統(tǒng)。另外, SkylineGlobe提供豐富的API和多樣的產(chǎn)品組合, 可以為每個(gè)用戶(hù)提供量身定做的軟件和服務(wù)[7]。
在908專(zhuān)項(xiàng)“數(shù)字海洋”信息基礎(chǔ)框架構(gòu)建項(xiàng)目建設(shè)中, 系統(tǒng)的可視化功能是采用第三方的可視化模塊將可執(zhí)行程序嵌入到系統(tǒng)中, 是脫離三維球體單獨(dú)展示的, 而且沒(méi)有做到實(shí)時(shí)動(dòng)態(tài)繪制分析。本文從海洋環(huán)境數(shù)據(jù)組織處理和海洋環(huán)境數(shù)據(jù)發(fā)布兩方面入手, 通過(guò)消息控制機(jī)制, 將數(shù)據(jù)的處理、發(fā)布、顯示一體化無(wú)縫銜接, 在瀏覽器端, 借助SkylineGlobe的接口將數(shù)據(jù)進(jìn)行顯示, 保障了海洋環(huán)境數(shù)據(jù)可視化的效率以及數(shù)據(jù)的安全性, 為用戶(hù)使用和分析海洋環(huán)境數(shù)據(jù)提供一定的輔助作用。
1 系統(tǒng)架構(gòu)設(shè)計(jì)
基于B/S的海洋環(huán)境信息可視化, 旨在為用戶(hù)提供海洋環(huán)境信息的分析和可視化表達(dá)。將海洋環(huán)境數(shù)據(jù)的預(yù)處理與數(shù)據(jù)服務(wù)發(fā)布自動(dòng)化, 通過(guò)消息控制機(jī)制, 動(dòng)態(tài)生成數(shù)據(jù)服務(wù), 再基于SkylineGlobe球體將數(shù)據(jù)服務(wù)進(jìn)行可視化, 做到數(shù)據(jù)的存儲(chǔ)、處理、發(fā)布與顯示一體化無(wú)縫銜接, 從而在保證數(shù)據(jù)安全的情況下更加直觀展示數(shù)據(jù)的特性, 為用戶(hù)使用和分析數(shù)據(jù)提供一定的輔助作用。圖1是系統(tǒng)設(shè)計(jì)的總體框架。
B/S環(huán)境下海洋環(huán)境信息可視化與服務(wù)主要受制于大數(shù)據(jù)的存儲(chǔ)與組織、數(shù)據(jù)傳輸對(duì)網(wǎng)絡(luò)帶寬的要求、數(shù)據(jù)服務(wù)的發(fā)布等條件的制約。通過(guò)構(gòu)建數(shù)據(jù)處理中間件, 在數(shù)據(jù)存儲(chǔ)上主要采用歸一化數(shù)據(jù)文件格式, 建立數(shù)據(jù)文件索引表對(duì)海洋環(huán)境數(shù)據(jù)文件進(jìn)行管理, 建立界面數(shù)據(jù)索引表方便瀏覽器端查詢(xún)檢索; 可視化數(shù)據(jù)和服務(wù)生成工具實(shí)時(shí)動(dòng)態(tài)發(fā)布可視化服務(wù); 建立數(shù)據(jù)服務(wù)索引表用于緩存用戶(hù)常用數(shù)據(jù), 提高經(jīng)常訪問(wèn)數(shù)據(jù)的響應(yīng)速度。
瀏覽器端提供大面圖、單點(diǎn)時(shí)間序列曲線和剖面曲線等可視化方式, 所有可視化效果通過(guò)Skyline球體的API渲染, 渲染方式包括加載WFS(Web Feature Service)要素服務(wù)和直接繪制幾何數(shù)據(jù)。瀏覽器端和服務(wù)器端的交互通過(guò)消息服務(wù)控制。
2 數(shù)據(jù)組織與管理
2.1 數(shù)據(jù)內(nèi)容
系統(tǒng)主要依賴(lài)于基礎(chǔ)環(huán)境產(chǎn)品庫(kù), 主要包括學(xué)科級(jí)產(chǎn)品和要素級(jí)產(chǎn)品。產(chǎn)品按照處理手段的不同, 分為常規(guī)統(tǒng)計(jì)產(chǎn)品、再分析產(chǎn)品、預(yù)報(bào)分析產(chǎn)品、實(shí)況分析產(chǎn)品等。
學(xué)科級(jí)產(chǎn)品主要包括從基礎(chǔ)數(shù)據(jù)庫(kù)中按學(xué)科抽取得到的海洋綜合數(shù)據(jù)產(chǎn)品, 以及海洋水文學(xué)科專(zhuān)題產(chǎn)品、海洋氣象學(xué)科專(zhuān)題產(chǎn)品、海洋物理學(xué)科專(zhuān)題產(chǎn)品、海洋化學(xué)學(xué)科專(zhuān)題產(chǎn)品、海洋生物學(xué)科專(zhuān)題產(chǎn)品、海洋底質(zhì)學(xué)科專(zhuān)題產(chǎn)品、海洋懸浮體學(xué)科專(zhuān)題產(chǎn)品、海洋地球物理學(xué)科專(zhuān)題產(chǎn)品、海洋地形地貌學(xué)科產(chǎn)品等。系統(tǒng)目前所使用的學(xué)科級(jí)產(chǎn)品主要包括海洋水文和海洋氣象專(zhuān)題產(chǎn)品。
要素級(jí)產(chǎn)品主要指從基礎(chǔ)數(shù)據(jù)庫(kù)中抽取的, 以我國(guó)近海資源調(diào)查專(zhuān)項(xiàng)(908專(zhuān)項(xiàng))數(shù)據(jù)庫(kù)為基礎(chǔ), 囊括海洋水文、海洋氣象學(xué)科方向, 包括多種時(shí)空分辨率, 根據(jù)數(shù)據(jù)的專(zhuān)題應(yīng)用保障和服務(wù)需求, 按照要素進(jìn)行組織的產(chǎn)品。主要要素為溫度、鹽度、密度、聲速、海冰、海流、波浪、風(fēng)、氣溫、氣壓、濕度、潮汐、潮流等。
2.2 數(shù)據(jù)存儲(chǔ)
2.2.1 產(chǎn)品數(shù)據(jù)格式
目前, 海洋環(huán)境要素?cái)?shù)據(jù)的存儲(chǔ)與管理還沒(méi)有形成統(tǒng)一的標(biāo)準(zhǔn)規(guī)范, 一般由數(shù)據(jù)加工處理部門(mén)根據(jù)其實(shí)際需要, 自行設(shè)計(jì)數(shù)據(jù)存儲(chǔ)與管理方法。其中, 常見(jiàn)的存儲(chǔ)方法是采用文本(ASCII碼)或二進(jìn)制文件方式進(jìn)行存儲(chǔ)。這種方式使用簡(jiǎn)單, 占用磁盤(pán)空間小, 但不便于在基于服務(wù)器——客戶(hù)端模式的大型應(yīng)用系統(tǒng)中進(jìn)行使用, 同時(shí)也存在數(shù)據(jù)安全漏洞, 以及共享和交換效率不便等問(wèn)題。
為了確保可視化模型系統(tǒng)研發(fā)及在數(shù)字海洋應(yīng)用服務(wù)系統(tǒng)測(cè)試版中的集成應(yīng)用, 統(tǒng)一采用netCDF (簡(jiǎn)稱(chēng)nc)格式的數(shù)據(jù)文件進(jìn)行存儲(chǔ)。其他格式的數(shù)據(jù)在使用前均需要通過(guò)預(yù)處理工具轉(zhuǎn)換成nc格式。
在管理以nc數(shù)據(jù)文件存儲(chǔ)的海洋環(huán)境要素?cái)?shù)據(jù)時(shí), 建立一個(gè)索引表(表1), 通過(guò)索引表來(lái)查找到某區(qū)域的海洋環(huán)境要素信息, 然后通過(guò)文件路徑來(lái)檢索具體的數(shù)據(jù)。
表1 海洋環(huán)境產(chǎn)品文件索引表
2.2.2 產(chǎn)品數(shù)據(jù)服務(wù)存儲(chǔ)
海洋環(huán)境數(shù)據(jù)按照區(qū)域、要素、時(shí)間、層深生成shp分析數(shù)據(jù)并發(fā)布, 為了能夠更加靈活的查找對(duì)應(yīng)的數(shù)據(jù)服務(wù)方便前臺(tái)頁(yè)面查詢(xún)顯示, 提高數(shù)據(jù)可視化響應(yīng)速度, 需要額外的一個(gè)數(shù)據(jù)服務(wù)索引表JCHJFX_SHP_ZD, 表結(jié)構(gòu)如表2所示。
表2 數(shù)據(jù)服務(wù)索引表
空間區(qū)域: 數(shù)據(jù)服務(wù)所屬的海洋區(qū)域。
學(xué)科名稱(chēng): 數(shù)據(jù)服務(wù)所屬學(xué)科, 包括海洋水文、海洋氣象等學(xué)科。
要素名稱(chēng): 數(shù)據(jù)服務(wù)所對(duì)應(yīng)的要素, 可以是溫度、鹽度、海面高、海流、氣溫、氣壓、風(fēng)速等要素。
數(shù)據(jù)類(lèi)型: 數(shù)據(jù)服務(wù)的數(shù)據(jù)類(lèi)型, 包括常規(guī)統(tǒng)計(jì)產(chǎn)品、再分析產(chǎn)品、實(shí)況產(chǎn)品和預(yù)報(bào)產(chǎn)品等。
層深: 對(duì)于海水溫度、鹽度等存在多個(gè)層深的要素?cái)?shù)據(jù), 用于記錄該數(shù)據(jù)服務(wù)所對(duì)應(yīng)的層深值, 對(duì)于海面高等單層深的數(shù)據(jù), 該字段填充缺省值0。
時(shí)間: 數(shù)據(jù)服務(wù)對(duì)應(yīng)的時(shí)間。如果數(shù)據(jù)的粒度是天, 則填充值形如20140204, 如果粒度是月, 則填充值形如201402, 如果粒度是年, 則填充值形如2014。對(duì)于常規(guī)統(tǒng)計(jì)數(shù)據(jù), 是多年月平均數(shù)據(jù), 則填充值形如000003。
線、面服務(wù)路徑: 存儲(chǔ)可視化的線、面數(shù)據(jù)服務(wù)發(fā)布的地址。
注記服務(wù)路徑: 存儲(chǔ)可視化注記的數(shù)據(jù)服務(wù)發(fā)布的地址。
記錄更新時(shí)間: 用于記錄該數(shù)據(jù)服務(wù)記錄所生成的時(shí)間, 用于替換調(diào)度算法。
2.2.3 界面數(shù)據(jù)管理
由于數(shù)據(jù)庫(kù)里會(huì)有不同學(xué)科不同類(lèi)型的產(chǎn)品數(shù)據(jù), 所以為了能夠使得瀏覽器端展示更加靈活, 將產(chǎn)品數(shù)據(jù)按照空間區(qū)域、所屬學(xué)科、要素種類(lèi)、數(shù)據(jù)類(lèi)型、層深和時(shí)間等進(jìn)行組織, 構(gòu)建基礎(chǔ)環(huán)境分析可視化索引表, 該表由數(shù)據(jù)文件格式預(yù)處理工具創(chuàng)建。表3列出了海洋基礎(chǔ)環(huán)境分析界面數(shù)據(jù)索引表的字段名稱(chēng)及數(shù)據(jù)類(lèi)型等。
表3 海洋基礎(chǔ)環(huán)境分析界面數(shù)據(jù)索引表
空間區(qū)域: 產(chǎn)品數(shù)據(jù)所屬的海洋區(qū)域, 包括全球、西北太平洋、中國(guó)海等大范圍海域以及沿海省市和黃河三角洲、遼東灣、萊州灣、大連近岸海域、青島近岸海域、蘇北近岸海域、長(zhǎng)江三角洲、杭州灣、舟山群島海域、廈門(mén)近岸海域、閔江口近岸海域、珠江三角洲、北部灣、海南近岸海域、西沙群島海域等重點(diǎn)海域。
學(xué)科名稱(chēng): 產(chǎn)品數(shù)據(jù)所屬學(xué)科, 包括海洋水文、海洋氣象、海洋化學(xué)等學(xué)科。
要素名稱(chēng): 產(chǎn)品數(shù)據(jù)所包含的要素, 比如海洋水文包括溫度、鹽度、海面高、海流等要素; 海洋氣象包括氣溫、氣壓風(fēng)速等。不同空間區(qū)域和學(xué)科下的產(chǎn)品數(shù)據(jù)所包含的要素會(huì)有所不同。
數(shù)據(jù)類(lèi)型: 不同產(chǎn)品數(shù)據(jù)的類(lèi)型, 包括常規(guī)統(tǒng)計(jì)產(chǎn)品、再分析產(chǎn)品、實(shí)況產(chǎn)品和預(yù)報(bào)產(chǎn)品等。
層深: 對(duì)于水文等數(shù)據(jù), 是多個(gè)層深的數(shù)據(jù), 用于記錄該數(shù)據(jù)產(chǎn)品的多個(gè)層深值, 比如0, –10, –200等。
起始時(shí)間和終止時(shí)間: 產(chǎn)品數(shù)據(jù)的時(shí)間范圍, 與時(shí)間粒度有關(guān)。
時(shí)間粒度: 產(chǎn)品數(shù)據(jù)的時(shí)間按照各學(xué)科數(shù)據(jù)獲取的不同, 可分為日、月、季、年、多年統(tǒng)計(jì)等。
當(dāng)界面初始化時(shí), 會(huì)先對(duì)應(yīng)去找某個(gè)學(xué)科下的記錄, 然后查詢(xún)所有的空間區(qū)域進(jìn)行填充, 根據(jù)當(dāng)前的空間區(qū)域, 找到該區(qū)域下對(duì)應(yīng)的要素、時(shí)間和層深等, 一次進(jìn)行填充。
2.3 海洋環(huán)境數(shù)據(jù)更新
目前系統(tǒng)中的海洋環(huán)境數(shù)據(jù)按業(yè)務(wù)內(nèi)容主要分為海洋水文數(shù)據(jù)和氣象數(shù)據(jù)。海洋水文數(shù)據(jù)包括常規(guī)統(tǒng)計(jì)、再分析、實(shí)況和預(yù)報(bào)數(shù)據(jù)。氣象數(shù)據(jù)為常規(guī)統(tǒng)計(jì)數(shù)據(jù)。海洋環(huán)境數(shù)據(jù)的更新主要包括數(shù)據(jù)下載、數(shù)據(jù)解析、生成可視化數(shù)據(jù)以及服務(wù)發(fā)布。海洋環(huán)境數(shù)據(jù)的更新涉及數(shù)據(jù)下載的更新以及數(shù)據(jù)解析和生成可視化數(shù)據(jù)的過(guò)程, 需要用的數(shù)據(jù)處理中間件, 包括數(shù)據(jù)預(yù)處理工具、可視化數(shù)據(jù)生成工具以及和數(shù)據(jù)服務(wù)工具。
如圖2所示, 海洋環(huán)境數(shù)據(jù)入庫(kù)后原始數(shù)據(jù)文件存放在相關(guān)服務(wù)器中, 通過(guò)數(shù)據(jù)預(yù)處理工具將提交的原始海洋數(shù)據(jù)下載并轉(zhuǎn)化成統(tǒng)一的NC格式, 程序?qū)⒆詣?dòng)按照原始數(shù)據(jù)文件目錄生解析成對(duì)應(yīng)的可視化數(shù)據(jù), 然后將矢量數(shù)據(jù)轉(zhuǎn)換為地圖文件, 最終發(fā)布成WFS地圖服務(wù)。在這個(gè)過(guò)程中, 涉及數(shù)據(jù)存儲(chǔ)中的3個(gè)表, 數(shù)據(jù)預(yù)處理工具負(fù)責(zé)填寫(xiě)界面數(shù)據(jù)索引表和產(chǎn)品文件索引表, 產(chǎn)品文件索引表供可視化數(shù)據(jù)生成工具使用, 數(shù)據(jù)服務(wù)發(fā)布工具負(fù)責(zé)將地圖服務(wù)地址寫(xiě)入數(shù)據(jù)服務(wù)索引表。
3 海洋環(huán)境數(shù)據(jù)發(fā)布與可視化表達(dá)
3.1 海洋環(huán)境數(shù)據(jù)發(fā)布技術(shù)
由于海洋環(huán)境數(shù)據(jù)實(shí)時(shí)、海量、多源異構(gòu)、單個(gè)文件數(shù)據(jù)大等特性, 對(duì)服務(wù)的發(fā)布有更高的要求。常規(guī)的地理信息發(fā)布平臺(tái), 無(wú)論是商業(yè)的ArcGIS Server, MapGIS, 還是開(kāi)源的GeoServer, 面對(duì)如此海量的數(shù)據(jù), 始終無(wú)法解決資源受限的問(wèn)題, 尤其是內(nèi)存資源的不足, 以及隨著服務(wù)數(shù)量增加導(dǎo)致的服務(wù)響應(yīng)速度下降。傳統(tǒng)的地理信息服務(wù)架構(gòu)在發(fā)布地圖服務(wù)或要素服務(wù)時(shí)還會(huì)面臨用戶(hù)請(qǐng)求響應(yīng)速度過(guò)慢等不友好的情況。結(jié)合海洋環(huán)境數(shù)據(jù)的特點(diǎn), 采用并行計(jì)算技術(shù), 并利用服務(wù)器緩存策略, 實(shí)時(shí)高效地發(fā)布海洋環(huán)境信息服務(wù)。
3.1.1 數(shù)據(jù)文件預(yù)處理工具
數(shù)據(jù)文件預(yù)處理工具采用并行計(jì)算技術(shù), 實(shí)時(shí)接收并處理各種來(lái)源不同結(jié)構(gòu)的海洋環(huán)境數(shù)據(jù), 處理成統(tǒng)一的nc格式文件, 并在數(shù)據(jù)文件索引表和界面數(shù)據(jù)索引表中創(chuàng)建索引。
3.1.2 服務(wù)器緩存策略
服務(wù)緩存策略的機(jī)制如圖3所示。采用可擴(kuò)展分級(jí)緩存, 預(yù)處理用戶(hù)常用數(shù)據(jù), 動(dòng)態(tài)生成其他數(shù)據(jù)。在客戶(hù)端設(shè)計(jì)快速預(yù)取緩存, 提升用戶(hù)可視化操作體驗(yàn)。
當(dāng)收到客戶(hù)端請(qǐng)求, 請(qǐng)求的數(shù)據(jù)服務(wù)如果已經(jīng)經(jīng)過(guò)預(yù)處理, 則直接調(diào)用數(shù)據(jù)服務(wù)索引表中的數(shù)據(jù)服務(wù)地址, 如果數(shù)據(jù)服務(wù)不存在, 則請(qǐng)求會(huì)被回溯到數(shù)據(jù)處理中間件中, 調(diào)用可視化數(shù)據(jù)生成和數(shù)據(jù)服務(wù)生成工具對(duì)原始數(shù)據(jù)再做處理, 這時(shí)生成的數(shù)據(jù)一方面返回給客戶(hù)端, 另一方面保存在數(shù)據(jù)服務(wù)索引表中, 以備下次請(qǐng)求。
受資源所限, 服務(wù)器端的數(shù)據(jù)服務(wù)數(shù)量需要控制在一定的范圍內(nèi), 就需要定時(shí)對(duì)數(shù)據(jù)服務(wù)索引表更新, 及時(shí)替換掉不常用的數(shù)據(jù)服務(wù), 從而提升響應(yīng)速度。
3.2 海洋環(huán)境數(shù)據(jù)可視化表達(dá)
根據(jù)海洋環(huán)境產(chǎn)品數(shù)據(jù)類(lèi)型和學(xué)科要素的屬性不同, 瀏覽器端的可視化方法主要有大面圖、單點(diǎn)時(shí)間序列曲線和剖面曲線等。大面圖指將某個(gè)要素的某一層深數(shù)據(jù)進(jìn)行等值線抽取, 然后根據(jù)屬性值進(jìn)行顏色填充。單點(diǎn)深度序列曲線是指在某個(gè)測(cè)點(diǎn)(單一點(diǎn))上, 繪制某一種或幾種海洋環(huán)境要素(如溫度、鹽度)隨深度變化的曲線。剖面曲線是指在某個(gè)測(cè)點(diǎn)(單一點(diǎn))上沿著某個(gè)剖面繪制某一種或幾種海洋環(huán)境要素(如溫度、鹽度)隨深度變化的曲線。圖4為單點(diǎn)深度序列曲線和大面圖可視化示意圖。
根據(jù)不同可視化表達(dá)方式的邏輯復(fù)雜程度和對(duì)數(shù)據(jù)量的要求, 采用兩種方式對(duì)海洋環(huán)境數(shù)據(jù)進(jìn)行可視化渲染。對(duì)于單點(diǎn)深度序列曲線和剖面曲線可視化, 邏輯上較為簡(jiǎn)單, 且數(shù)據(jù)量比較小, 根據(jù)查詢(xún)條件, 在服務(wù)器端的海洋環(huán)境產(chǎn)品文件索引表中查詢(xún)對(duì)應(yīng)的數(shù)據(jù)文件, 讀取獲得所需數(shù)據(jù), 然后在瀏覽器端繪制顯示即可。
對(duì)于大面圖可視化, 采用服務(wù)器端生成幾何數(shù)據(jù)并發(fā)布服務(wù), 瀏覽器端僅需要加載服務(wù)進(jìn)行顯示。當(dāng)收到瀏覽器端用戶(hù)申請(qǐng)查看某個(gè)數(shù)據(jù)的大面圖可視化時(shí), 服務(wù)器程序首先會(huì)根據(jù)繪制條件到海洋環(huán)境產(chǎn)品數(shù)據(jù)服務(wù)索引表中查找是否有對(duì)應(yīng)的記錄, 如果有, 則直接讀取線面服務(wù)路徑和注記服務(wù)路徑, 返回前臺(tái)通過(guò)SkylineGlobe接口進(jìn)行顯示。如果沒(méi)有, 則啟動(dòng)數(shù)據(jù)分析處理工具到數(shù)據(jù)文件索引表中查找對(duì)應(yīng)的數(shù)據(jù), 然后進(jìn)行等值線抽取和顏色填充形成矢量數(shù)據(jù), 然后將生成的大面圖矢量數(shù)據(jù)發(fā)布, 最后將發(fā)布的路徑寫(xiě)入數(shù)據(jù)服務(wù)索引表中, 以備下次可視化時(shí)使用。
4 繪制結(jié)果及分析
圖5展示是908專(zhuān)項(xiàng)中數(shù)字海洋原型系統(tǒng)中的可視化功能, 是采用ActiveX插件集成到系統(tǒng)中, 并沒(méi)有與三維球體相結(jié)合, 且數(shù)據(jù)均為提前發(fā)布, 不具備動(dòng)態(tài)分析可視化功能。
本文中研究?jī)?nèi)容所集成的系統(tǒng)是基于B/S架構(gòu)的數(shù)字海洋應(yīng)用服務(wù)系統(tǒng), 只需訪問(wèn)特定網(wǎng)址即可使用, 客戶(hù)端唯一需要安裝的是SkylineGlobe插件, 用于球體的顯示。如圖6所示, 界面上的區(qū)域、要素、層深以及時(shí)間等條件都是通過(guò)讀取界面數(shù)據(jù)索引表實(shí)時(shí)獲取, 且可視化的結(jié)果也都是實(shí)時(shí)動(dòng)態(tài)生成的。
a. 西北太平洋區(qū)域大氣溫度大面圖; b. 表層水溫大面圖; c. 某點(diǎn)深度序列上的溫度曲線圖; d. 某點(diǎn)深度序列上的海流曲線圖; e. 溫度剖面曲線圖; f. 海流剖面曲線圖
a. Pacific Northwest temperature using color section; b. SST using color section; c. Temperature at one point using a single-point sequence depth curve; d. Ocean current using single-point sequence depth curve; e. Temperature using profile curve; f. Ocean current using profile curve
5 結(jié)論
本文實(shí)現(xiàn)了基于B/S的海洋數(shù)據(jù)的服務(wù)發(fā)布與可視化表達(dá), 服務(wù)器端基于數(shù)據(jù)預(yù)處理工具、可視化數(shù)據(jù)生成工具、數(shù)據(jù)服務(wù)發(fā)布工將原始數(shù)據(jù)的處理、可視化數(shù)據(jù)發(fā)布與顯示一體化無(wú)縫集成, 瀏覽器端基于SkylineGlobe插件在三維球體上實(shí)現(xiàn)數(shù)據(jù)的可視化。目前本文研究?jī)?nèi)容已經(jīng)集成到數(shù)字海洋應(yīng)用服務(wù)系統(tǒng)上, 通過(guò)數(shù)字海洋專(zhuān)網(wǎng)供39個(gè)數(shù)字海洋節(jié)點(diǎn)的終端用戶(hù)訪問(wèn), 并已在國(guó)家海洋信息中心和海洋一所、二所、三所進(jìn)行部署試運(yùn)行?;緷M(mǎn)足了數(shù)字海洋中對(duì)海洋數(shù)據(jù)的可視化需求, 對(duì)分析海洋數(shù)據(jù)提供一定的借鑒。
[1] 孔倩倩, 韓勇, 李文慶, 等. 海洋標(biāo)量數(shù)據(jù)多維多模式動(dòng)態(tài)可視化系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)[J]. 微型計(jì)算機(jī)信息, 2011, 5(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, 5(5): 177-179.
[2] 王銳, 錢(qián)學(xué)雷. OpenSceneGraph三維渲染引擎設(shè)計(jì)與實(shí)踐[M]. 北京: 清華大學(xué)出版社, 2009: 1-15. Wang Rui, QianXuelei. Design and practice of 3D rendering engine on OpenSceneGraph[M]. Beijing: Tsinghua University press, 2009: 1-15.
[3] 周玲, 高延銘. World Wind Java三維地理信息系統(tǒng)開(kāi)發(fā)技術(shù)指南[M]. 北京: 機(jī)械工業(yè)出版社, 2013: 8-11. Zhou Ling, Gao Yanming. Development of technical guidelines for 3D geographic information system on World Wind Java[M]. Beijing: China Machine Press, 2013: 8-11.
[4] WebGL detail. Design of WebGL.[EB/OL].[2016-3-21]. https: //en.wikipedia.org/wiki/WebGL.
[5] 張新, 劉健, 石綏祥. 中國(guó)“數(shù)字海洋”原型系統(tǒng)構(gòu)建和運(yùn)行的基礎(chǔ)研究[J]. 海洋學(xué)報(bào), 2010, 32(1): 153-160. Zhang Xin, Liu Jian, Shi Suixiang. The basic research on the construction and implementation of china’s “digital ocean” prototype system[J]. Acta Oceanologica Sinica, 2010, 32(1): 153-160.
[6] 石綏祥, 雷波. 中國(guó)數(shù)字海洋—理論與實(shí)踐[M]. 北京: 海洋出版社, 2011: 326-377. Shi Suixiang, Lei Bo. Theory and practice on china digital ocean[M]. Beijing: Ocean Press, 2011: 326-377.
[7] SkylineWebsite. The product description of Skyline Globe[EB/OL].[2015].http: //www.skylineglobe.cn/.
Visualization and service of marine environmental data based on B/S
SONG Li-li, KANG Lin-chong, WANG Yi, HE Long, XIN Bing
(National Marine Data and Information Service, Key Laboratory of Digital Ocean, Tianjin 300171, China)Received:Jun. 24, 2015
B/S; marine data; visualization; service release
Aiming at B/S system operations, we study marine environmental data organization, management, services publishing, and visualization. This paper introduces a dynamic seamless integrated method for data processing, service producing, and publishing, displayed by a messaging mechanism. Application proves that the system has a good future in the fields of marine environmental data visualization and information security.
P76
A
1000-3096(2016)07-0124-08
10.11759/hykx20150624001
2015-06-24;
2015-10-19
國(guó)家自然科學(xué)基金項(xiàng)目(41271391); 海洋公益性行業(yè)科研專(zhuān)項(xiàng)(201305029)
[Foundation: National Natural Science Foundation of China, No.41271391; Public science and technology research funds projects of ocean, No.201305029]
宋麗麗(1987-), 女, 河北唐山人, 工程師, 主要從事數(shù)字海洋可視化研究, 電話(huà)022-24013367, E-mail: lilysong_ouc@163.com
(本文編輯: 劉珊珊)