APP下载

提升算法下船舶AIS 航迹数据压缩方法

2023-09-16吴晓阳

舰船科学技术 2023年16期
关键词:数据格式压缩率纬度

吴晓阳

(桂林理工大学,广西 南宁 530001)

0 引 言

船舶自动识别系统(Automatic Identification System,AIS),其是船舶航行必须安装的船载AIS 设备,其主要作用是实现船舶导航和监控[1]。目前海上管理系统的不断完善,已经形成AIS 基站的基础网络体系[2]。随着船载AIS 设备数量的逐渐增加,设备信息的收集和管理逐步完善,则形成海量的船舶AIS 轨迹数据,该数据可为船舶异常识别、交通情况监测等提供可靠依据[3]。但是该数据量较大、维度较高,并且数据格式存在一定差异,导致数据的查询效率、效用程度受到影响,同时数据的传输耗时较大[4]。因此,数据压缩成为解决该问题的有效手段。在压缩过程中,如何保证数据的完整性,避免数据在压缩过程中发生损坏,成为重点研究内容。刘歌等[5]为保证多维数据的压缩效果,以MVC 架构为核心,通过正交变换的方式实现数据重构,并对重构后的数据进行编码,以此完成多维数据压缩;该方法在应用过程中,可实现数据降维,但是无法实现不同数据格式的处理。张晓梅等[6]为实现数据压缩,利用边缘计算较好的计算能力,实现数据无损压缩;但是该方法在应用过程中,对于维数较高数据的压缩率较低。

提升算法属于框架算法,该算法能够强化数据点的处理效果,常见的提升算法包扩道格拉斯-普克算法(Douglas-Peucker,DP)、机器分类算法等。本文以DP 算法为核心,提出船舶AIS 航迹数据压缩方法。

1 船舶AIS 航迹数据压缩

1.1 AIS 数据处理

1.1.1 AIS 轨迹数据格式转换

AIS 在使用过程中,仅可实现可打印的AIS 字符传输,该字符的有效范围为0X20~0X7E,在该范围内,可将字符划分为保留、有效和未定义3 种字符。其中保留字符指的是传输数据中,用于控制数据格式的关键字[7],有效字符用于描述能够用于打印的ASCII 字符,未定义字符用于描述无法直接进行传输的字符。

AIS 数据的每条记录均由开始符(!)开始,以结束符()结束。采用封装方式对AIS 数据进行处理后,利用高级链接HDLC(高级数据链路控制)进行传输后,对其进行不归零倒置编码后,对其进行数字调制解调,同时插入同步和停止位,最后经由甚高频进行传输,以此可通过IEC61162-1 标准和ITU1371-1 协议,完成AIS 轨迹数据格式的转换,将其从暗码转换成明码。

1.1.2 AIS 轨迹数据清洗

由于AIS 数据中包含静态数据、动态数据等所有和船舶航行相关的数据,这些数据在采集过程中,会受到网络性能、采集环境以及采集设备性能的影响,导致数据不完整、错误或者重复,影响数据的效用水平。因此,完成AIS 数据格式转换后,需对AIS 数据进行清洗,清洗的主要目的是删除AIS 数据中的不完整数据,并且清除数据中的错误数据,同时对重复的数据进行筛选,只保留一条数据记录。本文针对AIS 数据的清洗需求,本文采用基于偏序集的规则链方法完成AIS 数据清洗,该方法的整体结构如图1 所示。该方法整体分为标准模块、业务模块以及自动模块,将格式转换后的数据作为该方法的输入,结合数据清洗需求按层选择相应规则,以此生成每一层的规则链,最后依据规则链完成数据清洗,并输出清洗后的AIS 数据。

1.2 AIS 轨迹数据库设计

海量的AIS 轨迹数据的存储和调用,是实现该数据快速压缩以及显示的主要基础,如何高效完成所需AIS 数据的提取,并按照时间顺序将其导入DP 算法中进行压缩,是待解决的首要问题。为保证AIS 轨迹数据的快速压缩,采用SQLite 数据库进行AIS 轨迹数据的管理,清洗后数据存储在该数据库中,为该轨迹数据压缩提供支撑。该数据库的管理方案如图2 所示。该数据库以单TRACK 表库结构为主完成构建,并且单表的各条记录中包含MMSI(数据识别码)、经度、纬度以及时间4 个字段。单表的一条记录则对应AIS 设备一次发送的数据,以此实现AIS 轨迹数据的可靠管理,保证AIS 轨迹数据的高效压缩。

图2 AIS 轨迹数据库结构Fig.2 AIS trajectory database structure

AIS 轨迹数据中,主要是依据经度和纬度描述船舶的地理位置,在进行数据压缩前,先对经度和纬度进行转换,形成墨卡托坐标,在此基础上进行转换使其形成屏幕坐标进行显示。在上述转换过程中,依据等角正圆柱投影原理完成,如果船舶在某处的经度和纬度坐标用 (φ,λ)表示,平面坐标用(x,y)表示,将经度和纬度转换至平面坐标的转换公式为:

式中:r0为基准纬度圈半径;a和e分别为地球椭圆球长轴半径和第一偏心率;q表示等量纬度; φ为基准纬度。

