基于OD切分的船舶AIS航迹

2017-04-02 03:22叶仁道黄靓莹
中国航海 2017年4期
关键词:中远航迹厦门

叶仁道, 黄靓莹

(杭州电子科技大学 经济学院, 杭州 310018)

在世界经济全球化、一体化大环境下,随着国内水运量和国际贸易量不断增多,海上交通管理系统智能化成为必然趋势。作为世界航运大国之一,我国的海运船队运力规模和港口货物吞吐量均居世界前列。[1]然而,贸易货物标准化管理、运输及装卸的大趋势导致港口水域、航道和航线承载的压力增大,安全事故频发。

随着大数据和数据挖掘技术的不断发展及船舶自动识别系统(Automatic Identification System, AIS)的广泛应用,通过对船舶AIS数据进行深入挖掘,可获取船舶海上交通特征信息。在船舶航迹研究方面,已有研究[2-3]大多利用船舶航迹分布、航速和航向变化率分布来分析船舶海上交通特征,或通过轨迹聚类获取船舶典型运动轨迹,很少考虑船舶运动的流动性特征。鉴于此,这里从OD(出发点—终点)的航迹角度出发,基于Hive数据仓库和R语言平台,结合船舶海上交通特征和探索性分析、可视化等数据挖掘技术[4],对往返于厦门港水域的船舶“中远之星”号的航迹进行研究,由此获取船舶运动路线及行为规律等海上交通流动性特征,为船舶行为预测、航迹聚类和异常检测奠定基础,同时为做好船舶运营和海上安全管理提供理论依据[5-6]。

1 厦门港水域交通基本特征

厦门港地理位置优越,是我国沿海最重要的港口之一,特别在集装箱运输干线方面,发展态势迅猛。[7]2016年,厦门港主动适应经济新常态,年累计集装箱吞吐量大幅提高(约961.4万TEU),年增速位列沿海干线港第三。同时,为适应船舶逐渐大型化和集装箱吞吐量快速增长的现状,厦门港正在进行主航道扩建工程,建成以后可满足目前世界上最大的集装箱船全天候通航。此外,厦门国际航运中心在2016年被确定为国家“十三五”规划重点建设项目,各项软硬件设施不断加速配置,为建设创新发展活力型、协调发展产业型、绿色发展生态型、开放发展国际型和共享发展信用型的“五大发展”示范港口助力。[8]综上所述,厦门港水域船舶交通量将不断攀升,海上交通环境日趋复杂,势必在港航安全智能化管理方面面临更大的挑战。因此,这里以往返于厦门港水域(经度范围为118.02°~118.28°,纬度范围为24.23°~24.45°)的船舶为例,研究其海上交通流动性特征,为厦门港水域船舶行为安全监测及港航管理提供帮助。

首先选取2015年4月1日至4月30日的数据对厦门港水域整体的交通特征进行初步探索。从Hive数据仓库中导出厦门港水域的数据,利用R软件统计船舶交通量信息,其中4月份预处理前AIS观测数据共计1 153 379条,处理后共计515 330条,包含2 017艘船舶。在描绘海上交通特征时,除了体现交通规模的交通量之外,船舶航迹分布也至关重要,反映船舶运动行为路线。由于AIS数据量庞大,为清晰起见,选取4月1日至4月5日的数据进行可视化。船舶航迹分布见图1,从中观察到进出厦门港的主交通流1及往返于厦门港和漳州港的交通流2等厦门港水域几条重要的交通流。综上所述,为应对日趋复杂的交通环境,除了推进厦门港航道扩建工程之外,合理利用AIS数据对船舶海上交通行为进行挖掘也至关重要。

2 船舶航迹OD切分算法与实例

OD流[9]体现轨迹从起点到终点的流动性特征,其中,O代表出发点,D代表终点。采用切分算法获取OD航迹,并对其进行挖掘分析,可在AIS静态信息缺失的情况下凭借动态信息得到船舶停靠港口的信息及其运动路线。此外,通过分析和可视化OD航迹,亦可挖掘船舶交通行为规律,并为船舶轨迹聚类提供新的划分思路。

虽然已确定将往返于厦门港水域的船舶作为研究对象,但在实际操作中发现,若同时对全部船舶进行切分,存在以下2个问题:

1)船舶AIS数据量庞大,构建的算法中包含多个循环,运算量大,对硬件的要求较高。

2)部分船舶存在某些静态信息和动态信息缺失的情况,对这类船舶进行航迹切分无法准确判断或验证切分的正确性。

鉴于此,选择有可查固定路线且AIS数据较为完整的闽台直航船“中远之星”号作为挖掘对象,结合船舶海上交通特征和探索性分析、可视化等数据挖掘技术,提出船舶AIS航迹研究思路和方法。

