梁民倉,李笑晨,王任大,尹 勇
(大連海事大學航海動態仿真和控制實驗室,遼寧大連 116026)
?

AIS原始數據的數據庫存儲及統計功能實現
梁民倉,李笑晨,王任大,尹勇
(大連海事大學航海動態仿真和控制實驗室,遼寧大連116026)
摘要:針對現有VTS(Vessl Traffic System)模擬器缺少利用AIS(Automatic Idnentification System)數據進行歷史交通流規律的相關統計功能的不足,采用PostgreSQL建立用于存儲天津港AIS歷史數據的數據庫,以電子海圖為顯示平臺,結合TeeChart圖表插件作為輔助顯示工具,對AIS原始數據按照通常操作人員的需求進行處理,實時給出天津港港區的歷史船舶交通概況。設計出良好的人機交互界面,實現船舶歷史軌跡的簡單重繪,按照船舶類型、吃水、長度以及任意門線(進出港航道的截面)得出統計結果,可再現天津港的歷史交通流規律,且以圖表的形式展現統計結果,為研究天津港的交通流模型及VTS操作人員進行決策提供數據支持。
關鍵詞:VTS模擬器;AIS數據存儲;數據庫;數據統計
VTS模擬器對VTS人員培訓具有重要作用。隨著港口交通日益密集,對VTS人員的交通組織及服務能力要求越來越高,所以在培訓環節中要求模擬器的功能更加完善。VTS指揮人員做出任何決策都需要數據信息的支持,近年來裝載船舶自動識別系統(AIS),船舶越來越多[1-2],由于AIS信息具有自動播發的特點,因此AIS信息成為一種很好的交通流統計的數據來源,且對AIS數據應用方面的研究越來越多[3-8]。文獻[9-11]將AIS數據應用于航道管理工作,使得航道管理更加智能化,文獻[12]采用基于AIS的交通觀測方法研究交通流模型,文獻[13]基于AIS信息設計了港口的監控與分析系統,文獻[14]則基于AIS數據開發了適合長江干線交通管理的航運信息平臺,文獻[15-18]利用AIS信息針對特定水域的不同需求進行了深入研究。現有VTS模擬器中,尚缺少基于原始數據的查詢統計及顯示功能。本文基于天津港2014年的AIS原始數據,實現了原始數據的查詢統計及顯示。
1AIS數據庫搭建
在現有VTS模擬器功能基礎上,要實現AIS數據查詢統計功能,需要相應海區航行船舶的AIS數據歷史。天津港1 a的AIS數據有上百萬條,處理大批量數據需要建立高效、易于維護的數據庫。根據項目需求,基于PostgreSQL搭建了可存儲歷史數據、虛擬AIS數據以及實時接收的真實AIS數據的數據庫。數據庫中主要創建用于存儲船舶動態和靜態數據的兩個表,剔除不需要的數據以減少內存開銷,利用兩個觸發器,在接收到AIS數據之后、存儲之前,對接收到的數據根據需要分別向static、voyage和dynamic表中添加數據,達到按需求分類存儲的目的。使用時,根據實際需求從相應表中進行查取。該數據庫既滿足數據存儲和處理的安全性、高效性要求,也滿足后期使用的易維護性要求。
2功能實現
AIS數據庫主要實現的功能包括:可進行不同斷面、不同類型、不同吃水以及不同船長和船寬的統計查詢,并以不同的方式顯示統計結果。
AIS數據主要分為動態信息、靜態信息以及航次相關信息,數據庫中將這3種數據分別建立一個表進行存儲,以mmsi字段作為關鍵字,便于對數據按類別存儲處理和整合查詢。其中航次數據表中存儲的是船舶的航次信息,每個航次存儲為1條記錄,在查詢某一時間段的數據時,1條船舶多次靠港的情況可以按航次分成多條船舶進行處理。查詢統計的人機交互界面如圖1所示。由圖1可以看出,操作人員可按需求自行設定查詢條件,查詢起止時間、船舶類型、吃水、船長、船寬、進出港以及船位采樣間隔,還可以通過鼠標在海圖上點擊自行設定所要考察的斷面(門線)。設定完查詢條件,點擊查詢按鈕即可進行查詢,同時查詢按鈕右側會動態顯示進度條,以實時顯示查詢進度。查詢完畢,即可顯示相關結果,如彈出統計圖表、海圖上繪制直方圖以及顯示船舶軌跡等。

