劉 波,臧愛清,徐繼男
(大連航運(yùn)職業(yè)技術(shù)學(xué)院,遼寧 大連 116052)
隨著海洋意識的提高,以美國為代表的發(fā)達(dá)國家非常重視海洋環(huán)境信息的收集,這些國家從19世紀(jì)就開始著手對海洋環(huán)境各種信息進(jìn)行調(diào)查,然后不斷積累完善海洋環(huán)境數(shù)據(jù)信息。采用現(xiàn)代高科技技術(shù),廣泛利用計(jì)算機(jī)、網(wǎng)絡(luò)等技術(shù)連續(xù)地采集、處理和利用海洋環(huán)境數(shù)據(jù)。但是由于數(shù)據(jù)存儲格式造成數(shù)據(jù)使用不便,所以如何搭建一個高效的海洋環(huán)境信息數(shù)據(jù)共享系統(tǒng),提供數(shù)據(jù)存儲技術(shù)、快速查詢技術(shù)、數(shù)據(jù)修改集成技術(shù)、數(shù)據(jù)信息可視化技術(shù)是關(guān)鍵技術(shù)問題。
歐洲Escience研究計(jì)劃的GODIVA研究項(xiàng)目在英國國家環(huán)境研究中心建立,對海洋鹽度溫度等數(shù)據(jù)進(jìn)行了處理分析和可視化服務(wù)[1]。美國的加州大學(xué)圣地亞哥分校建立了海洋監(jiān)測數(shù)據(jù)整合知識網(wǎng)絡(luò)[2]。MIT主持的Poseidon項(xiàng)目集成了建模、可視化和參數(shù)計(jì)算方法等,通過Web界面方便海洋科學(xué)者實(shí)現(xiàn)對海洋數(shù)據(jù)的使用[3]。中國科學(xué)院開發(fā)的科學(xué)數(shù)據(jù)網(wǎng)基于科學(xué)數(shù)據(jù)庫的海量數(shù)據(jù)資源,采用先進(jìn)的數(shù)據(jù)網(wǎng)絡(luò)技術(shù),建立了一個面向大規(guī)模分布式異構(gòu)數(shù)據(jù)庫的共享平臺,通過連接分散在全國范圍內(nèi)的40多家研究機(jī)構(gòu),在海洋數(shù)據(jù)方面提供了海洋化學(xué)數(shù)據(jù)子系統(tǒng)、波浪波譜數(shù)據(jù)子系統(tǒng)、ARGO數(shù)據(jù)子系統(tǒng)、表層流數(shù)據(jù)子系統(tǒng)等的訪問服務(wù)[4]。
總的來說,國內(nèi)外在海洋環(huán)境信息方面做了大量的工作,本文將通過收集國內(nèi)外的研究數(shù)據(jù)資料,并進(jìn)行統(tǒng)一的格式化處理,采用Qt與Oracle相結(jié)合的技術(shù)建立海洋環(huán)境信息數(shù)據(jù)庫,并采用可視化技術(shù),使用戶可以通過海圖點(diǎn)取相應(yīng)的海域位置對海洋信息進(jìn)行查詢,從而能夠高效直觀得到相關(guān)信息。為船舶航行預(yù)報(bào)或其他科學(xué)研究提供幫助。
因?yàn)橛泻芏喾N海洋數(shù)據(jù)信息,數(shù)據(jù)的來源也不一樣,目前主要的數(shù)據(jù)來源和可借鑒的網(wǎng)站如下:中國海事服務(wù)網(wǎng),航運(yùn)在線網(wǎng),地球系統(tǒng)科學(xué)數(shù)據(jù)共享平臺,中國氣象科學(xué)數(shù)據(jù)共享服務(wù)網(wǎng),中國天氣臺風(fēng)網(wǎng),臺風(fēng)路徑實(shí)時(shí)發(fā)布系統(tǒng),European Centre for Medium-Range Weather Forecasts(ECMWF)官方網(wǎng)站,International Research Institute for Climate and Society,中國 Argo 實(shí)時(shí)資料中心。
由于數(shù)據(jù)來源渠道不一,為了實(shí)現(xiàn)數(shù)據(jù)的高效管理,必須對數(shù)據(jù)進(jìn)行整理歸納。其中大多數(shù)數(shù)據(jù)例如平均波方向、波周期等主要來源于ECMWF;洋流等來源于國際氣候與社會研究所與中國Argo實(shí)時(shí)資料中心;臺風(fēng)風(fēng)暴等數(shù)據(jù)主要來自于中國氣象的相關(guān)網(wǎng)站[5 – 6]。收集資料時(shí)綜合參考了以上網(wǎng)站公布的可以利用的資料,有的網(wǎng)站資料并不全面,必須經(jīng)過整理去除不必要數(shù)據(jù)、分析數(shù)據(jù)的正確與否。
數(shù)據(jù)采集過程如圖1和圖2所示。
圖1 ECMWF 的數(shù)據(jù)Fig. 1 The data from ECMWF
圖2 來自 ECMWF 的數(shù)據(jù)的表現(xiàn)形式Fig. 2 Format of data from ECMWF
在數(shù)據(jù)采集過程中,數(shù)據(jù)是零散或無法直接利用的,如風(fēng)分為u風(fēng)和v風(fēng),海流分為經(jīng)向海流與緯向海流,這些數(shù)據(jù)均是向量形式的,在建立數(shù)據(jù)庫之前需要對數(shù)據(jù)進(jìn)行合成處理得出風(fēng)的大小與方向以及海流的大小與方向。
與此同時(shí),由于所收集的原始數(shù)據(jù)來源不同,時(shí)間跨度較長,標(biāo)準(zhǔn)不一,而且數(shù)據(jù)量很大,數(shù)據(jù)記錄難免有一些錯誤。所以在對數(shù)據(jù)的處理上,應(yīng)該排除不合常理的數(shù)據(jù),對于重復(fù)數(shù)據(jù)與異常數(shù)據(jù)也應(yīng)該給予排除。
數(shù)據(jù)庫的建立一般包括系統(tǒng)設(shè)計(jì)、實(shí)施和維護(hù)過程,以實(shí)際應(yīng)用為導(dǎo)向,對數(shù)據(jù)進(jìn)行系統(tǒng)分析以便對數(shù)據(jù)需求進(jìn)行了解然后建立數(shù)據(jù)庫。
本文所建立的海洋環(huán)境數(shù)據(jù)庫系統(tǒng)從開發(fā)的角度出發(fā),可將整個系統(tǒng)分為3個部分:根據(jù)電子海圖顯示平臺,使其成為基本界面;后臺數(shù)據(jù)庫用Oracle;以顯示為上層客戶端;從使用的角度出發(fā),數(shù)據(jù)庫要給用戶提供大量詳實(shí)可靠的數(shù)據(jù)以便用戶進(jìn)行分析與決策。本文所建立的數(shù)據(jù)庫主要包括以下模塊:海洋環(huán)境信息查詢、氣象環(huán)境信息查詢、沿岸地理信息查詢、海洋環(huán)境對船舶影響如圖3所示。
圖3 數(shù)據(jù)庫結(jié)構(gòu)Fig. 3 Database structure
本文運(yùn)用Oracle[7]數(shù)據(jù)庫自身所攜帶的Procedural Language/Structured Query Language(簡稱 PL/SQL)進(jìn)行數(shù)據(jù)的查詢和程序的設(shè)計(jì)。使用Qt軟件為數(shù)據(jù)庫的程序開發(fā)工具。具體的數(shù)據(jù)庫的開發(fā)環(huán)境與工具如表1所示。
為了充分利用Qt的優(yōu)勢與功能,達(dá)到建立Oracle數(shù)據(jù)庫的目的,使用Qt與數(shù)據(jù)庫連接。在Qt中運(yùn)行代碼使得兩者相連接,并實(shí)現(xiàn)在Qt中對數(shù)據(jù)庫進(jìn)行一定的操作。
表1 開發(fā)環(huán)境與工具Tab. 1 Development environment and tools
本文建立數(shù)據(jù)庫表的原則:為了達(dá)到高效的數(shù)據(jù)庫功能系統(tǒng),表設(shè)計(jì)時(shí)應(yīng)該遵照一定的原則對數(shù)據(jù)信息進(jìn)行系統(tǒng)分類,與此同時(shí)還要確保表設(shè)計(jì)的合理性。此外為了消除表中存在的冗余現(xiàn)象,還要對表進(jìn)行規(guī)范化設(shè)計(jì)以確保一個表只能圍繞一個標(biāo)題,便于對表進(jìn)行維護(hù)[8]。
根據(jù)系統(tǒng)需求,詳細(xì)設(shè)計(jì)各數(shù)據(jù)庫對象,包括數(shù)據(jù)表和視圖等。海洋環(huán)境信息表(OCEAN_EVIR)如表2所示。
表2 海洋環(huán)境信息表Tab. 2 Marine environmental information
海洋環(huán)境信息主要分為2個部分,一個是點(diǎn)查詢一個是區(qū)域查詢。點(diǎn)查詢主要查詢某一經(jīng)緯度點(diǎn)的相關(guān)水深、水表溫度、洋流、波高以及波的流向等信息??梢园凑仗靵聿樵円部梢园凑漳陙聿樵?。年查詢的查詢結(jié)果為曲線圖。區(qū)域查詢是針對某一經(jīng)緯度區(qū)域內(nèi)的信息查詢。查詢結(jié)果可以用2種方式顯示:一種為文本形式,顯示出表格:另一種是可視化的形式,也就是顯示出該地區(qū)的海圖,通過等高線等來顯示,以更直觀的形式來展示數(shù)據(jù)。區(qū)域查詢方式的主要程序流程如圖4所示。
圖4 區(qū)域查詢Fig. 4 Area query
可視化是人機(jī)交互的一種形式,具有人機(jī)對話的功能??梢暬δ芸梢詾閿?shù)據(jù)庫的用戶提供一個直觀、美化與人性化的界面用以數(shù)據(jù)庫的操作。通過可視化界面,用戶不必面對枯燥的代碼,也不用花費(fèi)大量時(shí)間用以在數(shù)據(jù)庫中查找數(shù)據(jù)。用戶只要在可視化界面上進(jìn)行相應(yīng)的操作就可以查詢到對應(yīng)的數(shù)據(jù)信息,從而獲得所需的數(shù)據(jù)資料[9]。該模塊的主界面設(shè)計(jì)如圖5所示。在經(jīng)緯度的獲取上,有2種方式:一種為手動輸入,直接在輸入框內(nèi)輸入具體的經(jīng)緯度;另一種為從地圖上獲取,點(diǎn)擊獲取經(jīng)緯度按鈕,打開地圖(圖6),在地圖上雙擊所要查詢的點(diǎn),位置坐標(biāo)自動保存到輸入框內(nèi)。
圖5 海洋水文信息查詢Fig. 5 Ocean information query
圖6 海圖Fig. 6 Chart
按天查詢和按年查詢的功能,不同的選擇點(diǎn)擊查詢按鈕出來的結(jié)果不一樣。以波高為例,選擇按年查詢并且勾選波高要素選項(xiàng),可以直接給出一年的波高變化圖,如圖7所示。
圖7 波高曲線圖Fig. 7 Wave height graph
進(jìn)行區(qū)域查詢時(shí),首先選擇查詢區(qū)域的經(jīng)緯度范圍,然后選擇日期。最后選擇海洋水文要素??梢赃x擇可視化方式顯示區(qū)域信息,也可以直接將數(shù)據(jù)以excel的形式進(jìn)行導(dǎo)出以方便數(shù)據(jù)的查看和整理。圖8顯示的就是海洋洋流的可視化結(jié)果。
圖8 海洋洋流可視化查詢結(jié)果Fig. 8 Ocean stream visualization results
本文設(shè)計(jì)的海洋環(huán)境數(shù)據(jù)庫除了傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)查詢功能外,還注重對數(shù)據(jù)進(jìn)行分類處理。建立該數(shù)據(jù)庫就是依托于現(xiàn)如今高速發(fā)展的信息產(chǎn)業(yè)技術(shù)建立起有關(guān)海洋環(huán)境的數(shù)據(jù)集合,通過該數(shù)據(jù)庫,可以快速準(zhǔn)確地查找到所需海域的海洋環(huán)境與氣象環(huán)境數(shù)據(jù),可視化的點(diǎn)查詢是區(qū)域查詢相比傳統(tǒng)的數(shù)據(jù)查詢更加直觀與方便,能夠?yàn)榇昂叫蓄A(yù)報(bào)或其他科學(xué)研究提供幫助。