張小瑩,黎冬樓,楊秀英
(1. 武漢理工大學(xué) 中國應(yīng)急管理研究中心, 湖北 武漢 430070;2. 海南科技職業(yè)大學(xué) 海南自由貿(mào)易港國際航運發(fā)展與物權(quán)數(shù)字化重點實驗室, 海南 ???71126)
船舶資源的調(diào)度是實現(xiàn)船舶運輸資源優(yōu)化配置的重要形式,資源調(diào)度的效率也直接決定了物流航運公司的經(jīng)濟效率。船舶資源調(diào)度是一個多因素尋優(yōu)問題,需要綜合船舶的航行速度、航線規(guī)劃、船舶貨物能力、貨運成本等因素,特別是近年來能源價格居高不下、海上航運業(yè)競爭日益激烈,更需要提升航運企業(yè)的船舶資源調(diào)度水平。
GIS 地理信息系統(tǒng)目前在海上船舶管理方面應(yīng)用非常成功,借助GIS 系統(tǒng)的軟硬件設(shè)備,可以方便獲取航運船舶位置、航速、航線等關(guān)鍵信息。本文針對的船舶資源調(diào)度場景是多貨物、多港口、多航線和多船舶的綜合場景,充分結(jié)合GIS 地理信息系統(tǒng),基于Visual Studio 2010 開發(fā)船舶航行應(yīng)急資源調(diào)度系統(tǒng)。
GIS 地理信息系統(tǒng)由以太網(wǎng)、硬件系統(tǒng)、計算機軟件系統(tǒng)、服務(wù)器、地圖模型、船舶終端等構(gòu)成,原理圖如圖1 所示。
圖1 GIS 地理信息系統(tǒng)原理圖Fig. 1 GIS schematic diagram of GIS GIS
GIS 地理信息系統(tǒng)的關(guān)鍵功能包括船舶顯示、氣象監(jiān)測、船舶監(jiān)控等。
1)船舶顯示功能
GIS 系統(tǒng)為了能夠?qū)δ繕撕S虻拇斑M行實時監(jiān)控,采集的船舶數(shù)據(jù)通過以太網(wǎng)的傳輸和同步后進入系統(tǒng)的數(shù)據(jù)庫中,用戶通過系統(tǒng)界面可以瀏覽目標船舶在海域的準確位置。將船舶不同位置、不同時間的數(shù)據(jù)連接起來,就構(gòu)成了一段時間內(nèi)船舶的航行軌跡。船舶顯示功能是GIS 系統(tǒng)的最基本功能,用戶可以根據(jù)自己的需求進行數(shù)據(jù)的調(diào)用,獲取船舶的航向、航速等實時動態(tài)。
GIS 系統(tǒng)的數(shù)據(jù)調(diào)用格式為CM 矢量海圖數(shù)據(jù)[1],關(guān)鍵環(huán)節(jié)包括電子海圖的綜合顯示封裝和onap 電子海圖開發(fā)等,GIS 系統(tǒng)的電子海圖數(shù)據(jù)調(diào)用方式如圖2所示。
圖2 GIS 系統(tǒng)的電子海圖數(shù)據(jù)調(diào)用方式Fig. 2 The method of electronic chart data calling in GIS system
2)氣象監(jiān)測功能
GIS 地理信息系統(tǒng)為船舶用戶提供氣象監(jiān)測功能,可以每天定時的進行氣象動態(tài)的更新,船舶終端和地面監(jiān)測站可以通過訪問地理信息系統(tǒng)的電子海圖界面,獲取特定海域的氣象狀態(tài),制定更加合理的航行線路,提高航運的安全性。此外,基于地理信息系統(tǒng)的數(shù)據(jù)庫,用戶可以獲取指定海域不同時間的氣象狀態(tài)信息,并進行短時間內(nèi)的氣象預(yù)測。該功能對于船舶航運公司制定貨運計劃,避開惡劣天氣有重要的作用。
3)船舶監(jiān)控功能
配合系統(tǒng)的船舶顯示功能,GIS 地理信息系統(tǒng)為用戶提供了船舶搜索和監(jiān)控工具,能夠方便地進行遠洋船舶的航行監(jiān)控。地理信息系統(tǒng)的船舶監(jiān)控功能不僅僅局限于船舶位置的監(jiān)控,而是一種深層次的船舶航行狀態(tài)、設(shè)備運行質(zhì)量的全方位監(jiān)控。
用戶在使用GIS 系統(tǒng)的船舶監(jiān)控功能時,以某一點為中心進行圓形或矩形區(qū)域的船舶檢索,目標船舶鎖定以后,可以定時對船舶的航行速度、貨運狀態(tài)、動力系統(tǒng)等關(guān)鍵信息進行實時跟蹤。
本文結(jié)合GIS 地理信息系統(tǒng),進行船舶航行多階段應(yīng)急資源調(diào)度系統(tǒng)的開發(fā),調(diào)度系統(tǒng)的核心是GIS 服務(wù)器。通常,GIS 服務(wù)器部署在Web Service 服務(wù)器上,服務(wù)器接收用戶的指令,為用戶提供動態(tài)監(jiān)視、地點和區(qū)域查詢、路徑和地圖生成等服務(wù)。
GIS 服務(wù)器的框架圖如圖3 所示。
圖3 GIS 服務(wù)器的框架圖Fig. 3 The framework diagram of the GIS server
顯示模塊是資源調(diào)度系統(tǒng)與用戶的信息交互媒介,本文使用GeoServer 開源地圖引擎配合OpenLayers 腳本程序進行顯示模塊的開發(fā),用戶可實現(xiàn)地圖數(shù)據(jù)分布、特征數(shù)據(jù)查詢、插入等操作。
OpenLayers 腳本作為一個開源的JavaScript 庫,具有地圖快速顯示功能,通過API 進行地圖資源的訪問,與服務(wù)器解耦。
OpenLayers 本質(zhì)上是一個地圖容器,它的工作原理如圖3 所示。
圖4 OpenLayers 腳本工作原理圖Fig. 4 OpenLayers working diagram of the script
OpenLayers 腳本能夠?qū)崿F(xiàn)圖層layer 的自定義[2]和疊加顯示,基于OpenLayers 腳本,船舶航行應(yīng)急資源調(diào)度系統(tǒng)的顯示模塊能夠完成下述功能:
1)電子海圖的基本顯示和操作功能
比如海圖的放大縮小、收藏、標記等。
2)船舶的實時位置顯示功能
基于OpenLayers 腳本的顯示模塊不僅可以實時監(jiān)測船舶用戶的實時位置信息,還可以通過圖層變換使地圖隨著船舶位置更新進行位置變換。
3)航跡顯示功能
顯示模塊可以將船舶的歷史軌跡顯示在電子海圖上,用戶能夠調(diào)用6 個月以內(nèi)的船舶航跡數(shù)據(jù)。
4)海圖自定義功能
用戶可以根據(jù)需求定義電子海圖的比例尺、布局等顯示單元,并能夠在電子海圖上進行位置和目標船舶編碼的搜索功能。
5)路徑尋優(yōu)功能
顯示模塊可以根據(jù)海域內(nèi)船舶航行數(shù)據(jù)和氣象條件進行路徑尋優(yōu),用戶只需要輸入船舶的起始點與終點,顯示模塊可以為用戶提供最優(yōu)的路徑。
6)交通流量計算
顯示模塊可以計算當前航線的交通流量,并計算海域內(nèi)船舶數(shù)量的概率值,如下式:
式中:P(X) 為 航線內(nèi)船舶數(shù)量為k時的概率; λ為航線上船舶的到達率;k為船舶的數(shù)量。
可知,航線上有小于x艘船的概率為:
航線上有大于x且小于y艘船概率為:
其他情況,P(X=0)=e-λt。
7)船舶航行速度分布建模
OpenLayers 腳本通過采集大量的系統(tǒng)數(shù)據(jù),將船舶航行速度擬合為連續(xù)型隨機變量,并用正態(tài)分布的數(shù)學(xué)模型表示。系統(tǒng)的船舶航行速度概率密度函數(shù)和分布函數(shù)如下:
σ和u為正態(tài)分布系數(shù),船舶航行速度正態(tài)分布示意如圖5 所示。
圖5 船舶航行速度正態(tài)分布示意圖Fig. 5 Diagram of normal distribution of ship speed
用戶信息管理模塊是調(diào)度系統(tǒng)的重要組成,功能包括用戶信息及任務(wù)管理等,用戶信息管理模塊采用MySQL 數(shù)據(jù)庫技術(shù),模塊可實現(xiàn)的功能包括:
1)建立用戶的數(shù)據(jù)庫模型,將調(diào)度系統(tǒng)的用戶權(quán)限數(shù)據(jù)、登錄信息、船舶監(jiān)測任務(wù)信息、電子海圖、視頻和圖文信息、船舶資源調(diào)度任務(wù)信息等集成到數(shù)據(jù)庫模型中。
2)結(jié)合MySQL 數(shù)據(jù)庫[3]技術(shù)建立調(diào)度系統(tǒng)的資源表格管理信息,實現(xiàn)快速的數(shù)據(jù)查詢、增刪。
3)用戶信息管理模塊提供資源調(diào)度系統(tǒng)的分類查詢功能,并保存查詢結(jié)果,以備后續(xù)的數(shù)據(jù)分析和調(diào)用。
4)當用戶需要新的數(shù)據(jù)需求時,用戶信息管理模塊可以提供多種數(shù)據(jù)項,比如編碼、標識、IP 地址、資源調(diào)度序列等。
用戶信息管理模塊的原理圖如圖6 所示。
圖6 用戶信息管理模塊的原理圖Fig. 6 Schematic diagram of user information management module
在船舶應(yīng)急資源調(diào)度系統(tǒng)的軟件開發(fā)過程中,本文采用的開發(fā)環(huán)境為Visual Studio 2010,該開發(fā)環(huán)境具有集成性、并行性等眾多優(yōu)點,能夠?qū)崿F(xiàn)多項目、多用戶系統(tǒng)的開發(fā)。
使用的程序開發(fā)語言為Visual Basic6.0 語言,這種語言具有模塊化、面向?qū)ο蟮忍攸c,同步能夠滿足程序開發(fā)和界面開發(fā),通過建立ActiveX 控件可以建立內(nèi)容豐富的用戶界面。
Visual Basic 語言的特點包括:
1)可視化編程
Visual Basic 6.0 將應(yīng)用程序和數(shù)據(jù)封裝起來,開發(fā)人員在進行設(shè)計時能夠?qū)崿F(xiàn)程序的可視化操作,從而提高了程序開發(fā)的效率。
2)事件驅(qū)動
Visual Basic 程序由一個主程序和若干個子程序構(gòu)成,針對某個特定的事件進行程序的編制[4]。
本文基于Visual Studio 2010 開發(fā)的船舶航行應(yīng)急資源調(diào)度系統(tǒng)界面如圖7 所示。
圖7 船舶航行應(yīng)急資源調(diào)度系統(tǒng)界面Fig. 7 Interface of marine navigation emergency resource scheduling system
本文結(jié)合GIS 地理信息系統(tǒng)的軟硬件資源,基于Visual Studio 2010 開發(fā)環(huán)境,開發(fā)了船舶航行多階段應(yīng)急資源調(diào)度系統(tǒng),并對系統(tǒng)的原理、功能模塊、程序界面等進行了詳細介紹。