圖1 AIS數據查詢統計人機界面
2.1查詢
為了實現復合查詢條件下的數據查詢,需要結合動態、靜態和航次3個數據表進行復合查詢,查詢語句越復雜,查詢速度越慢,所以需要對查詢語句進行優化,盡量提高查詢效率。另外,不同計算機內存及處理速度不同,綜合軟件和硬件兩方面因素,考慮該功能日后可能疊加在VTS模擬操作設備上,故采用多線程處理查詢功能,查詢時不會影響其他操作。將查詢得出的結果存儲在數組容器中,以便在后續統計處理工作中使用。
2.2進出港判斷
由于AIS數據中某些數據可能不是十分準確,如目的港,所以利用船舶通過斷面的前后位置信息更為可靠。本文利用斷面兩個端點、進出港參考點以及船舶斷面前后兩個位置點判斷進出港,其中斷面設定如圖2所示。畫斷面時,使用橡皮筋效果工具使操作人員可以更準確的確定斷面,同時保存了兩個端點的經緯度信息。之后可在考察斷面的一側點擊鼠標,該側即為進港方向,同時保存該參考點的位置信息。這樣船舶的位置信息就可以從數據庫中的AIS數據中獲取。
本文根據斷面和進出港參考點給出考察斷面的進港航向范圍,再與船舶前后兩船位計算出的航向進行比對,最終判斷船舶的進出港。所需的3個點情況如圖3所示。
具體實現步驟為:
1)判斷船舶軌跡與斷面是否相交
是否通過斷面是進一步處理數據的前提,可通過判斷斷面兩端點和前后兩船位4個點的關系,判斷軌跡是否與斷面相交,具體原理為:判斷以兩條線段為對角線的矩形是否相交,如果不相交,兩條線段肯定也不相交;如果相交,利用矢量叉乘判斷兩條線段是否相互跨越,如果相互跨越就相交,反之則不相交。

圖2 斷面設定 圖3 進出港判斷條件
2)計算線段方向
已知兩點坐標求取方向φ的公式為:
φ=tan-1(dy/dx),
(1)
返回值為-180°~180°,最終取得返回值為:

(2)
3)計算進港航向范圍
①根據式(1)求取設定的斷面方向φs。
②判斷進港方向參考點相對斷面的位置(見圖3),計算公式為:

(3)
式中:x、y為進港參考點的坐標;x1、y1、x2、y2分別為斷面起點和終點的坐標。
根據β即可判斷參考點相對斷面的位置:β>0,在斷面右側;β=0,在斷面上;β<0,在斷面左側。
如果參考點在斷面右側,進港方向范圍取值(φ,φ+180°);如果參考點在斷面左側,進港方向范圍取值(φ-180°,φ)。
③最后,根據兩船位確定的航向φv,只需φv-360°或φv+360°在上述進港方向范圍內,即可判斷為進港船舶;反之,為出港船舶。
2.3結果顯示
顯示方式分為顯示軌跡、彈出圖表和直接在海圖上畫直方圖3種方式[7]。
1)軌跡顯示
船舶軌跡的顯示,根據船位采樣間隔不同,繪出的軌跡疏密程度不同,并且可根據需要只畫出斷面附近的軌跡,如圖4所示。此處只是對查詢斷面區域內船舶歷史軌跡的簡單重繪,不需要進行平滑處理。
2)彈出圖表顯示
利用Teechahrt圖表插件,直接傳入統計結果,可以以直方圖、餅狀圖或折線圖的形式顯示結果,形象直觀,直方圖如圖5所示。
3)直方圖
將統計結果以直方圖的形式直接繪制在海圖上,效果更加直觀。本文的關鍵是需要將直方圖繪制在斷面上,即直方圖的軸和斷面重合。由于斷面的任意性,所以需要將直方圖中對應的矩形進行相應旋轉。此處旋轉的關鍵在于需要與人為設定的進出港方向相對應,需要實時計算旋轉角度,其中直方圖的起點均為畫斷面時的起始點。綜上,可將旋轉分為兩種情況:

圖4 軌跡顯示

圖5 圖表顯示
①斷面右側為進港方向
如圖6所示,斷面方向為φs,此種情況下旋轉角度

(5)
此時,旋轉過后需將直方圖沿斷面方向平移,使得最終直方圖的軸與斷面重合。
②斷面左側為進港方向
如圖7所示,此種情況下旋轉角度

(6)
最終的繪制效果如圖8所示。

圖6 斷面右側為進港方向 圖7 斷面右側為進港方向