2.1 步骤

对海上船舶航迹数据进行分析,主要利用Hive数据仓库和R语言平台建立OD切分算法,从船舶OD航迹的角度挖掘、分析船舶海上交通行为,具体步骤为:

1)将Hive数据仓库中“中远之星”2015年4月的AIS数据导入到R语言平台上,并对其进行预处理,清理部分异常数据。

2)每隔128 s对预处理后的数据进行1次等时间间隔的插值补点,避免长时间缺失数据导致航迹无法切分。

3)采用OD切分算法得到若干个子航迹段。考虑到港口附近船舶轨迹相对复杂及网络爬虫港口位置的精确性,将各航迹点距离最近港口是否<20 km作为切分标准(若<20 km,则切分航迹)。

4) 采用航迹合并算法对切分后的若干个子航迹段进行合并,得到OD航迹。由于船舶停靠港口的时间较长,因此利用船舶新航程开始时间与上一段航程结束时间之差进行子航迹段合并,可剔除船舶经过某港口但不停靠的情况。

2.2 算法

为更好地描述船舶轨迹OD切分模型整体算法流程,结合以下算法伪代码进行描述。[10]首先从Hive数据仓库导入已筛选的“中远之星”号的AIS数据,并输入补点阶段的时间间隔阈值λ,切分阶段距离阈值σ及航迹合并阶段的航迹段时间差阈值ε。由于AIS数据存在缺失和重复的情况,因此算法的第1步为插值补点,补点后相邻航迹点的时间间隔为λ。算法的第2步为航迹切分,其中:算法07~算法11度量各航迹点与最近港口的距离;算法12~算法16实现航迹切分,若距离小于σ,则切分航迹。算法的第3步为航迹合并,计算切分所得各相邻子轨迹段的时间差,若时间差小于ε,则对其进行合并。合并完成之后得到真正的OD航迹段,重新计算航程、航行时间等信息。

Input:

(1)Load AIS data from Hive databaseTr={p1,p2,…,pn} and PORT={h1,h2,…,hn}(After pretreated and filtered); //从数据库中载入船舶、港口预处理后的数据;

(2)Set neighborhood parameterλ; //设定补点时间间隔阈值λ;

(3)Set neighborhood parameterσ; //设定切分距离阈值σ;

(4)Set neighborhood parameterε; //设定子航迹段时间差阈值ε;

BEGIN

//FIRST STEP: Interpolating points //第1步,插值补点

01: FOR eachpkinTrDO //对Tr中的每个航迹点pk执行以下循环

02: Add new points which make the time lag between adjacent point equals toλ; //在相邻两点间每隔λ时间进行补点

03: Calculate new points’ longitude and latitude; //计算所补点的经纬度

04: END FOR

05: Return a new dataTr_2, and it contains the following variable MMSI, time, longitude and latitude; //生成包含船舶标识、时间变量、经纬度变量的补点后新数据集Tr_2

06: END

//SECOND STEP: Trajectory Segmentation //第2步,航迹切分

07: FOR eachpkinTr_2 DO

08: FOR eachhjin PORT DO //对集合PORT中的每个点hj执行以下循环

09: Calculate the distance betweenpkandhj, and take the minimum value as the distance; //计算各航迹点与各港口的距离,取最小值记为distance

10: END FOR

11: END FOR

12: FOR eachpkinTr_2 DO

13: IF distance<σ; //如果距离小于σ

14: Cut off the track; //切断航迹

15: END IF

16: END FOR

17: Return number of sub-trajectories; //生成若干切分后子航迹段

18: END

// THIRD STEP: Trajectory Merging //第3步,轨迹合并

19: FOR each STlin sub-trajectories DO //对子航迹段集合sub-trajectories中每一段子航迹执行以下循环

20: IF diff(c(date.begin(STl+1),date.end(STl)))<ε; //如果相邻子航迹段时间差小于ε

21:STlandSTl+1merge into one; //合并两个子航迹段

22: Calculate new voyage, voyage time; //重新计算航程及航行时间

23: END IF

24: END FOR

25: END

2.3 实证分析结果

“中远之星”号现有厦门—台中和厦门—基隆2条航线,具体船期为:厦门—台中航线,周二驶离厦门港,周三抵达台中港,周三驶离台中港,周四返回厦门港;厦门—基隆路线,周四驶离厦门港,周五到达基隆港,周日驶离基隆港,周一返回厦门港。该船在一定程度上开创了海峡两岸海上运输新模式,实现了真正意义上的客货直航。[10]

2.3.1补点结果展示