依据上述公式即可完成所有AIS 轨迹数据中,船舶位置数据的转换,并存储在数据库中。

1.3 基于DP 算法的AIS 轨迹数据压缩

AIS 轨迹数据压缩的主要目的快速获取AIS 数据中的目标数据,实现船舶航行轨迹的识别监测。DP 算法属于一种曲变形逼近算法,主要是采用以直代曲的理念,保留AIS 航迹中的关键航迹点,舍弃其中的非关键航迹点,以此高效实现船舶AIS 航迹数据压缩。该算法的详细压缩过程如下:

步骤1 船舶轨迹离散点为:P1(x1,y1),P2(x2,y2),...,Pn(xn,yn),A=P1(x1,y1),B=Pn(xn,yn) ,则 连 接A和B后,形成线段AB。

步骤2 在AB的范围内进行寻找,获取该范围内的和AB之 间距离最远的点,用C表示;C和AB之间的距离用d表示。

步骤3 设定AIS 轨迹数据的压缩阈值 η,如果d≤η , 则采用线段AB描述船舶原始航迹曲线,如图3所示;如果d>η ,则定义C为关键点,并对船舶航迹进行划分,使其形成两段曲线,如图4 所示。采用步骤1~步骤3,对两段曲线分别处理。

图3 船舶原始航迹曲线Fig.3 Original ship track curve

图4 划分航迹曲线Fig.4 Divided track curve

步骤4 按照上述步骤完成整个航迹数据处理后,连接航迹曲线AB的上所有关键点,以此获取原始船舶航迹曲线AB的压缩航迹数据。

2 测试结果与分析

为验证本文方法对于船舶AIS 航迹数据压缩的处理效果,以某海洋科技有限公司的船舶AIS 航迹数据为例,进行相关测试。该数据主要以csv 的文件格式进行存储,共包含256 艘船的航迹数据,共计1200条,部分数据详情如表1 所示。

表1 部分船舶AIS 航迹数据详情Tab.1 Details of AIS track data for some ships

为验证本文方法的船舶AIS 航迹数据压缩效果,采用压缩率ζ、数据长度损失率l作为评价指标,计算公式分别为:

式中:No和Ns均为船舶航迹数据点数量,前者对应压缩前,后者对应压缩后;l为船舶航迹总长度;lL为长度损失;lo和ls则表示压缩前和压缩后的船舶轨迹长度;lR为原始船舶航迹数据点数量;pnpn+1为2 个相邻船舶航迹电脑之间的距离。压缩率的期望结果在90.6%以上,数据长度损失率测期望结果在0.15%以下。

依据上述公式计算本文方法在不同航迹数据点数量下,本文方法的ζ 和l结果如表2 所示。可知:采用本文方法对船舶AIS 航迹数据进行压缩后,其压缩率均在90.6%以上,数据长度损失率最大值为0.11%。满足使用需求,可保证AIS 航迹数据的压缩效果。

表2 压缩率结果和数据长度损失率测试结果Tab.2 Compression rate results and data length loss rate test results

为验证本文方法对于船舶AIS 航迹数据的压缩应用性,随机选择一艘船舶的AIS 航迹数据,对该数据进行转换和清洗后,进行该数据压缩,并且获取压缩前后的AIS 轨迹结果,如图5 和图6 所示。可知:船舶AIS 轨迹数据压缩前,原始数据中包含若干个数据点,采用本文方法对数据进行压缩后,共剩余13 个数据点,这些数据点完好保存了船舶转向行为数据点,能够精准描述船舶的操纵情况,不会遗漏船舶航行过程中的关键点,完好保存船舶运动特性。因此,该方法具有较好的应用性,能够在保留AIS 轨迹特征数据的前提下,完成数据压缩,为船舶航行情况管理提供可靠依据。

图5 压缩前船舶的AIS 轨迹Fig.5 AIS trajectory of the ship before compression

图6 压缩后船舶的AIS 轨迹Fig.6 AIS trajectory of compressed ship

3 结 语

船舶航行情况监测、运动模式识别等均是船舶管理的重要部分,在管理过程中,由于AIS 数据量较大,并且数据中存在一定的重复或者损坏数据,导致数据的效用水平较低,直接降低船舶的管理效率。因此,为提升船舶的管理效果,针对海量AIS 船舶航迹数据,提出提升算法下的船舶AIS 航迹数据压缩算法。并对该算法的应用效果进行测试,可知:本文所提方法具有较好的船舶AIS 航迹数据压缩性能,并且压缩后数据能够可靠描述船舶航行过程中操纵情况,为船舶航行管理提供可靠保障。

猜你喜欢

数据格式压缩率纬度
水密封连接器尾部接电缆的优化设计
缠绕垫片产品质量控制研究
在智能交通系统中PLC数据格式转换方法的研究
纬度
多载波通信系统中CQI无损压缩法研究
分布式多视点视频编码在应急通信中的应用
论子函数在C语言数据格式输出中的应用
DWG与SHP数据格式互转换方法研究——以龙岩规划测绘数据为例
基于时空纬度的国内农民工创业研究
常用纬度差异极值符号表达式