圖8 海圖上直接繪制統計結果
3結語
本文通過建立存儲AIS原始數據的數據庫,并進行查詢統計,實現相關結果的顯示功能。基于AIS信息的交通觀測統計方法,克服了傳統觀測方法周期長、人力物力耗費大和觀測范圍局限的弱點,并且統計結果可快速地呈現給指揮人員,供指揮人員進行決策時參考,此功能以后可加入到VTS真實設備中,完善VTS設備功能。其統計結果可直觀的顯示該斷面的交通流情況,為研究天津港交通流規律、建立交通流模型并在模擬器中進行模擬打下基礎。
自船舶強制要求安裝AIS設備起,AIS數據信息逐漸引起人們的重視,但數據的完備性和準確性還有待提高,所以最終統計出的結果的精確度尚待完善,但是仍可作為參考。
參考文獻:
[1]CHANG Shwujing. Development and analysis of AIS applications as an efficient tool for VTS [J].Sea Technology,2006,47(3):15-18.
[2]WAKABAYASHI N,MAKINO H, MORI K, et al. Development of radar simulator software using AIS data for ship data[C]// OCEANS 2010 IEEE. Sydney:IEEE,2010:1-5.
[4]EKREM Buyukkaya. Thermal anilysis of functionally graded coating AIS alloy and steel pistons[J].Surface and Coatings Technology,2008,202(16):3856-3865.
[5]TSOU M C.Discovering knowledge from AIS database for application in VTS[J].Journal of Navigation,2010,63:449-469.
[6]ABBAS Harati-Mokharia, ALAN Walla, PHILIP Brooksa, et al. AutomaticIdentification System(AIS): DataReliability and Human Error Implications[J].Journal of Navigation, 2007, 60:373-389.
[7]吳兆麟,朱軍.海上交通工程[M].大連:大連海事大學出版社,2004.
[8]余錦超.南海海區AIS數據應用[J].航海技術,2009 (1):39-42.
[9]周劍敏.基于AIS數據的智能航道交通流量記錄系統設計[J].浙江國際海運職業技術學院學報,2010,6(4):1-4.
[10]周劍敏.基于AIS的航道船舶流量智能采集系統開發[J].計算機與現代化,2011(11):195-198.
[11]夏方.AIS系統在航道管理工作中的功能開發和應用[J].中國港灣建設,2011 (3):17-19.
[12]李曉松.VTS模擬器中交通流模型的研究[D].大連:大連海事大學,2012.
[13]劉滿娜.基于AIS的港口監控與分析系統的設計與實現[D].北京:北京郵電大學,2011.
[14]李昊.基于長江干線AIS的航運信息平臺的開發與研究[D].武漢:武漢理工大學,2011.
[15]金興賦,付玉慧,張連東,等.基于AIS數據的成山頭水域船舶交通流研究[J].大連海事大學學報,2012,38(1):33-36.
[16]孫苗.應用AIS信息實現瓊州海峽VTS船舶交通智能管理的研究[D].廈門:集美大學,2014.
[17]向哲,胡勤友,施朝健,等.基于AIS數據的受限水域船舶領域計算方法[J].交通運輸工程學報,2015,15(5):110-117.
[18]周曉怡,胡勤友,向哲.利用AIS數據連續觀測港口泊位服務水平的方法[J].中國水運,2015,15(3):61-66.
(責任編輯:郎偉鋒)
The Achievement of Database Storage and
Statistical Functions Based on AIS Raw Data
LIANGMincang,LIXiaochen,WANGRenda,YINYong
(LaboratoryofMarineSimulationandControl,DalianMaritimeUniversity,Dalian116026,China)
Abstract:The existing VTS simulator is unable to provide historical traffic flow by processing AIS data. To overcome the shortcomings, a database is built by using PostgreSQL to store Tianjin Port AIS history data, and real time Tianjin Port historic vessel traffic is provided based on electronic chart display platform.Combining with TeeChart plug-in as auxiliary display tool, AIS raw data is processed in accordance with generally demands of the operator. A good man-machine interface is designed to realize the simple redraw of the ship history trace according to the type, draft, scale and arbitrary gate line (inbound and outbound channel cross-section), with statistical results obtained.The historical traffic flow rule of Tianjin Port can be recalled, and the results are showed in the form of chart and statements,which can provide the data support for studying the traffic flow model of Tianjin Port for decision making by VTS operators.
Key words:VTS simulator; AIS database storage; database; data statistics
文章編號:1672-0032(2015)04-0072-06
中圖分類號:U675.7;U691.1
文獻標志碼:A
DOI:10.3969/j.issn.1672-0032.2015.04.014
作者簡介:梁民倉(1991—),男,河南濮陽人,碩士研究生,主要研究方向為航海模擬器的開發.
基金項目:國家863項目(2015AA016404)
收稿日期:2015-11-06