呂憧憬,姜曉軼,王 漪,席曉桃
(1.國家海洋信息中心 國家海洋局 數(shù)字海洋科學(xué)技術(shù)重點實驗室,天津 300171)
海洋觀測網(wǎng)實時監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
呂憧憬1,姜曉軼1,王 漪1,席曉桃1
(1.國家海洋信息中心 國家海洋局 數(shù)字海洋科學(xué)技術(shù)重點實驗室,天津 300171)
綜合GIS、數(shù)據(jù)庫和富客戶端開發(fā)等技術(shù),設(shè)計一套B/S環(huán)境下的海洋觀測網(wǎng)實時監(jiān)控系統(tǒng),實現(xiàn)了海洋臺站、浮標(biāo)和志愿船等海洋觀測設(shè)備的實時狀態(tài)監(jiān)控、預(yù)警和故障統(tǒng)計分析等功能,能為相關(guān)部門及時掌握觀測網(wǎng)運行狀況、提升海洋環(huán)境觀測預(yù)報管理水平提供高效的解決方案。
Flex;ArcGIS Server;海洋臺站;浮標(biāo);運行監(jiān)控
海洋觀測是研究海洋、開發(fā)海洋、利用海洋的基礎(chǔ)[1]。海洋觀測所獲取的資料,對海洋的防災(zāi)減災(zāi)、權(quán)益維護、資源開發(fā)、環(huán)境保護、國防建設(shè)及海洋科學(xué)研究等方面具有重大意義[2]。海洋臺站、浮標(biāo)、志愿船等是海洋觀測信息獲取的重要手段,經(jīng)過多年的建設(shè),我國已建成以海洋臺站、浮標(biāo)為主,志愿船和斷面調(diào)查船為輔,覆蓋渤海、黃海、東海和南海等海域的較為系統(tǒng)、完善的海洋觀測網(wǎng)[3]。但這些觀測設(shè)施的運行維護大多由沿海省市海洋部門負(fù)責(zé),監(jiān)管分散,缺乏統(tǒng)一的運行監(jiān)控系統(tǒng),不利于相關(guān)部門及時掌握各個觀測設(shè)備的運行狀態(tài),無法提供高效的決策輔助。本文針對海洋觀測網(wǎng)運行監(jiān)控的迫切需求,建設(shè)了一套監(jiān)控實時、界面友好、操作流暢的海洋觀測網(wǎng)運行監(jiān)控系統(tǒng)。
1.1 系統(tǒng)架構(gòu)設(shè)計
本系統(tǒng)采取輕量級開發(fā)框架PureMVC進行設(shè)計,分為數(shù)據(jù)層、服務(wù)層和應(yīng)用層,3個層之間通過消息響應(yīng)機制進行通信,模塊之間耦合度低,系統(tǒng)功能易擴展和維護(圖1)[4]。
圖1 系統(tǒng)設(shè)計架構(gòu)圖
1)數(shù)據(jù)層。數(shù)據(jù)層包含空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫兩個部分,前者主要以圖層的形式存儲海洋臺站、浮標(biāo)、志愿船及底圖等數(shù)據(jù),如設(shè)備參數(shù)、所屬分局/中心站及位置信息等,通過ArcSDE接口與服務(wù)層交互;后者主要存儲觀測設(shè)備的實時運行狀態(tài)、歷史故障信息、統(tǒng)計信息及實時采集的數(shù)據(jù)等,通過JDBC進行數(shù)據(jù)讀取。
2)服務(wù)層。服務(wù)層對系統(tǒng)的業(yè)務(wù)邏輯進行設(shè)計,并以服務(wù)的方式進行發(fā)布。按照數(shù)據(jù)特征,可分為針對空間數(shù)據(jù)的GIS服務(wù)和針對屬性數(shù)據(jù)的屬性服務(wù)。GIS服務(wù)提供了基礎(chǔ)地圖服務(wù)、空間查詢量算、空間分析和統(tǒng)計分析服務(wù),該服務(wù)采用ESRI公司提供的ArcGIS Server通過REST接口對外發(fā)布[5]。屬性服務(wù)包括運行狀態(tài)查詢檢索、故障統(tǒng)計分析、觀測要素可視化及狀態(tài)信息更新等服務(wù),這些服務(wù)被封裝成Web Services服務(wù),以請求/響應(yīng)機制對外發(fā)布服務(wù)。
3)應(yīng)用層。應(yīng)用層將根據(jù)業(yè)務(wù)需要構(gòu)建專題應(yīng)用模塊,直接為用戶服務(wù)。本系統(tǒng)針對我國海洋觀測網(wǎng)運行狀態(tài)監(jiān)控的業(yè)務(wù)需求,選取Flex Viewer作為開發(fā)框架,開發(fā)了海洋臺站監(jiān)控模塊、浮標(biāo)監(jiān)控模塊、志愿船監(jiān)控模塊及故障警告模塊等應(yīng)用模塊,以FlashPlayer和Web瀏覽器的方式為用戶提供應(yīng)用服務(wù)。該Flex Viewer框架中自帶了一些基本地圖功能模塊(Widget),如鷹眼視圖、導(dǎo)航控件等,滿足了基本地圖操作。系統(tǒng)建設(shè)只需要開發(fā)業(yè)務(wù)相關(guān)的Widget,并配置到config.xml文件中[6],框架將自動完成模塊的加載應(yīng)用,極大地提高了系統(tǒng)開發(fā)效率。
1.2 系統(tǒng)功能設(shè)計
海洋觀測網(wǎng)運行實時監(jiān)控系統(tǒng)包含業(yè)務(wù)功能模塊和GIS功能模塊兩大類(圖2)。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
1.2.1 業(yè)務(wù)功能模塊
業(yè)務(wù)功能模塊根據(jù)運行監(jiān)控對象的不同,劃分為海洋臺站、浮標(biāo)、志愿船3個監(jiān)控模塊,同時為了便于用戶操作,本系統(tǒng)將故障警告模塊單獨安置,動態(tài)提示故障報警信息,方便決策者及時掌握臺站、浮標(biāo)和志愿船當(dāng)前運行狀況并制定決策方案。
1)海洋臺站監(jiān)控模塊將所有海洋臺站按照管轄歸屬劃分為3大類,再根據(jù)管轄歸屬范圍內(nèi)的沿海市劃分小類。將臺站以“海區(qū)-沿海市-臺站”三級列表的形式進行組織,通過點擊列表中的臺站進行地圖定位并顯示到地圖上。點擊地圖上該臺站的位置圖標(biāo),查詢該臺站的屬性信息。海洋臺站模塊同時實現(xiàn)了分鐘報信息監(jiān)控,能夠?qū)崿F(xiàn)分鐘級的臺站觀測要素,如潮位、氣溫、水溫、鹽度、氣壓、風(fēng)速、風(fēng)向和降水量等要素的監(jiān)控,并能夠?qū)⒉糠忠禺?dāng)天觀測數(shù)據(jù)以曲線的形式繪制出來。數(shù)據(jù)接收情況統(tǒng)計和故障信息統(tǒng)計實現(xiàn)了按分局、中心站、臺站、時間段進行歷史故障統(tǒng)計。
2)浮標(biāo)監(jiān)控模塊與海洋臺站類似,實現(xiàn)了浮標(biāo)定位及信息查詢功能、小時級的浮標(biāo)觀測數(shù)據(jù)接收、監(jiān)控與觀測要素可視化功能、浮標(biāo)故障查看及歷史故障統(tǒng)計、觀測數(shù)據(jù)接收情況統(tǒng)計等一系列功能。
3)志愿船監(jiān)控模塊主要實現(xiàn)了志愿船定位查詢和故障信息統(tǒng)計功能。志愿船主要分為執(zhí)法船、考察船、搜救船及其他船舶4類,其他船舶包括科考船只、勘探船、漁船及隸屬其他企業(yè)法人的船舶。由于志愿船的組成較為復(fù)雜,且船舶采集的數(shù)據(jù)較為重要,其實時采集的數(shù)據(jù)不在本系統(tǒng)中查詢可視化,但是志愿船的運行狀態(tài)、實時位置信息的監(jiān)控,對海洋決策者宏觀把握、統(tǒng)一調(diào)度、輔助決策存在重大的意義。
4)故障警告模塊實時監(jiān)控海洋臺站、浮標(biāo)及志愿船的工作狀態(tài),實時列出產(chǎn)生故障的觀測設(shè)備,并在地圖上展示出來,其中運行正常的設(shè)備以綠色圖標(biāo)指示,出現(xiàn)故障的設(shè)備以紅色閃爍圖標(biāo)指示出來。用戶可以直觀、快速地關(guān)注并定位到故障設(shè)施,并作出維修、更換等應(yīng)急決策。
1.2.2 GIS功能模塊
GIS功能模塊主要實現(xiàn)地圖相關(guān)基本操作,包括底圖切換控制、圖層控制、屬性查詢、鷹眼視圖、底圖導(dǎo)航等功能。
地圖切換功能支持多個不同類型底圖的切換,主要有兩種類型,一種是Dynamic類型,它支持地圖操作的無級縮放,但是這種類型的底圖顯示效率較差;另一種是Tiled類型,它首先需要用ArcGIS Server進行切片處理,設(shè)定好幾個固定比例尺,以地圖瓦片的形式發(fā)布,地圖只能在設(shè)定好的幾個比例尺間進行放縮,優(yōu)點是顯示效率較高。Flex Viewer框架還支持Google地圖和百度地圖服務(wù)的導(dǎo)入??紤]到底圖顯示效率及系統(tǒng)部署,將采取瓦片的形式提供底圖服務(wù)。
其他幾項GIS功能直接采用了Flex Viewer框架提供的插件進行修改實現(xiàn),滿足用戶基本地圖操作,組件樣式美觀、操作流暢。
2.1 實時監(jiān)控數(shù)據(jù)獲取
海洋觀測設(shè)備實時監(jiān)控數(shù)據(jù)的獲取、傳輸與存儲是系統(tǒng)建設(shè)的基礎(chǔ)和前提。為了有效獲取海洋臺站、浮標(biāo)及志愿船的實時信息,將不同觀測設(shè)備進行分別處理。
海洋臺站和浮標(biāo)觀測設(shè)備本身具備數(shù)據(jù)傳輸和通信機制,其運行狀態(tài)及觀測數(shù)據(jù)將實時傳輸?shù)降胤胶Q蟊O(jiān)測站,再由地方海洋監(jiān)測站傳輸?shù)剿鶎俸^(qū),然后由各海區(qū)經(jīng)專網(wǎng)傳輸?shù)綌?shù)據(jù)管理中心。志愿船的監(jiān)控狀況較為復(fù)雜,本系統(tǒng)只對已經(jīng)安裝船舶監(jiān)控自動識別系統(tǒng)(AIS)的部分志愿船進行信息采集,將船舶實時信息以短報文的形式發(fā)送到數(shù)據(jù)管理中心,由相關(guān)部門對這些數(shù)據(jù)進行接收和入庫處理。
2.2 系統(tǒng)開發(fā)實現(xiàn)
本系統(tǒng)采用Flex進行富客戶端應(yīng)用程序開發(fā),將展示邏輯和業(yè)務(wù)邏輯轉(zhuǎn)移到客戶端,能夠很大程度上提升服務(wù)器并行服務(wù)的用戶訪問量。選取ESRI公司推出的Flex Viewer作為WebGIS應(yīng)用程序的開發(fā)框架。Flex Viewer框架采用了模塊化架構(gòu),并以插件的形式搭建一個應(yīng)用程序框架,它提供了一套模塊的接口標(biāo)準(zhǔn),負(fù)責(zé)協(xié)調(diào)各個模塊之間的通信,控制程序的頁面布局,以配置文件的形式對功能模塊進行組織[7]??臻g數(shù)據(jù)采用ArcSDE進行管理,屬性數(shù)據(jù)存儲到SQL Server2008中。數(shù)據(jù)訪問采用Web Services的方式,用Java語言編寫并以Tomcat進行發(fā)布,以WSDL語言發(fā)送請求,響應(yīng)結(jié)果以JSON字符串的形式返回到客戶端,數(shù)據(jù)訪問過程遵守SOAP協(xié)議,如圖3所示。采用ArcGIS Server提供地圖發(fā)布服務(wù),底圖包括Tiled和Dynamic兩種類型,前者為tiff格式全球地形瓦片底圖,后者為shape格式地形底圖。
圖3 Web Services數(shù)據(jù)調(diào)用
2.3 系統(tǒng)部署與試運行
目前,該系統(tǒng)已經(jīng)在相關(guān)職能部門完成了部署及試運行,運行狀況良好。接下來將根據(jù)系統(tǒng)試運行狀況,對海洋觀測設(shè)備的數(shù)目和類別進行適當(dāng)增加,并依照用戶的反饋意見進一步完善系統(tǒng)功能。系統(tǒng)部分功能示例如圖4。
圖4 系統(tǒng)部分功能截圖(系統(tǒng)采用的是ArcGISonline網(wǎng)絡(luò)地圖,審圖號:GS(2010)6011)
本文通過對WebGIS相關(guān)技術(shù)進行研究,設(shè)計研發(fā)了海洋觀測網(wǎng)運行監(jiān)控系統(tǒng),實現(xiàn)了海洋臺站、浮標(biāo)和志愿船的實時監(jiān)控。從功能角度而言,系統(tǒng)實現(xiàn)了海洋觀測設(shè)備監(jiān)控業(yè)務(wù)的主要功能模塊,涉及到設(shè)備的觀測要素實時監(jiān)控與可視化、數(shù)據(jù)接收情況及故障信息查詢統(tǒng)計、實時故障警報等功能。從實現(xiàn)角度而言,本系統(tǒng)采用PureMVC 3層架構(gòu)、基于Flex Viewer框架并以功能插件的形式完成了B/S模式富客戶端應(yīng)用系統(tǒng)開發(fā)。該系統(tǒng)的建立將為海洋相關(guān)部門及時掌握觀測設(shè)備運行狀況、輔助決策提供了一套高效的解決方案。
[1] 尹路,李延斌,馬金鋼.海洋觀測技術(shù)現(xiàn)狀綜述[J].艦船電子工程,2013,33(11):4-7
[2] 羅續(xù)業(yè).發(fā)展海洋觀測技術(shù) 建設(shè)業(yè)務(wù)保障體系[J].海洋開發(fā)與管理,2012(6):29-30
[3] 林春梅,余麒祥,曹宇峰.淺談海洋臺站工作的管理[J].海洋開發(fā)與管理,2013(4):44-47
[4] 陳士城,劉曉春,劉旭,等.基于Flex和ArcGIS Server的WebGIS框架設(shè)計與應(yīng)用[J].地理空間信息,2014,12(2):109-110
[5] 黃冬梅,曹燕琴,張明華.基于Flex和WebGIS的風(fēng)暴潮輔助決策系統(tǒng)[J].計算機應(yīng)用與軟件,2014,31(3):51-54
[6] 袁宏,鐘紅梅,賴德軍,等.基于Flex Viewer框架的地質(zhì)災(zāi)害在線實時監(jiān)測預(yù)警系統(tǒng)研究[J].自然災(zāi)害學(xué)報,2013, 22(2):177-184
[7] 許自舟,梁斌,張浩,等.基于ArcGIS Server的海洋環(huán)境信息服務(wù)平臺設(shè)計與實現(xiàn)[J].海洋環(huán)境科學(xué),2013,32(2):284-288
P208
B
1672-4623(2015)04-0080-03
10.3969/j.issn.1672-4623.2015.04.029
呂憧憬,碩士,主要研究領(lǐng)域為海洋地理信息系統(tǒng)。
2014-08-07。
項目來源:國家自然科學(xué)基金資助項目(41271391、41171304)。