李乾源 孫 超
隨著ECDIS(Electronic Chart Display and Information System,電子海圖顯示與信息系統(tǒng))的強制安裝,船員在實踐中已經逐步接受并熟悉通過ECDIS來輔助航海工作。在實際應用場景中,船舶安裝的ECDIS設備需要經由ADC(Admiralty Digital Catalogue)選圖軟件選用航海圖后方能使用。此外,每當船上的航次計劃任務工作完成后,航線選圖、電子海圖數(shù)據(jù)購買更新以及安裝流程都需要通過ADC輔助完成[1]?;谄髽I(yè)管理規(guī)范的要求,船舶一個航次任務所需購買的海圖往往必須提交至岸端海務主管部門審核之后,再轉發(fā)給海圖代理公司來完成采購申請。然而,由于船舶的網絡環(huán)境常常無法正常建立Internet連接,ADC選圖結果無法系統(tǒng)間直接同步給海務主管部門,因此需要船舶操作人員手動地從ADC軟件導出申購海圖數(shù)據(jù)的文件,然后通過郵件/報文的方式發(fā)送給海務主管審核人員,造成海圖申領流程繁瑣從而增加了船上工作量。
針對這一現(xiàn)狀,本文設計并實現(xiàn)了一種海圖申領流程的優(yōu)化方案,它基于Web電子海圖技術架構,通過UKHO開放的WebService接口,在電子海圖業(yè)務與船舶現(xiàn)存業(yè)務系統(tǒng)之間建立數(shù)據(jù)聯(lián)動,在船舶、海務主管和海圖代理公司之間形成閉環(huán)鏈,從而使得整個海圖申領業(yè)務流程透明、高效,達到數(shù)據(jù)共享和管理協(xié)同的目標。
系統(tǒng)整體框架如圖1所示。
本文研究的船舶電子海圖自動申領系統(tǒng)包括以下三個主要部分:
基于先進的Web應用技術,利用典型三層架構開發(fā)Web電子海圖選圖系統(tǒng),并通過AVCS_Catalogue.XML文件的融合,實現(xiàn)全域環(huán)境對ADC軟件選圖的模擬和替代。
基于VSTO(Visual Studio Tools for Office)開發(fā)技術,實現(xiàn)對Microsoft Outlook郵件客戶端的無縫集成,在適應船舶作業(yè)的復雜環(huán)境下,架起船、岸之間數(shù)據(jù)交互的橋梁[2]。
基于UKHO開放的B2B Service通用接口標準,運用WebService平臺技術,實現(xiàn)岸端自建管理系統(tǒng)直接生成電子海圖訂單,并獲取對應的Permits文件及對應的更新光盤類文件等數(shù)據(jù)直接供船。
圖1 系統(tǒng)整體框架
隨著Web技術在各行各業(yè)的應用日趨成熟,關于Web電子海圖信息系統(tǒng)應用的研究也越來越廣泛。有基于WebGIS并結合Java Applet技術實現(xiàn)的WebChart船舶導航系統(tǒng)[3],有通過SVG技術與Applet的融合形成的基于XML的電子海圖系統(tǒng)[4],也有基于矢量瓦片技術的Web電子海圖系統(tǒng)。船端選圖系統(tǒng)滿足船舶實操中對軟件系統(tǒng)獨立性的場景需求,選圖人員可以在任何一臺位于局域網的計算機設備上通過Web瀏覽器的方式訪問海圖數(shù)據(jù)。船端選圖系統(tǒng)根據(jù)OpenGIS Web服務器規(guī)范開發(fā),其總體結構如圖2所示。展示層是呈現(xiàn)海圖數(shù)據(jù)的OpenLayers客戶端(運行于Web頁面),它發(fā)出海圖數(shù)據(jù)請求,事物處理層的GeoServer地圖服務器(運行于Tomcat)將從數(shù)據(jù)持久層的Shapefile、Geojson和XML等數(shù)據(jù)文件獲取數(shù)據(jù)并進行轉換處理,返回給OpenLayers客戶端進行展示。
圖2 總體結構
系統(tǒng)整體邏輯結構如圖3所示。
圖3 系統(tǒng)邏輯結構
系統(tǒng)邏輯結構劃分為展現(xiàn)層(OpenLayers客戶端)、中間事務處理層以及數(shù)據(jù)持久層(空間數(shù)據(jù)庫)三個部分。中間層的服務處理機制又被分割為兩個部分,即簡單事務處理子層和定制事務處理子層,是為了方便針對當前船舶的各級業(yè)務系統(tǒng)的特征需求做擴展性的開發(fā)和提高軟件的可復用性。在簡單事務處理子層中,概括抽象出世界海圖顯示、AVCS的圖層疊加(公司ECDIS設備大多使用AVCS的ENC)等基礎功能的全局版本,并銜接下一層提供通用的功能模塊。后者可根據(jù)集成不同的業(yè)務系統(tǒng)增加定制化程序,可與上層簡單事務服務之后建立通信,擴展如經緯度列表導入選圖、海圖號智能匹配、航線規(guī)劃選圖、航線回顯、海圖訂單價格等功能。底層采用了輕量級的Derby數(shù)據(jù)庫持久化上層傳遞的空間位置數(shù)據(jù)、航線信息、海圖資料訂單列表(如資料購買周期、訂單價格等數(shù)據(jù)),增加了與業(yè)務系統(tǒng)數(shù)據(jù)傳輸?shù)撵`活性,而且支持通過標準的數(shù)據(jù)存取事務接口訪問海圖數(shù)據(jù)。由于目前主要的海圖矢量數(shù)據(jù)來源是UKHO,因此底層還包含了原生的XML數(shù)據(jù)文檔。
系統(tǒng)的主要功能模塊如圖4所示。
圖4 系統(tǒng)功能模塊
系統(tǒng)支持對世界海圖及AVCS圖層的移動、縮放、鷹眼圖(地圖縮略圖)、地圖比例尺、瀏覽等基本操作,以及對當前鼠標位置的追蹤,可以計算出用戶使用鼠標在地圖上繪制的多邊形的面積或者折線的長度。實現(xiàn)的高級操作包括多圖層可視化管理,海圖高亮,智能選圖,海圖資料購買、更新及航線管理等。
圖層管理模塊包含世界海圖和AVCS圖層兩個可視化管理的基本功能,后者是將不同類型的圖層數(shù)據(jù)文件按照ADC選圖軟件的圖層分類標準,放到各個圖層中,可進行統(tǒng)一的顯示和隱藏操作,或者自定義該圖層的透明度,實現(xiàn)在多圖層疊加顯示的狀態(tài)下可以獲得更加直觀的觀察效果和美觀感受的目的。訂單管理模塊包含海圖高亮、航線選圖下單以及導入航線下單的高級功能,可根據(jù)海圖編號、標題、空間關系等條件搜索查詢后在瀏覽器中高亮顯示匹配到的海圖(區(qū));航線選圖是利用鼠標的追蹤位置與地圖中矢量數(shù)據(jù)的空間關系,在進入或者臨界矢量區(qū)域時,對矢量數(shù)據(jù)進行動態(tài)標記。值得注意的是,在完成智能匹配后的電子海圖申請購買訂單列表中,并沒有完成對船存電子海圖資料有效期的過濾,即選圖工具中沒有保存船舶的電子海圖資料歷史購買訂單明細數(shù)據(jù),將庫存管理的功能集成在船端使用的業(yè)務系統(tǒng)內,既滿足了企業(yè)對業(yè)務經營數(shù)據(jù)的管理要求,同時也提高了選圖工具的輕便性及高可復用性。航線管理模塊包含航線回顯及航線維護的基本功能,主要是為了提高船岸兩端之間的業(yè)務交流,船端完成的航線任務傳到岸端之后,岸端在訂單中可以將整個航線回顯出來并可進行維護,作為本次航線任務的改正。
系統(tǒng)的選圖流程如圖5所示。
圖5 選圖操作流程
(1)打開船舶業(yè)務系統(tǒng)對應的訂單管理界面,點擊“選圖工具IP”按鈕在彈窗界面輸入本機的物理地址,然后點擊“航線選圖”按鈕即可打開選圖工具瀏覽器客戶端。
(2)根據(jù)選圖需求,設置對應的顯示參數(shù),打開航線繪制功能即可在Web海圖上通過鼠標畫出任意折線,鼠標單擊的位置作為折線的拐點。
(3)粗略繪制完航線后可以通過海圖(圖層)放大繼續(xù)進行航線的精修編輯,如延長、折回、繞過等操作。
(4)航線確定后,系統(tǒng)會自動匹配出路徑所經過的所有海圖資料,通過瀏覽海圖資料列表的明細最終確認需要申請購買的海圖,并填寫航線名稱后提交訂單,至此,選圖工具中的電子海圖購買申請流程完成。
船岸的數(shù)據(jù)通信是船舶的服務器與岸基對應的管理單位的服務器之間的雙向數(shù)據(jù)同步的過程。目前,在船舶數(shù)據(jù)交互過程中使用最多的方式是郵件通信。本文設計實現(xiàn)的船岸數(shù)據(jù)同步方式是在基于VSTO技術的船岸同步軟件的設計與實現(xiàn)的研究基礎上增加了可配置的自定義模塊。根據(jù)不同船公司對數(shù)據(jù)同步的個性化需求,可在船端程序中設置不同標準的數(shù)據(jù)同步定時任務。
(1)當程序檢測到發(fā)送郵件的服務器連接上3G、4G網絡時,會自動將生成的數(shù)據(jù)包優(yōu)先通過Internet的形式發(fā)回岸基服務器。
(2)在網絡環(huán)境持續(xù)斷開的情況下,程序會根據(jù)定時任務的數(shù)據(jù)交換頻次設置,在固定的時間點通過Inmarsat(海事衛(wèi)星)將數(shù)據(jù)發(fā)回。
(3)如果有迫切的數(shù)據(jù)交換需求,也可以通過直接手動觸發(fā)數(shù)據(jù)同步任務,實現(xiàn)了高效與經濟并存。船岸數(shù)據(jù)同步模型如圖6所示。
圖6 船岸數(shù)據(jù)通信系統(tǒng)結構
船舶靠港停泊或者在近岸漂航時,船端的網絡環(huán)境可以通過3G、4G網絡與岸基的網絡通信基站建立Internet連接,實現(xiàn)較為廉價的通信模式。在這種情況下,船舶提交的電子海圖購買申請以及岸端的許可文件、海圖更新包等數(shù)據(jù)可以實時完成船岸系統(tǒng)的數(shù)據(jù)同步。
在船舶處于“斷網”狀態(tài)的情況下,基于VSTO技術開發(fā)的船岸數(shù)據(jù)同步解決方案是利用船舶服務器安裝的郵件系統(tǒng),即主要以船端使用的專門的郵件通信客戶端作為宿主程序,連接Inmarsat(海事衛(wèi)星)實現(xiàn)船岸數(shù)據(jù)包交換的目的。
當船舶制訂好航次計劃后,可以直接使用選圖工具繪制航線并生成對應的電子海圖數(shù)據(jù)資料,確認申請購買后,系統(tǒng)會將航線匹配到的所有海圖資料明細與船舶庫存的電子海圖進行比對,去除有效期在一周內或者已經過期的資料,才會生成最終的申領單。船端等待程序自動同步數(shù)據(jù)到岸端,岸端對應的船舶管理系統(tǒng)接收到船端業(yè)務系統(tǒng)提交的電子海圖購買申請單數(shù)據(jù)后,海務主管登錄系統(tǒng)進行對應申請單的審核或者航線修正操作,確認無誤后,可以選擇相應的海圖代理服務商,確定后將詢價單提交到對方的系統(tǒng)中等待反饋。
海圖代理服務商在系統(tǒng)中接收到岸基的海圖購買申請后,通過B2B SOAP APIs向UKHO提交訂單購買的詳細內容,并獲得反饋,內容包括提交結果、Permits下載路徑等數(shù)據(jù)。這些數(shù)據(jù)可以通過“一站式”的流程完整地返回至船端。
岸端分發(fā)文件系統(tǒng)網絡拓撲圖如圖7所示。
圖7 岸到船數(shù)據(jù)分發(fā)拓撲圖
根據(jù)UKHO電子海圖資料的周更新機制,參照官方接口開發(fā)標準,在岸端搭建文件服務器并通過自動獲取的形式增量同步數(shù)據(jù)資料,并在海圖代理服務使用的岸端管理系統(tǒng)中實現(xiàn)船舶庫存與更新資料的智能匹配工作,標記出已經申請購買過對應電子海圖資料并且臨近過期的船舶,實現(xiàn)“主動式”的銷售服務。
電子海圖信息系統(tǒng)已經成為船端不可或缺的航海導航輔助設備,因此有關ECDIS的周邊產品(如Permits)亦是使用者十分關心的內容。市場上提供的ADC選圖工具軟件雖然功能已經比較完善,但是由于受到生產業(yè)務過程中管理需求的制約,無法真正解決使用者的痛點。本文設計的“一站式”系統(tǒng)在操作功能以及方法上無縫對接船端使用人員,并增加了個性化服務的內容,不僅為船端電子海圖資料申請的操作人員提供了簡便性,而且滿足了岸端主管部門的管理需求,還為海圖代理服務供應商拓寬了業(yè)務開展空間,為整個業(yè)務閉環(huán)鏈的數(shù)據(jù)運營提供了技術基礎保障。
然而,由于電子海圖數(shù)據(jù)資料的下單購買依賴于UKHO官方提供的接口,如果該接口被關閉或者技術標準發(fā)生變化,下單程序也將相應地失效。未來需進一步研究同行業(yè)替代服務提供商的可行性解決方案,使得“一站式”系統(tǒng)服務更具生命力。