首先从Hive数据仓库导入“中远之星”号2015年4月的AIS数据,共观测43 556条,预处理后得到39 887条;随后对这些数据进行插值补点,使航迹连续、完整。航迹补点前后对比见图2,补点后航迹能更直观地反映船舶真实的运动规律。

a)补点前b)补点后

图2 航迹补点前后比对

2.3.2航迹切分合并结果展示

初始航迹切分完成之后,共产生19个子航迹段,且包含过路港的情况。在此基础上进行航迹合并,从而得到“中远之星”号的14段完整OD航迹,结果见表1,其中有8段直航厦门—台中,另外6段直航厦门—基隆(由于台北与基隆较近,因此可将台北港记为基隆港)。

为验证OD切分算法的可靠性和正确性,进一步对航迹切分结果进行以下分析。首先,将“中远之星”号实际船期与该研究所得船舶出发时间和到达时间相对比,检验切分的OD时间点是否为离港时间或抵港时间。通过对比发现,除了第10条OD航迹,其余结果均与实际情况一致。分析第10条航迹的原始数据可知,17日06点14分至20日05点30分的船舶AIS数据全部缺失,且这2个时间点对应的位置分别为台北港和厦门港。由于缺少17日至19日船舶在厦门港口停留的数据,导致只能将缺失前一点作为航迹切分O点,因此得到的航程出发时间是错误的。其次,基于船舶在港口附近航速小的特征,计算在港口20 km内航速<5 kn的航迹点比例δ,结果见表1。最后,得到14段OD航迹均有75%以上的航迹点航速<5 kn,因此认为OD航迹切分点符合港口特征。综上所述,分析及验证航迹切分结果,可得到“中远之星”号的交通流动性特征。船舶运动路线为厦门—台中和厦门—基隆,航程及航行时间规律均与其实际航程和实际船期一致。

3 结束语

本文基于Hive数据仓库和R语言平台,结合船舶海上交通特征和探索性分析、可视化等数据挖掘技术,提出一种基于OD切分的船舶轨迹研究方法。以“中远之星”号为例进行船舶OD航迹切分,获取船舶往来港口、航程时间和运动路线等交通流动性特征。在不考虑原始数据缺失的情况下,从船舶航期和港口范围速度分布2个角度验证船舶OD切分算法的可靠性及正确性。然而,在设定航迹合并参数阈值时,该研究方法存在一定的主观性,下一步将尝试改进阈值设定方法,同时探索停靠港口船舶新特征,以优化航迹合并算法,使之更加合理。

[1] 《广东造船》编辑部. 今年迎来第12个中国航海日:我国去年海上运力居世界第三[J]. 广东造船, 2016,35(4): 79.

[2] 潘家财, 邵哲平, 姜青山. 数据挖掘在海上交通特征分析中的应用研究[J]. 中国航海, 2010, 33(2): 60-62.

[3] 朱飞祥, 张英俊, 高宗江. 基于数据挖掘的船舶行为研究[J]. 中国航海, 2012, 35(2): 50-54.

[4] 王斌会.数据挖掘技术及其应用现状[J]. 统计与决策, 2006(10): 122-124.

[5] RISTIC B, SCALA B L, MORELANDE M, et al. Statistical Analysis of Motion Patterns in AIS Data: Anomaly Detection and Motion Prediction[C]. International Conference on Information Fusion, 2008,29(1):1-7.

[6] 熊勇, 瞿小豪, 郭俊维,等. 基于AIS数据的渡轮异常运动模式监测[J]. 中国安全科学学报, 2016, 26(1): 100-103.

[7] 郭晓清, 黄建设. 厦门港与我国主要港口竞争力的比较分析[J]. 中国航海, 2015, 38(4): 121-124.

[8] 李珂. 建设新港口再创新业绩(三):全力打造厦门国际航运中心[EB/OL]. (2017-02-07)[2017-02-25]. http://www.portxiamen.gov.cn/gkzx/gkxw/277180.htm.

[9] 宋璐. 基于手机定位数据的交通OD分布研究[D]. 南京:东南大学, 2015:2-8.

[10] 肖潇. 基于AIS信息的船舶轨迹聚类模型研究[D]. 厦门:集美大学, 2015:32-45.

猜你喜欢
中远航迹厦门
厦门正新
一种多机协同打击的快速航迹规划方法
大数据分析的船舶航迹拟合研究
基于数据挖掘的船舶航迹自动识别系统
一种复杂环境下的多假设分支跟踪方法
“偶”遇厦门
心之厦门,梦想之旅(上)
厦门猫街
中远海运集装箱运输有限公司船期表
中远集装箱运输有限公司船期表