CN113868362A - 航路轨迹构建方法、系统、船舶和船舶管理系统 - Google Patents

航路轨迹构建方法、系统、船舶和船舶管理系统 Download PDF

Info

Publication number
CN113868362A
CN113868362A CN202111445130.2A CN202111445130A CN113868362A CN 113868362 A CN113868362 A CN 113868362A CN 202111445130 A CN202111445130 A CN 202111445130A CN 113868362 A CN113868362 A CN 113868362A
Authority
CN
China
Prior art keywords
point
track
line segment
points
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111445130.2A
Other languages
English (en)
Other versions
CN113868362B (zh
Inventor
孔春晖
韩斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elane Inc
Original Assignee
Elane Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elane Inc filed Critical Elane Inc
Priority to CN202111445130.2A priority Critical patent/CN113868362B/zh
Publication of CN113868362A publication Critical patent/CN113868362A/zh
Application granted granted Critical
Publication of CN113868362B publication Critical patent/CN113868362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Remote Sensing (AREA)
  • Navigation (AREA)

Abstract

本发明提供了一种航路轨迹构建方法、系统、船舶和船舶管理系统,涉及海上航路构建领域。航路轨迹构建方法包括:从初始点开始,对按时间顺序排序的历史轨迹点,进行距离和偏转量抽稀处理,以得到抽稀处理后的多个关键点,将任意相邻两个关键点相连以构成多个轨迹线段,对多个轨迹线段进行网格存储,按预设操作方式提取多个轨迹线段中的相似线段并合并,基于合并后的线段构建出航路轨迹。该种航路轨迹构建方法,通过对轨迹点进行距离和偏转量的两次抽稀,使得轨迹关键点数量大大降低,并基于网格化存储处理解决计算不便、且距离较远的线段无需计算相似度的问题,由相似线段获取算法和线段合并算法,可以精确的构建出最终的航路轨迹。

Description

航路轨迹构建方法、系统、船舶和船舶管理系统
技术领域
本发明涉及海上航路构建领域,具体而言,涉及一种航路轨迹构建方法、系统、船舶和船舶管理系统。
背景技术
本发明基于历史一段时间中,船舶在海上往返于各个港口之间的轨迹点经纬度坐标,这些坐标在空间上构成了该船舶历史的航行轨迹。与陆地上的车辆在公路行驶不同,在海上大部分区域没有严格固定的航路,船舶在某些海域行驶时,有一定的自由度可供选择,天气、洋流和水深等环境因素以及一些经济因素,都会导致船舶在同一海域的行驶路线有所区别。船舶的AIS (Automatic identification system自动识别系统)系统会定时传输船的实时轨迹数据,把这些轨迹数据标记在地图中,可以观察到船舶的历史航行信息。直接使用船舶历史轨迹点作为历史航行信息,存在两个较大的问题:一是船舶轨迹点数量过于庞大,即便以分钟为单位控制轨迹点,每年也会产生约60万个轨迹点,这些轨迹点需要大量空间存储,也相应增加了存储时间;二是海量船舶轨迹中存在大量重复位置和异常位置。
因此,如何大幅度减少轨迹点的数量,且基于减少数量后的轨迹点进行合并,成为目前亟待解决的问题。
发明内容
为了解决现有技术中,船舶轨迹点数量过于庞大,且存在大量重复位置和异常位置的问题,本发明的第一方面提出了一种航路轨迹构建方法。
本发明的第二方面还提出了一种航路轨迹构建系统。
本发明的第三方面还提出了一种可读储存介质。
本发明的第四方面还提出了一种船舶。
本发明的第五方面还提出了一种船舶管理系统。
有鉴于此,本发明第一方面提出了一种航路轨迹构建方法,包括:基于历史轨迹点的形成时间,将所有的历史轨迹点从前往后依次进行编号并排序;从初始点开始,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点,其中,抽稀处理后的多个关键点中任意相邻两个关键点之间的距离大于等于预设长度阈值,多个关键点形成的轨迹的偏转量小于预设偏转量阈值;将任意相邻两个关键点相连,以构成多个轨迹线段,对多个轨迹线段进行网格存储,其步骤具体包括:对多个轨迹线段所在区域进行网格划分,并对每个划分后的网格进行键值设定,将轨迹线段的中点所在网格的键值作为该轨迹线段的键值进行存储;选定目标轨迹线段,从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并;基于合并后的线段构建出航路轨迹。
进一步地,从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并的步骤包括:查找任一目标轨迹线段所在的网格,以查找出的网格为中心向周围网格进行扩展,并得到扩展网格群;获取扩展网格群中的所有线段,以形成线段邻居集;在线段邻居集中寻找与目标轨迹线段相似的所有轨迹线段,得到目标轨迹线段的相似线段簇;将相似线段簇中的所有轨迹线段合并成一个线段。也即进行抽稀处理后,大量的历史轨迹点被抽稀成为若干个关键点,每2个相邻的关键点相连就构成一条轨迹线段。
根据本发明提供的航路轨迹构建方法,先把所有历史轨迹点按轨迹点的产生时间进行了先后排序,以形成了一系列的按时间排序的历史轨迹点,为了便于后续计算,对所有的历史轨迹点进行了编号。然后对历史轨迹点进行了距离和偏转量的抽稀处理,从而在大量的历史轨迹点中筛选出具有象征性的关键点,形成连续的轨迹线段。进一步地,在获得了轨迹线段后,对其进行网格存储,根据这些轨迹线段的相似程度进行聚类得到相似线段簇,最后使用线段合并算法再将相似线段簇合并成最终的航路轨迹。同时,根据大量经验数据,经过距离和偏转量的抽稀处理后获得的轨迹线段数量大致可以控制在1000条以内,但用列表存储轨迹线段仍然不便于遍历轨迹线段之间距离的计算,且地理上实际相隔较远的轨迹线段不需要计算相似度,所以对其采用网格存储。具体为:事先给定网格大小,分割经纬度,把地图分割为若干个固定大小的网格并在每个网格的左上角(其他位置也可以)设置一个坐标,作为网格的键值,以线段中点所在网格的键值作为该线段的键值,以此就把所有轨迹线段添加到了网格中。也即通过,网格的坐标(键值)来代替了多个线段的储存。这样在想查找某条线段L周围的相似线段时,首先获取该条线段L的所在网格,并向周围单位网格进行扩展,得到预设长和预设宽的网格(比如3×3的九宫格)中所有的线段,记作该条线段的线段邻居集。通过本发明提供的航路轨迹构建方法,通过对轨迹点进行距离和偏转量的两次抽稀,实现了轨迹点的压缩,使得轨迹关键点数量大大降低,并基于网格化存储处理解决计算不便、且距离较远的线段无需计算相似度的问题,由相似线段获取算法和线段合并算法,可以精确的构建出最终的航路轨迹。同时,基于本申请,能够构建出一条或多条代表船舶航行的海上航路,并尽可能的减少所用到的存储空间,便于海上路径规划时的读取和检索以及轨迹的可视化。
其中,选定目标轨迹线段,从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并的步骤具体包括:按照时间顺序对所有轨迹线段进行排序,将首条线段作为目标轨迹线段,并从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并;对剩下的未参与合并的所有轨迹线段循环执行“按照时间顺序对所有轨迹线段进行排序,将首条线段作为目标轨迹线段,并从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并”操作,直到遍历完所有的轨迹线段。
其中,若某个轨迹线段不存在相似轨迹线段时,在进行下一循环的线段排序时,该线段视作参与了合并,其中,剩下的未参与合并的所有轨迹线段不包括合并后的合并线段。
在上述技术方案中,优选地,判断两个线段是否相似的步骤包括:
计算任意两个线段的相似度值S,判断相似度值S是否大于给定预设相似阈值,在相似度值S小于等于给定预设相似阈值时,判定两个线段为相似线段。其中,计算两个线段的相似度值S的公式如下:
Figure 301113DEST_PATH_IMAGE001
L表示待计算的两个线段中的一个线段,K表示待计算的两个线段中的另一个线段,
Figure 749412DEST_PATH_IMAGE002
表示的是线段K和线段L之间的加权距离,该加权距离由本方案自行定义,是用于描述线段距离的指标,其中,定义公式如下:
Figure 794729DEST_PATH_IMAGE003
在上述公式中,
Figure 455517DEST_PATH_IMAGE004
表示的是线段K和线段L中长度最长的线段的长度,
Figure 784736DEST_PATH_IMAGE005
表示的是线段K与线段L之间的加权距离,
Figure 138357DEST_PATH_IMAGE006
表示的是线段K和线段L之间的垂直距离,
Figure 670970DEST_PATH_IMAGE007
表示的是线段K和线段L之间的平行距离,
Figure 135449DEST_PATH_IMAGE008
表示的是线段K和线段L之间的角度距离。
Figure 69907DEST_PATH_IMAGE009
均为线段距离权重系数,其值分别为大于等于0的常数;其中:
Figure 328850DEST_PATH_IMAGE010
线段L和线段K中的短线段的两个端点在长线段上的两个投影点记为第一投影点和第二投影点,在所述长线段上依次形成第一端点、第一投影点、第二投影点和第二端点,第一端点到第一投影点的距离为l ||1,第二投影点到第二端点的距离为l ||2,短线段的两个端点到长线段的垂直距离分别为l ⊥1l ⊥2,min(|L|,|K|)表示的是线段L和线段K中长度最短的线段的长度,min(l ||1l ||2)表示的是l ||1l ||2之间的最小值,θ表示的是线段L和线段K之间的夹角。该公式综合了线段的夹角、端点距离和平行距离,本方案选取此公式用于线段距离计算,以及线段相似度匹配。如果两条线段之间的加权距离与两条线段中最长线段的长度之间的比值小于等于给定阈值thres_L,则可以认为两条线段是相似的。假设目标线段为L,那么其线段邻居集为Neighbourhood(L),在线段邻居集中的某条线段记为K,如果满足:
Figure 348759DEST_PATH_IMAGE011
则把线段K记为线段L的相似线段,式中
Figure 367661DEST_PATH_IMAGE012
为预设相似阈值,遍历线段邻居集中的所有线段,获得线段L的相似线段簇Similar(L)。
进一步地,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:将初始点记为关键点,并标记为当前关键点,然后循环执行基于距离确定关键点的步骤,直到最后一个历史轨迹点,其中,基于距离确定关键点步骤包括:
筛点步骤:计算当前关键点到与当前关键点邻近的下一个历史轨迹点的距离Q,在距离Q小于预设长度阈值时,去除掉与当前关键点邻近的下一个历史轨迹点,然后对剩下的历史轨迹点依次进行重新编号;
重复筛点步骤,直到距离Q大于等于预设长度阈值,将满足距离Q大于等于预设长度阈值所对应的下一个历史轨迹点记为关键点,同时将其标记为新的当前关键点。
在该方案中,预设了一个长度阈值(实际可取1海里为预设长度阈值),从初始点P0开始,计算到下一个历史轨迹点P1的距离,若距离大于等于预设长度阈值,则将P1记作关键点,省略P0到P1的其他历史轨迹点(小于预设长度阈值)。同时,P1也作为新的当前关键点,继续计算到下一个历史轨迹点P2的距离,直至遍历完所有历史轨迹点。按照上述方案进行距离抽稀后,剩余轨迹点之间的间距至少大于等于预设长度阈值。
更进一步地,基于距离确定关键点步骤还包括:在距离Q大于等于预设长度阈值并超过第一极限长度阈值时,将所对应的历史轨迹点标记为飞点,将与标记为飞点的历史轨迹点相邻的下一个历史轨迹点记为关键点同时标记为当前关键点。
其中,对所有历史轨迹点进行抽稀处理时,先基于历史轨迹点的形成时间,将所有的历史轨迹点从前往后依次进行编号并排序,其中,排序后的历史轨迹点包括从P0到Pm的m+1个历史轨迹点。其后续算法如下:
Step1:令i=0,以将P0标记为当前的关键点。
Step2:计算
Figure 156626DEST_PATH_IMAGE013
Step3:如果
Figure 117628DEST_PATH_IMAGE014
Figure 624833DEST_PATH_IMAGE015
(Pop的含义表示移除点
Figure 165536DEST_PATH_IMAGE016
,且之后所有的点列下标向前递补,即原本的
Figure 604081DEST_PATH_IMAGE017
变为新的
Figure 204827DEST_PATH_IMAGE016
),返回Step2,直到
Figure 199328DEST_PATH_IMAGE018
,进入Step4。
Step4:将满足
Figure 543721DEST_PATH_IMAGE018
的对应的
Figure 307278DEST_PATH_IMAGE016
(也即X点)记为一个关键点,然后令i=i+1,返回Step2,直至遍历完所有历史轨迹点。
特别地,在Step3中,当
Figure 610083DEST_PATH_IMAGE019
大于20海里时,则对应的点可以认定为飞点,令i=i+2,即跳过点
Figure 826301DEST_PATH_IMAGE016
上述中,
Figure 725118DEST_PATH_IMAGE014
Figure 343181DEST_PATH_IMAGE018
中的“1”单位均为1海里,
Figure 551309DEST_PATH_IMAGE013
为点
Figure 254823DEST_PATH_IMAGE020
到点
Figure 206598DEST_PATH_IMAGE016
的距离。
在上述技术方案中,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:将初始点记为关键点,并标记为当前关键点,然后循环执行基于偏转量确定关键点的步骤,直到最后一个历史轨迹点,其中,基于偏转量确定关键点的步骤包括:
去点步骤:从当前关键点开始向后依次计算当前关键点与各个历史轨迹点之间的偏转量,当找到一个历史轨迹点与当前关键点的偏转量η大于预设偏转量阈值时,则将与找到的历史轨迹点相邻的上一个历史轨迹点与当前关键点之间的其他历史轨迹点去除,同时,将上一个历史轨迹点记为关键点并标记为新的当前关键点。
其中:
Figure 944747DEST_PATH_IMAGE020
表示当前关键点,
Figure 323776DEST_PATH_IMAGE021
表示位于
Figure 763853DEST_PATH_IMAGE020
之后的一个历史轨迹点,则点
Figure 253740DEST_PATH_IMAGE020
和点
Figure 580816DEST_PATH_IMAGE021
的偏转量
Figure 130746DEST_PATH_IMAGE022
满足以下关系式:
Figure 74432DEST_PATH_IMAGE023
Figure 368010DEST_PATH_IMAGE024
其中,i、j、k和k+1表示点的序号,Pk和Pk+1表示位于点P i 和点P j 之间的两个相邻点,i大于等于0小于等于m-1,m表示最后一个历史轨迹点的序号,j大于等于1且小于等于m,k大于等于i且小于等于j-1,dis(P i ,P j )表示的点P i 和点P j 之间的距离,distot(P i ,P j )表示从点P i 和点P j 中,任意相邻两个点形成的各个线段的距离总和。i、j、k均为整数。
进一步地,基于偏转量确定关键点的步骤还包括:在计算当前关键点与任一历史轨迹点之间的偏转量之前,计算当前关键点与历史轨迹点之间的距离,在检测出历史轨迹点距离当前关键点的距离大于第二极限长度阈值时,直接将对应的历史轨迹点作为关键点并标记为新的当前关键点。
对于偏转量的抽稀过程,如果发现偏转量大的点,说明该历史轨迹点偏离了初始点或初始点的方向,因此,将该历史轨迹点的前一个偏转量小于预设偏转量阈值的历史轨迹点作为关键点,省略初始点至关键点中的其他历史轨迹点。这样,在偏转量小于预设偏转量阈值和距离也小于第二极限长度阈值两个条件的限定下,使得得到的关键点具有几乎保持在一条线上,关键点列更加稳定。
在上述任一技术方案中,将相似线段簇中的所有轨迹线段合并成一个线段的步骤:确定合并线段的方向;确定合并线段的重心G;确定合并线段的长度;其中,将所有待合并的线段依次进行编号,合并线段的重心G满足以下公式:
Figure 815172DEST_PATH_IMAGE025
其中,M i 表示线段l i 的中点坐标,w i 为线段l i 的长度,线段l i 表示所有轨迹线段中的第i个线段,i为从1到n的整数,n为待合并的线段的个数,l n 表示所有轨迹线段中的最后一条线段,l 1 表示所有轨迹线段中的首条线段。其中,M i =(x i y i ),x i 表示的是第i个线段的中点坐标的横坐标,y i 表示的是第i个线段的中点坐标的纵坐标。G x 和G y 表示的是重心G的横坐标和纵坐标。上述公式中,对中点坐标M i 求和时,其分子表示的是:将所有线段的中点坐标对应的横坐标x i 分别乘以权重值后求和,求出的和除以分母的值就得出重心G的横坐标G x 。纵坐标G y 也是通过同样的方式计算出的。
本发明的第二方面的技术方案提供了一种航路轨迹构建系统,包括:处理器;存储器,用于储存程序或指令;其中,处理器用于执行存储器中储存的程序或指令时实现如上述任一技术方案方法的步骤。
根据本发明提供的航路轨迹构建系统,由于其中包含的处理器可以实现如上述任一技术方案方法的步骤,因而本发明第二方面提供的航路轨迹构建系统具备该航路轨迹构建方法的全部技术效果,在此不再赘述。
本发明第三方面的技术方案提供了一种可读储存介质,其上储存有程序或指令,程序或指令被处理器执行时实现上述任一方法中的步骤。
本发明的第四方面的技术方案提供了一种船舶,船舶包括如本发明第二方面任一项技术方案提供的航路轨迹构建系统或本发明第三方面任一项技术方案提供的可读储存介质。
本发明的第五方面的技术方案提供了一种船舶管理系统,船舶管理系统包括如本发明第二方面任一项技术方案提供的航路轨迹构建系统或本发明第三方面任一项技术方案提供的可读储存介质。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的一个实施例提供的航路轨迹构建方法的流程示意图;
图2为图1中S106的具体流程示意图;
图3为本发明按距离对历史轨迹点进行抽稀的流程示意图;
图4为本发明按距离进行抽稀的结果示意图;
图5a至图5c为本发明按偏转量对历史轨迹点进行抽稀的示意图;
图6为本发明按偏转量进行抽稀的具体流程示意图;
图7为对轨迹线段进行网格存储的示意图;
图8为目标轨迹线段的“邻居集”示意图;
图9为轨迹线段合并示意图;
图10为轨迹线段的一合并示例;
图11为轨迹线段的另一合并示例;
图12为轨迹线段的又一合并示例;
图13示出了本发明的实施例提供的航路轨迹构建系统的结构方框图;
图14示出了本发明的线段距离定义方式的示意图。
其中,图13中附图标记与名称之间的对应关系为:
110航路轨迹构建系统,112存储器,114处理器。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图14来描述本申请提供的航路轨迹构建方法、航路轨迹构建系统。
本发明第一方面提出了一种航路轨迹构建方法,该方法如图1所示,包括如下步骤:S102,基于历史轨迹点的形成时间,将所有的历史轨迹点从前往后依次进行编号并排序;S104,从初始点开始,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点,其中,抽稀处理后的多个关键点中任意相邻两个关键点之间的距离大于等于预设长度阈值,多个关键点形成的轨迹的偏转量小于预设偏转量阈值;S106,将任意相邻两个关键点相连,以构成多个轨迹线段,对多个轨迹线段进行网格存储;S108,选定目标轨迹线段,从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并;S110,基于合并后剩下的线段或选定出的线段构建出航路轨迹。
其中,如图2所示,S106具体包括:S1062,对多个轨迹线段所在区域进行网格划分;S1064,对每个划分后的网格进行键值设定;S1066,将轨迹线段的中点所在网格的键值作为该轨迹线段的键值进行存储。
其中,图7示出了一个九宫格的网格划分,线段储存在网格后的效果如图7所示。其中,图7中,表格中的(0,0)、(0,1)、(1,0)、(2,0)等表示对应网格的键值。
进一步地,从当前所有的轨迹线段中提取出与目标轨迹线段相似的所有相似线段并进行合并的步骤包括如下步骤:
如图8所示,查找任一目标轨迹线段L目标所在的网格,以查找出的网格为中心向周围网格进行扩展,并得到扩展网格群;获取扩展网格群中的所有线段,以形成线段邻居集(图8中的偏白色的线段部分,图8中除目标线段和线段邻居集之外,其他的线段表示与目标轨迹线段不相邻的线段);在线段邻居集中寻找与目标轨迹线段相似的所有轨迹线段,得到目标轨迹线段的相似线段簇(如图9中的线段);将相似线段簇中的所有轨迹线段合并成一个线段(如图9至图12所示)。也即进行抽稀处理后,大量的历史轨迹点被抽稀成为若干个关键点,每2个相邻的关键点相连就构成一条轨迹线段。根据经验,经抽稀处理后的轨迹线段数量大致可以控制在1000条以内,这些轨迹线段,后续还进行了网格存储,相似线段查找,和相似线段合并三个步骤,才能构建成最终的航路轨迹。在相似线段簇中,确定航路轨迹的方向、重心与长度,对相似线段簇进行合并。
根据本发明提供的航路轨迹构建方法,先把所有历史轨迹点按轨迹点的产生时间进行了先后排序,以形成了一系列的按时间排序的历史轨迹点,为了便于后续计算,对所有的历史轨迹点进行了编号(从P0到Pm)。然后对历史轨迹点进行了距离和偏转量的抽稀处理,从而在大量的历史轨迹点中筛选出具有象征性的关键点,形成连续的轨迹线段。在获得了轨迹线段后,对其进行网格存储,根据这些轨迹线段的相似程度进行聚类得到相似线段簇,最后使用线段合并算法再将相似线段簇合并成最终的航路轨迹。同时,根据大量经验数据,经过距离和偏转量的抽稀处理后获得的轨迹线段数量大致可以控制在1000条以内,但用列表存储轨迹线段仍然不便于遍历轨迹线段之间距离的计算,且地理上实际相隔较远的轨迹线段不需要计算相似度,所以对其采用网格存储。具体为:事先给定网格大小,分割经纬度,把地图分割为若干个固定大小的网格并在每个网格的左上角(其他位置也可以)设置一个坐标,作为网格的键值,以线段中点所在网格的键值作为该线段的键值,以此就把所有轨迹线段添加到了网格中。也即通过,网格的坐标(键值)来代替了多个线段的储存。这样在想查找某条线段L周围的相似线段时,首先获取该条线段L的所在网格,并向周围单位网格进行扩展,得到预设长和预设宽的网格(比如3×3的九宫格)中所有的线段,记作该条线段的线段邻居集(如图8所示)。通过本发明提供的航路轨迹构建方法,通过对轨迹点进行距离和偏转量的两次抽稀,实现了轨迹点的压缩,使得轨迹关键点数量大大降低,并基于网格化存储处理解决计算不便、且距离较远的线段无需计算相似度的问题,由相似线段获取算法和线段合并算法,可以精确的构建出最终的航路轨迹。同时,基于本申请,能够构建出一条或多条代表船舶航行的海上航路,并尽可能的减少所用到的存储空间,便于海上路径规划时的读取和检索以及轨迹的可视化。
在上述实施例中,优选地,判断两个线段是否相似的步骤包括:
计算任意两个线段的相似度值S,判断相似度值S是否大于给定预设相似阈值,在相似度值S小于等于给定预设相似阈值时,判定两个线段为相似线段。其中,计算两个线段的相似度值S的公式如下:
Figure 21156DEST_PATH_IMAGE001
L表示待计算的两个线段中的一个线段,K表示待计算的两个线段中的另一个线段,
Figure 186558DEST_PATH_IMAGE002
表示的是线段K和线段L之间的加权距离,其中:
Figure 18248DEST_PATH_IMAGE026
在上述公式中,max(|L|,|K|)表示的是线段K和线段L中长度最长的线段的长度,dist(L,K)表示的是线段K与线段L之间的加权距离,d(L,K)表示的是线段K和线段L之间的垂直距离,d||(L,K)表示的是线段K和线段L之间的平行距离,dθ(L,K)表示的是线段K和线段L之间的角度距离。
在该实施例中,对如何在目标线段的线段邻居集中寻找其相似线段簇的具体步骤进行了限定,寻找目标线段的相似线段,采取如下方法:
假设两条线段分别为,L=(s i ,e i ),K=(s j , e j )。其中,si、ei表示的线段L的起点和终点,sj、ej表示的线段K的起点和终点。不失一般性,可以假设|L|≥|K|。线段距离定义方式如图14所示,并有最终线段距离公式:
Figure 851075DEST_PATH_IMAGE026
max(|L|,|K|)表示的是线段K和线段L中长度最长的线段的长度,dist(L,K)表示的是线段K与线段L之间的加权距离,d (L,K)表示的是线段K和线段L之间的垂直距离,d||(L,K)表示的是线段K和线段L之间的平行距离,dθ(L,K)表示的是线段K和线段L之间的角度距离。w,w||,wθ均为线段距离权重系数,其值分别为大于等于0的常数。参数w,w||,wθ按经验通常均设为1。其中:
Figure 477228DEST_PATH_IMAGE010
在该实施例中,如图14所示,线段L和线段K中的长线段记为线段Vi,线段L和线段K中的端线段记为线段Vj,线段Vi的起点和终点分别为s i 、e i ,线段Vj的起点和终点分别为s j 、e j l ⊥1表示的是点s j 到线段Vi的垂直距离,l ⊥2表示的是点e j 到线段Vi的垂直距离,点s j 在线段Vi上的投影点为p S l ||1表示的是点s i 与点p S 之间的距离,点e j 在线段Vi上的投影点为p e l ||2表示的是点e i 与点p e 之间的距离,min(|L|,|K| )表示的是线段L和线段K中长度最短的线段的长度,也即线段Vj的长度。min(l ||1l ||2)表示的是l ||1和 l ||2之间的最小值,θ表示的是线段Vi和线段Vj之间的夹角。该公式综合了线段的夹角、端点距离和平行距离,本方案选取此公式用于线段距离计算,以及线段相似度匹配。如果两条线段之间的加权距离与两条线段中最长线段的长度之间的比值小于等于给定阈值thres_L,则可以认为两条线段是相似的。假设目标线段为L,那么其线段邻居集为Neighbourhood(L),在线段邻居集中的某条线段记为K,如果满足:
Figure 129927DEST_PATH_IMAGE027
则把线段K记为线段L的相似线段,式中thres_L为预设相似阈值,遍历线段邻居集中的所有线段,获得线段L的相似线段簇Similar(L)。
进一步地,如图3所示,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:
将初始点记为关键点,并标记为当前关键点,然后循环执行基于距离确定关键点的步骤,直到最后一个历史轨迹点,其中,基于距离确定关键点步骤包括:筛点步骤:计算当前关键点到与当前关键点邻近的下一个历史轨迹点的距离Q,在距离Q小于预设长度阈值时,去除掉与当前关键点邻近的下一个历史轨迹点,然后对剩下的历史轨迹点依次进行重新编号;重复筛点步骤,直到距离Q大于等于预设长度阈值,将满足距离Q大于等于预设长度阈值所对应的下一个历史轨迹点记为关键点,同时将其标记为新的当前关键点。
在该实施例中,基于距离和/或偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤,具体包括:对历史轨迹点进行长度遍历处理,长度遍历处理包括:从初始点开始,将初始点标记为最初的当前关键点,然后开始计算到下一历史轨迹点的距离Q;若距离Q小于预设长度阈值时,当前关键点保持不变,计算到下一个历史轨迹点的距离Q;若距离Q大于等于预设长度阈值时,将该历史轨迹点记作关键点,并将该历史轨迹点作为最新的当前关键点,重复长度遍历处理,直至按时间遍历完所有历史轨迹点。该种设置,预设了一个长度阈值(实际可取1海里为预设长度阈值),从初始点P0开始,计算到下一个历史轨迹点P1的距离,若距离大于等于预设长度阈值,则将P1记作关键点,省略P0到P1的其他历史轨迹点(小于预设长度阈值)。同时,P1也作为新的当前关键点,继续计算到下一个历史轨迹点P2的距离,直至遍历完所有历史轨迹点。按照上述方案进行距离抽稀后,剩余轨迹点之间的间距至少大于等于预设长度阈值。更进一步地,基于距离确定关键点步骤还包括:在距离Q大于等于预设长度阈值并超过第一极限长度阈值时,将所对应的历史轨迹点标记为飞点,将与标记为飞点的历史轨迹点相邻的下一个历史轨迹点记为关键点同时标记为当前关键点。
在该实施例中,若距离Q大于等于预设长度阈值时,将该历史轨迹点记作关键点,同时,当距离Q大于等于预设长度阈值,且距离Q小于第一极限长度阈值时,将该历史轨迹点记作关键点。若距离Q大于第一极限长度阈值,则将该历史轨迹点记作飞点(注意,飞点不是关键点),当前关键点保持不变,计算到下一个历史轨迹点的距离。该种设置,对一种特殊情况做了限定,由于抽稀过程是按时间顺序遍历,也即会先寻找与初始点的历史轨迹时间最相近的下一个历史轨迹点,当某一初始点到下一历史轨迹点的距离满足了距离Q大于等于预设长度阈值的条件,但又大于第一极限长度阈值时(结合实际情况,可取20海里为第一极限长度阈值),此时表明,当前关键点到下一个点的距离虽然满足预设长度,但间距过于巨大会对航路的构建造成影响,因此限定除了距离需要大于等于预设长度阈值,还需要小于等于第一极限长度阈值(也即某一当前关键点到下一历史轨迹点的距离需要在1海里至20海里之间)。同时,对距离超过20海里的点记作飞点。以此可以完成去噪声操作(也即去除意外点的干扰操作)。然后继续遍历下一个历史轨迹点。如图4所示,图4中偏离主要轨迹的点P即为飞点。
其中,对所有历史轨迹点进行抽稀处理时,先基于历史轨迹点的形成时间,将所有的历史轨迹点从前往后依次进行编号并排序,其中,排序后的历史轨迹点包括从P0到Pm的m+1个历史轨迹点。
如图3所示,其后续算法包括以下步骤:
S302,令i=0,以将P0标记为当前关键点。
S304,计算
Figure 765307DEST_PATH_IMAGE013
S306,判断
Figure 173679DEST_PATH_IMAGE013
是否小于1,若小于,则转S308,若大于等于则转S310;
S308,
Figure 236313DEST_PATH_IMAGE015
(Pop的含义表示移除点
Figure 110728DEST_PATH_IMAGE016
,且之后所有的点列下标向前递补,即原本的
Figure 815379DEST_PATH_IMAGE017
变为新的
Figure 91640DEST_PATH_IMAGE016
),返回S304,直到
Figure 325175DEST_PATH_IMAGE018
,进入S310。
S310,令i=i+1,将Pi记为一个关键点并标记为新的当前关键点,然后,转S312。
S312,判断是否遍历完所有历史轨迹点。若是,结束,若否,转S304。
特别地,在S306中,当
Figure 686886DEST_PATH_IMAGE013
大于20海里时,则对应点轨迹点可以认定为飞点,令i=i+2,即跳过点
Figure 414802DEST_PATH_IMAGE016
上述中,
Figure 545569DEST_PATH_IMAGE014
Figure 215585DEST_PATH_IMAGE018
中的“1”单位均为1海里,
Figure 64592DEST_PATH_IMAGE013
为点
Figure 579887DEST_PATH_IMAGE020
到点
Figure 830740DEST_PATH_IMAGE016
的距离。
其中,图4为本申请按距离抽稀的示意图,图4中深黑色的点为保留的关键点P,而浅黑色为去除点,即非关键点。
在上述实施例中,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:将初始点记为关键点,并标记为当前关键点,然后循环执行基于偏转量确定关键点的步骤,直到最后一个历史轨迹点,其中,基于偏转量确定关键点的步骤包括:
去点步骤:从当前关键点开始向后依次计算当前关键点与各个历史轨迹点之间的偏转量,当找到一个历史轨迹点与当前关键点的偏转量η大于预设偏转量阈值时,则将与找到的历史轨迹点相邻的上一个历史轨迹点与当前关键点之间的其他历史轨迹点去除,同时,将上一个历史轨迹点记为关键点并标记为新的当前关键点。
其中:P i 表示当前关键点,P j 表示位于P i 之后的一个历史轨迹点,则点P i 和点P j 的偏转量
Figure 406078DEST_PATH_IMAGE022
满足以下关系式:
Figure 257228DEST_PATH_IMAGE023
Figure 576214DEST_PATH_IMAGE024
其中,i、j、k和k+1表示点的序号,Pk和Pk+1表示位于点P i 和点P j 之间的两个相邻点,i大于等于0小于等于m-1,m表示最后一个历史轨迹点的序号,j大于等于1且小于等于m,k大于等于i且小于等于j-1。对于一按序号排列的轨迹点来说,dis(P i ,P j )表示的点P i 和点P j 之间的距离(即这一列点的首尾距离),distot(P i ,P j )表示从点P i 和点P j 中,任意相邻两个点形成的各个线段的距离总和。
其中,依次按序排列的多个点中的任意两个点均可通过上述公式计算出这两个点的偏转量。
以图5b为例,P1和P6这两个点之间的距离减去P1、P2至P6这个轨迹的各段距离得出差值,然后以差值的绝对值除以P1、P2至P6这个轨迹的各段距离即为
Figure 681573DEST_PATH_IMAGE028
的偏转量。P1和P7这两个点之间的距离减去P1、P2至P7这个轨迹的各段距离得出差值,然后以差值的绝对值除以P1、P2至P7这个轨迹的各段距离即为
Figure 427812DEST_PATH_IMAGE029
的偏转量。
进一步地,图5a中,按照偏转量抽稀处理时,先选取P1为关键点,然后计算P1P2和P1P3的偏转量小于等于预设偏转量阈值,因此,P2和P3没有被选取为关键点。而P1P4的偏转量大于预设偏转量阈值,因此,P4被选取为关键点,并作为当前关键点,进行后续轨迹点的抽稀。而P4P5的偏转量小于等于预设偏转量阈值,因此,P5没有被选取为关键点。其中,图5a为正常的按照偏转量进行抽稀的过程。
进一步地,基于偏转量确定关键点的步骤还包括:在计算当前关键点与任一历史轨迹点之间的偏转量之前,计算当前关键点与历史轨迹点之间的距离,在检测出历史轨迹点距离当前关键点的距离大于第二极限长度阈值时,直接将对应的历史轨迹点作为关键点并标记为新的当前关键点。
在该实施例中,基于距离和/或偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤,还包括:对历史轨迹点进行偏转量遍历处理,偏转量遍历处理包括:将初始点标记为首个当前关键点,计算首个当前关键点(初始点)到下一历史轨迹点的偏转量η;若η小于预设偏转量阈值,且初始点到该历史轨迹点的距离小于第二极限长度阈值时,当前关键点保持不变,计算到下下一个历史轨迹点的偏移量η;若η大于等于预设偏转量阈值,将该历史轨迹点的前一个历史轨迹点记作最新的当前关键点,并省略从初始点到最新的当前关键点中间的其他点,然后重复偏转量遍历处理,直至按时间遍历完所有历史轨迹点;若初始点到历史轨迹点的距离大于等于第二极限长度阈值时,直接将该历史轨迹点记作检查关键点,并省略从初始点到该关键点中间的其他点,将该关键点作为新的初始点,重复偏转量遍历处理,直至遍历完所有历史轨迹点。该种设置,预设一个偏转量阈值,从初始点P0开始,计算到下一个历史轨迹点P1的偏转量,若偏转量小于预设偏转量阈值,且初始点P0到下一个历史轨迹点P1的距离也没有超过第二极限长度阈值时,当前关键点保持不点,持续向后遍历。如果P0到Pm的偏转量大于预设偏转量阈值,则将Pm-1(Pm的前一个符合偏转量要求的点)作为关键点,同时Pm-1也作为新的当前关键点继续向后遍历。如果P0到Pm的距离大于第二极限长度阈值,则将Pm作为一个检查关键点,同时也作为新的初始点,继续向后遍历。
在基于偏转量抽稀关键点时,同样存在一个特殊的情况,当轨迹点列遍历长度过长时,由于长度的累积效应,此时对点列的偏转不敏感。所以,设置了第二极限长度阈值,当初始点P0到下一个历史轨迹点Pm的距离超过第二极限长度阈值时,应当把Pm作为一个检查关键点保留,用于维护航线关键点列的稳定性。
进一步地,考虑到按照偏转量抽稀的距离过长时,由于偏转量公式中分母的值较大,因而,也会使任意两个点的偏转量η较小。比如,对于如图5b所示的系列点而言,P6点按照正常偏转量抽稀计算,P1P6的偏转量η小于预设偏转量阈值,P1P7的偏转量η大于预设偏转量阈值,此时,会将P1、P6设置为关键点。而其余点被设置为非关键点。
但鉴于,
Figure 251411DEST_PATH_IMAGE030
大于等于
Figure 374088DEST_PATH_IMAGE031
,因此,会如图5c所示,直接将P1和P2均标记为关键点,然后以P2作为最新的当前关键点进行后续偏转量的遍历,然后会找出P5为关键点,而P6和P7会被标记为非关键点。
对于偏转量的抽稀过程,如果发现偏转量大的点,说明该历史轨迹点偏离了初始点或初始点的方向,因此,将该历史轨迹点的前一个偏转量小于预设偏转量阈值的历史轨迹点作为关键点,省略初始点至关键点中的其他历史轨迹点。这样,在偏转量小于预设偏转量阈值和距离也小于第二极限长度阈值两个条件的限定下,使得得到的关键点具有几乎保持在一条线上,关键点列更加稳定。
在申请中,对于一列轨迹点
Figure 84686DEST_PATH_IMAGE032
,由点
Figure 1827DEST_PATH_IMAGE020
到点
Figure 312723DEST_PATH_IMAGE021
的距离为:
Figure 973511DEST_PATH_IMAGE033
从点
Figure 787883DEST_PATH_IMAGE020
Figure 407083DEST_PATH_IMAGE021
中,各个线段的总和为:
Figure 939696DEST_PATH_IMAGE024
而在本申请中,从点
Figure 656373DEST_PATH_IMAGE020
到点
Figure 325251DEST_PATH_IMAGE021
的偏转量
Figure 115353DEST_PATH_IMAGE022
做出如下定义:
Figure 135261DEST_PATH_IMAGE023
其中,如图6所示,基于偏转量进行抽稀处理的过程如下:
S602,令i=0,j=1,给定
Figure 137852DEST_PATH_IMAGE034
Figure 926817DEST_PATH_IMAGE031
,取
Figure 622240DEST_PATH_IMAGE035
为初始关键点。(
Figure 614598DEST_PATH_IMAGE034
为预设偏转量阈值,
Figure 420880DEST_PATH_IMAGE031
为第二极限长度阈值)。
S604,计算
Figure 595510DEST_PATH_IMAGE022
S606,判断
Figure 196255DEST_PATH_IMAGE022
Figure 190756DEST_PATH_IMAGE034
,若是,转S608,若否转S610。
S608,判断
Figure 535150DEST_PATH_IMAGE036
,若是,转S614,若否,转S612。
S610,取
Figure 344712DEST_PATH_IMAGE037
作为一个关键点,令i=j-1,j=i+1。然后转S616。
S612,令j=j+1。然后转S616。
S614,把
Figure 381938DEST_PATH_IMAGE021
作为一个关键点,令i=j,j=i+1。然后转S616。
S616,判断是否遍历完所有点,若是,则完成偏转量抽稀。反之,转步骤S604。
在上述任一实施例中,将相似线段簇中的所有轨迹线段合并成一个线段的步骤:确定合并线段的方向;确定合并线段的重心
Figure 863735DEST_PATH_IMAGE038
;确定合并线段的长度;其中,将所有待合并的线段依次进行编号,合并线段的重心
Figure 11819DEST_PATH_IMAGE038
满足以下公式:
Figure 629883DEST_PATH_IMAGE025
其中,M i 表示线段l i 的中点坐标,w i 为线段l i 的长度,线段l i 表示所有轨迹线段中的第i个线段,i为从1到n的整数,n为待合并的线段的个数,l n 表示所有轨迹线段中的最后一条线段,l 1 表示所有轨迹线段中的首条线段。其中,M i =(x i y i ),x i 表示的是第i个线段的中点坐标的横坐标,y i 表示的是第i个线段的中点坐标的纵坐标。G x 和G y 表示的是重心G的横坐标和纵坐标。上述公式中,对中点坐标M i 求和时,其分子表示的是:将所有线段的中点坐标对应的横坐标x i 分别乘以权重值后求和,求出的和除以分母的值就得出重心G的横坐标G x 。纵坐标G y 也是通过同样的方式计算出的。
在该些实施例中,在线段邻居集中寻找与目标轨迹线段相似的所有轨迹线段,得到目标轨迹线段的相似线段簇的步骤,具体包括:遍历线段邻居集中的所有线段,如果目标轨迹线段与某条线段的距离与长线的比值小于预设相似阈值,则判定该条线段为目标轨迹线段的相似线段;获取该目标轨迹线段的所有相似线段,记作目标轨迹线段的相似线段簇。
其中,确定航路轨迹的方向、重心与长度,对相似线段簇进行合并的步骤,具体包括:若得到的相似线段簇是向量形式,则可以简单的将相似线段簇中各线段进行向量相加,得到最终航路轨迹历史轨迹的方向;若得到的相似线段簇不是向量形式,先选取一个指定方向为正方向,调整线段簇中的线段,使其方向与正方向的夹角小于180°,然后将相似线段簇中各线段进行向量相加,得到航路轨迹的方向;确定航路轨迹的重心和长度;根据航路轨迹的方向、重心和长度,得到最终航路轨迹。
在该实施例中,在获得相似线段簇后,需要对相似线段簇中的线段进行合并,合并时,需要确定三个问题:方向、重心、长度。其具体过程可如图9所示。由图9可知,图9中最左侧图(左1)中的4个线方向不统一,因此,先进行了调整线段同向的操作,调整后的效果如图9中左2所示。然后进行了确定方向和重心的操作。合并线段的重心如图9中左3中的五角星表示,方向如图9中左3中的最长的线段所指示的方向。合并线段的长度为各个线段在图9中左4中虚线所表示的方向上的投影的最大值至最小值之间的长度,也即图9左中最上值和最下值之间的部分。合并后的线段,如图9中左4过五角星的线段所示。
关于如何确定最终航路轨迹的方向,如果获得的相似线段簇Similar(L)是一组向量簇,即每条线段都有方向(可按照始末两个历史轨迹点的航行时间判断),则按照“合向量”处理即可。即:
Figure 854322DEST_PATH_IMAGE039
式中
Figure 557835DEST_PATH_IMAGE040
为最终航路轨迹的方向,
Figure 244032DEST_PATH_IMAGE041
Figure 982181DEST_PATH_IMAGE042
为相似线段的方向向量。
若没有给定方向,则对于每条线段,都有方向相同或方向相反两种可能,在这种情况下,先选取一个指定方向
Figure 95630DEST_PATH_IMAGE043
,对于相似线段i=1,2,…,n,若
Figure 286440DEST_PATH_IMAGE044
,则把
Figure 294104DEST_PATH_IMAGE045
取反向,即
Figure 886759DEST_PATH_IMAGE046
。为方便起见,可选取L中最长线段L0,然后根据以上原则调整相似线段簇中的所有线段向量,使所有的向量都与L0的夹角小于180°,然后把所有线段向量相加得到最终航路轨迹的方向。
关于如何确定最终航路轨迹的重心,因为最终航路轨迹是一条通过相似线段簇重心的线段,线段簇重心的确定方式如下:设线段的中点坐标为
Figure 436689DEST_PATH_IMAGE047
,线段长为
Figure 114795DEST_PATH_IMAGE048
,则重心
Figure 408373DEST_PATH_IMAGE049
的坐标为各个线段中点的加权平均值:
Figure 855535DEST_PATH_IMAGE050
过重心
Figure 576366DEST_PATH_IMAGE038
,且方向给定为
Figure 492501DEST_PATH_IMAGE040
的直线是唯一确定的,关于如何确定最终航路轨迹的长度,采用如下方法:
Figure 324191DEST_PATH_IMAGE040
的方向为横轴旋转坐标系,假设旋转的角度为
Figure 625859DEST_PATH_IMAGE051
,则有旋转公式:
Figure 517592DEST_PATH_IMAGE052
对重心
Figure 435869DEST_PATH_IMAGE038
做旋转变换,则有旋转后的坐标
Figure 805670DEST_PATH_IMAGE053
,由于最终航路轨迹是一条穿过点
Figure 227425DEST_PATH_IMAGE038
且与
Figure 539326DEST_PATH_IMAGE040
平行的直线,因此对于最终航路轨迹上的任意一点,经旋转后,应该与
Figure 413741DEST_PATH_IMAGE054
有相同的纵坐标。对相似线段簇中的
Figure 852813DEST_PATH_IMAGE055
个端点做旋转变换,则旋转后的
Figure 129073DEST_PATH_IMAGE056
坐标的两个最值
Figure 362609DEST_PATH_IMAGE057
Figure 989899DEST_PATH_IMAGE058
就是
Figure 701503DEST_PATH_IMAGE059
Figure 114161DEST_PATH_IMAGE040
方向上的最大差距。于是
Figure 518597DEST_PATH_IMAGE057
Figure 367605DEST_PATH_IMAGE058
就是线段变换后两个端点的横坐标。设
Figure 148479DEST_PATH_IMAGE060
Figure 399332DEST_PATH_IMAGE061
为线段变换后的两个端点,对
Figure 974670DEST_PATH_IMAGE062
分别进行反旋转(角度-
Figure 817031DEST_PATH_IMAGE051
)就可以得到最终航路轨迹的坐标位置(S,E)。由上述算法所得到的最终航路轨迹更加的精准和可靠。其中,图10、图11和图12中示意出了另外几个相似线段合并过程。其中,合并后的线段为图10至图12中的L
在上述任一实施例中,按时间顺序是指历史轨迹点的获取时间;基于距离对所有历史轨迹点进行抽稀处理,均采用球面距离为两点距离。
在该实施例中,在对历史轨迹点进行抽稀处理之前,先把所有历史轨迹点按历史时间顺序排序,作为抽稀处理中,寻找下一历史轨迹点的依据。由于本申请属于海上航路构建领域,在航海尺度上,经纬度跨度较大时,采用欧式距离和欧式角度会有较大的偏差,因此本申请中,定义了两点距离为球面距离(东经北纬取正,西经南纬取负),上述所有实施例中提到的距离、长度,均指的是球面距离。此外,使用球面距离,可以有效避免经度在±180°时产生的距离突变,提高了计算的可靠性。
其中,本申请中:
Figure 136017DEST_PATH_IMAGE063
Figure 241376DEST_PATH_IMAGE064
Figure 987615DEST_PATH_IMAGE065
上式中,
Figure 811215DEST_PATH_IMAGE066
表示的是P i 到P j 这两个点之间的球面距离。
Figure 933891DEST_PATH_IMAGE067
Figure 644489DEST_PATH_IMAGE068
分别表示对应点的经度坐标和纬度坐标。
在一具体实施例中,设计了一种基于轨迹点抽稀和线段相似度匹配以及线段合并的算法,应用于船舶历史轨迹点。首先对轨迹点进行距离和偏转量的两次抽稀,使得轨迹关键点数量大大降低,形成连续的轨迹线段。然后把这些轨迹线段存储到Lines_Container中,并在给定线段的“邻居”中,根据线段距离公式,找到相似度高的线段簇。最后使用线段合并算法,把相似线段簇中的线段合并为一条。
实施例的方法具体内容如下:
(1)轨迹点抽稀模块。把原始轨迹点按时间顺序排列,抽去间隔较小的点和飞点,使得相邻时间间隔的轨迹点距离大于等于1海里且小于20等于海里;然后给定偏转度阈值和检查距离阈值,并进行基于偏转量的抽稀,同时按一定距离保留检查点;
(2)轨迹线段合并模块。首先建立Lines_Container用于存储上一步中得到的全体轨迹线段,按时间依次遍历轨迹线段,根据线段距离查找到邻居线段中的相似线段,构成相似线段簇。然后在每一个相似线段簇中,应用线段合并算法,得到合并后的轨迹线段。最后整合全体合并后的线段,得到该船只的历史航行主干轨迹。
如图13所示,本发明的第二方面的实施例提供了一种航路轨迹构建系统110,包括:处理器114;存储器112,用于储存程序或指令;其中,处理器114用于执行存储器112中储存的程序或指令时实现如上述任一实施例方法的步骤。
根据本发明的实施例提供的航路轨迹构建系统110,由于其包含的处理器114可实现如上述任一实施例方法的步骤,因而本发明提供的航路轨迹构建系统具备该航路轨迹构建方法的全部技术效果,在此不再赘述。
本发明的第三方面的实施例提供了一种可读储存介质,其上储存有程序或指令,程序或指令被处理器执行时实现上述任一方法的步骤。
本发明的第四方面的实施例提供了一种船舶,船舶包括本发明第二方面任一项实施例提供的航路轨迹构建系统或本发明第三方面任一项实施例提供的可读储存介质。该船舶具备第二方面任一项实施例提供的航路轨迹构建系统的全部技术效果,或具有第三方面任一项实施例提供的可读储存介质的全部技术效果,在此不再赘述。
本发明的第五方面的实施例提供了一种船舶管理系统,船舶管理系统包括如本发明第二方面任一项实施例提供的航路轨迹构建系统或本发明第三方面任一项实施例提供的可读储存介质。该船舶管理系统具备第二方面任一项实施例提供的航路轨迹构建系统的全部技术效果,或具有第三方面任一项实施例提供的可读储存介质的全部技术效果,在此不再赘述。
在本说明书的描述中,术语“一个实施例”、“一些实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种航路轨迹构建方法,其特征在于,包括:
基于历史轨迹点的形成时间,将所有的历史轨迹点从前往后依次进行编号并排序;
从初始点开始,基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点,其中,抽稀处理后的所述多个关键点中任意相邻两个关键点之间的距离大于等于预设长度阈值,多个所述关键点形成的轨迹的偏转量小于预设偏转量阈值;
将任意相邻两个关键点相连,以构成多个轨迹线段,对多个所述轨迹线段进行网格存储,其步骤具体包括:对多个所述轨迹线段所在区域进行网格划分,并对每个划分后的网格进行键值设定,将所述轨迹线段的中点所在网格的键值作为该轨迹线段的键值进行存储;
选定目标轨迹线段,从当前所有的轨迹线段中提取出与所述目标轨迹线段相似的所有相似线段并进行合并;
基于合并后的线段构建出航路轨迹;
所述从当前所有的轨迹线段中提取出与所述目标轨迹线段相似的所有相似线段并进行合并的步骤包括:
查找任一所述目标轨迹线段所在的网格,以查找出的网格为中心向周围网格进行扩展,并得到扩展网格群;
获取所述扩展网格群中的所有线段,以形成线段邻居集;
在所述线段邻居集中寻找与所述目标轨迹线段相似的所有轨迹线段,得到所述目标轨迹线段的相似线段簇;
将所述相似线段簇中的所有轨迹线段合并成一个线段。
2.根据权利要求1所述的航路轨迹构建方法,其特征在于,判断两个线段是否相似的步骤包括:
计算任意两个线段的相似度值S,判断相似度值S是否大于给定预设相似阈值,在相似度值S小于等于给定预设相似阈值时,判定两个线段为相似线段;
其中,计算两个线段的相似度值S的公式如下:
Figure DEST_PATH_IMAGE001
L表示待计算的两个线段中的一个线段,K表示待计算的两个线段中的另一个线段,
Figure 893995DEST_PATH_IMAGE002
表示的是线段K和线段L之间的加权距离,其中:
Figure DEST_PATH_IMAGE003
在上述公式中,
Figure 957766DEST_PATH_IMAGE004
表示的是线段K和线段L中长度最长的线段的长度,
Figure DEST_PATH_IMAGE005
表示的是线段K与线段L之间的加权距离,
Figure 235295DEST_PATH_IMAGE006
表示的是线段K和线段L之间的垂直距离,
Figure DEST_PATH_IMAGE007
表示的是线段K和线段L之间的平行距离,
Figure 966490DEST_PATH_IMAGE008
表示的是线段K和线段L之间的角度距离,
Figure DEST_PATH_IMAGE009
均为线段距离权重系数,其值分别为大于等于0的常数;其中:
Figure 694275DEST_PATH_IMAGE010
线段L和线段K中的短线段的两个端点在长线段上的两个投影点记为第一投影点和第二投影点,在所述长线段上依次形成第一端点、第一投影点、第二投影点和第二端点,第一端点到第一投影点的距离为l ||1,第二投影点到第二端点的距离为l ||2,短线段的两个端点到长线段的垂直距离分别为l ⊥1l ⊥2,min(|L|,|K|)表示的是线段L和线段K中长度最短的线段的长度,min(l ||1l ||2)表示的是l ||1l ||2之间的最小值,θ表示的是线段L和线段K之间的夹角。
3.根据权利要求1所述的航路轨迹构建方法,其特征在于,所述基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:将初始点记为关键点,并标记为当前关键点,然后循环执行基于距离确定关键点的步骤,直到最后一个历史轨迹点,其中,所述基于距离确定关键点步骤包括:
筛点步骤:计算所述当前关键点到与所述当前关键点邻近的下一个历史轨迹点的距离Q,在所述距离Q小于预设长度阈值时,去除掉与所述当前关键点邻近的下一个历史轨迹点,然后对剩下的历史轨迹点依次进行重新编号;
重复所述筛点步骤,直到所述距离Q大于等于所述预设长度阈值,将满足距离Q大于等于所述预设长度阈值所对应的下一个历史轨迹点记为关键点,同时将其标记为新的当前关键点。
4.根据权利要求1所述的航路轨迹构建方法,其特征在于,所述基于距离和偏转量对所有历史轨迹点进行抽稀处理,以得到抽稀处理后的多个关键点的步骤包括:
将初始点记为关键点,并标记为当前关键点,然后循环执行基于偏转量确定关键点的步骤,直到最后一个历史轨迹点,其中,所述基于偏转量确定关键点的步骤包括:
去点步骤:从所述当前关键点开始向后依次计算所述当前关键点与各个历史轨迹点之间的偏转量,当找到一个历史轨迹点与所述当前关键点的偏转量η大于预设偏转量阈值时,则将与找到的历史轨迹点相邻的上一个历史轨迹点与所述当前关键点之间的其他历史轨迹点去除,同时,将所述上一个历史轨迹点记为关键点并标记为新的当前关键点,其中:
Figure DEST_PATH_IMAGE011
表示当前关键点,
Figure 291347DEST_PATH_IMAGE012
表示位于
Figure 497201DEST_PATH_IMAGE011
之后的一个历史轨迹点,则点
Figure 286165DEST_PATH_IMAGE011
和点
Figure 778326DEST_PATH_IMAGE012
的偏转量
Figure DEST_PATH_IMAGE013
满足以下关系式:
Figure DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE017
在上式中,i、j、k和k+1表示点的序号,Pk和 Pk+1表示位于点P i 和点P j 之间的两个相邻点,i大于等于0小于等于m-1,m表示最后一个历史轨迹点的序号,j大于等于1且小于等于m,k大于等于i且小于等于j-1,dis(P i ,P j )表示的点P i 和点P j 之间的距离,distot(P i ,P j )表示从点P i 和点P j 中,任意相邻两个点形成的各个线段的距离总和。
5.根据权利要求4所述的航路轨迹构建方法,其特征在于,所述基于偏转量确定关键点的步骤还包括:
在计算所述当前关键点与任一历史轨迹点之间的偏转量之前,计算所述当前关键点与所述历史轨迹点之间的距离,在检测出所述历史轨迹点距离所述当前关键点的距离大于第二极限长度阈值时,直接将对应的历史轨迹点作为关键点并标记为新的当前关键点。
6.根据权利要求1所述的航路轨迹构建方法,其特征在于,将所述相似线段簇中的所有轨迹线段合并成一个线段的步骤:
确定合并线段的方向;
确定合并线段的重心
Figure 98580DEST_PATH_IMAGE018
确定合并线段的长度;
其中,将所有待合并的线段依次编号,合并线段的重心
Figure 842546DEST_PATH_IMAGE018
满足以下公式:
Figure 486016DEST_PATH_IMAGE020
其中,M i 表示线段l i 的中点坐标,w i 为线段l i 的长度,线段l i 表示所有轨迹线段中的第i个线段,i为从1到n的整数,n为待合并的线段的个数,l n 表示所有轨迹线段中的最后一条线段,l 1 表示所有轨迹线段中的首条线段。
7.一种航路轨迹构建系统,其特征在于,包括:
处理器;
存储器,用于储存程序或指令;
其中,所述处理器用于执行所述存储器中储存的所述程序或指令时实现如权利要求1至6中任一项所述的航路轨迹构建方法的步骤。
8.一种可读储存介质,其特征在于,其上储存有程序或指令,所述程序或所述指令被处理器执行时实现如权利要求1至6中任一项所述的航路轨迹构建方法的步骤。
9.一种船舶,其特征在于,包括如权利要求7所述的航路轨迹构建系统或如权利要求8所述的可读储存介质。
10.一种船舶管理系统,其特征在于,包括如权利要求7所述的航路轨迹构建系统或如权利要求8所述的可读储存介质。
CN202111445130.2A 2021-11-30 2021-11-30 航路轨迹构建方法、系统、船舶和船舶管理系统 Active CN113868362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111445130.2A CN113868362B (zh) 2021-11-30 2021-11-30 航路轨迹构建方法、系统、船舶和船舶管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111445130.2A CN113868362B (zh) 2021-11-30 2021-11-30 航路轨迹构建方法、系统、船舶和船舶管理系统

Publications (2)

Publication Number Publication Date
CN113868362A true CN113868362A (zh) 2021-12-31
CN113868362B CN113868362B (zh) 2022-02-25

Family

ID=78985453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111445130.2A Active CN113868362B (zh) 2021-11-30 2021-11-30 航路轨迹构建方法、系统、船舶和船舶管理系统

Country Status (1)

Country Link
CN (1) CN113868362B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115730263A (zh) * 2022-11-28 2023-03-03 中国人民解放军91977部队 一种船舶行为模式侦测方法及装置
CN115790609A (zh) * 2023-01-18 2023-03-14 亿海蓝(北京)数据技术股份公司 集装箱船舶海上航路关键点的确定方法和装置
CN115905342A (zh) * 2022-07-25 2023-04-04 中华人民共和国广东海事局 水上移动对象轨迹抽稀方法、装置和计算机设备
CN117786428A (zh) * 2024-02-27 2024-03-29 亿海蓝(北京)数据技术股份公司 确定船舶轨迹相似度的方法、装置和可读存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102269593A (zh) * 2010-06-01 2011-12-07 北京航空航天大学 基于模糊虚拟力的无人机航路规划方法
CN103528586A (zh) * 2013-10-31 2014-01-22 中国航天时代电子公司 基于故障网格的航迹规划算法设计
CN105184837A (zh) * 2015-08-31 2015-12-23 武汉云空间地理信息技术有限公司 一种矢量多边形栅格化的算法及系统
CN107622085A (zh) * 2017-08-11 2018-01-23 河海大学 一种基于网格和密度的自适应轨迹聚类方法
WO2018099480A1 (zh) * 2016-12-01 2018-06-07 中兴通讯股份有限公司 车辆行驶轨迹监测方法及系统
CN109215338A (zh) * 2018-06-27 2019-01-15 杭州叙简科技股份有限公司 一种基于网格化的北斗gps车辆轨迹管理系统及其方法
CN109977523A (zh) * 2019-03-20 2019-07-05 武汉理工大学 一种海量船舶ais轨迹数据在线压缩方法及装置
CN110210537A (zh) * 2019-05-22 2019-09-06 中国电子科技集团公司第二十八研究所 一种基于无监督聚类的船舶历史航迹规律提取方法
CN110491171A (zh) * 2019-09-17 2019-11-22 南京莱斯网信技术研究院有限公司 一种基于机器学习技术的水上交通监管预警系统及方法
EP3739295A1 (en) * 2019-05-13 2020-11-18 S.A.T.E. - Systems and Advanced Technologies Engineering S.R.L. Method for determining an optimal naval navigation routes from historical gnss data of naval trajectories
CN112634401A (zh) * 2020-12-28 2021-04-09 深圳市优必选科技股份有限公司 一种平面轨迹绘制方法、装置、设备及存储介质
CN112699315A (zh) * 2020-12-30 2021-04-23 中南大学 基于ais数据的船舶异常行为探测方法
CN113131946A (zh) * 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及存储介质
CN113190636A (zh) * 2021-04-23 2021-07-30 亿海蓝(北京)数据技术股份公司 海上路网构建方法及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102269593A (zh) * 2010-06-01 2011-12-07 北京航空航天大学 基于模糊虚拟力的无人机航路规划方法
CN103528586A (zh) * 2013-10-31 2014-01-22 中国航天时代电子公司 基于故障网格的航迹规划算法设计
CN105184837A (zh) * 2015-08-31 2015-12-23 武汉云空间地理信息技术有限公司 一种矢量多边形栅格化的算法及系统
WO2018099480A1 (zh) * 2016-12-01 2018-06-07 中兴通讯股份有限公司 车辆行驶轨迹监测方法及系统
CN107622085A (zh) * 2017-08-11 2018-01-23 河海大学 一种基于网格和密度的自适应轨迹聚类方法
CN109215338A (zh) * 2018-06-27 2019-01-15 杭州叙简科技股份有限公司 一种基于网格化的北斗gps车辆轨迹管理系统及其方法
CN109977523A (zh) * 2019-03-20 2019-07-05 武汉理工大学 一种海量船舶ais轨迹数据在线压缩方法及装置
EP3739295A1 (en) * 2019-05-13 2020-11-18 S.A.T.E. - Systems and Advanced Technologies Engineering S.R.L. Method for determining an optimal naval navigation routes from historical gnss data of naval trajectories
CN110210537A (zh) * 2019-05-22 2019-09-06 中国电子科技集团公司第二十八研究所 一种基于无监督聚类的船舶历史航迹规律提取方法
CN110491171A (zh) * 2019-09-17 2019-11-22 南京莱斯网信技术研究院有限公司 一种基于机器学习技术的水上交通监管预警系统及方法
CN113131946A (zh) * 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及存储介质
CN112634401A (zh) * 2020-12-28 2021-04-09 深圳市优必选科技股份有限公司 一种平面轨迹绘制方法、装置、设备及存储介质
CN112699315A (zh) * 2020-12-30 2021-04-23 中南大学 基于ais数据的船舶异常行为探测方法
CN113190636A (zh) * 2021-04-23 2021-07-30 亿海蓝(北京)数据技术股份公司 海上路网构建方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GAN ZHANG 等: "《AIS-based Grid Method for Determining Ship Domains in Inland Bridge-span Waters》", 《IEEE》 *
夏圣凯等: "船载AIS数据分段实时压缩改进方法", 《科技视界》 *
李时东等: "基于多尺度航迹片段的快速航迹规划方法", 《内蒙古师范大学学报(自然科学汉文版)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905342A (zh) * 2022-07-25 2023-04-04 中华人民共和国广东海事局 水上移动对象轨迹抽稀方法、装置和计算机设备
CN115905342B (zh) * 2022-07-25 2023-12-15 中华人民共和国广东海事局 水上移动对象轨迹抽稀方法、装置和计算机设备
CN115730263A (zh) * 2022-11-28 2023-03-03 中国人民解放军91977部队 一种船舶行为模式侦测方法及装置
CN115730263B (zh) * 2022-11-28 2023-08-22 中国人民解放军91977部队 一种船舶行为模式侦测方法及装置
CN115790609A (zh) * 2023-01-18 2023-03-14 亿海蓝(北京)数据技术股份公司 集装箱船舶海上航路关键点的确定方法和装置
CN117786428A (zh) * 2024-02-27 2024-03-29 亿海蓝(北京)数据技术股份公司 确定船舶轨迹相似度的方法、装置和可读存储介质

Also Published As

Publication number Publication date
CN113868362B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN113868362B (zh) 航路轨迹构建方法、系统、船舶和船舶管理系统
CN113032502B (zh) 一种基于改进轨迹段dbscan聚类的船舶异常检测方法
WO2020029601A1 (zh) 一种地图车道横向拓扑关系的构建方法、系统及存储器
CN111486845B (zh) 基于海底地形匹配的auv多策略导航方法
CN108645420B (zh) 一种基于差分导航的自动驾驶车辆多路径地图的创建方法
CN109657686A (zh) 车道线生成方法、装置、设备以及存储介质
JP2011215057A (ja) 風景マッチング用参照データ生成システム及び位置測位システム
CN111649723B (zh) 面向复杂地形的贴近摄影三维航迹与姿态规划方法及装置
CN110906935B (zh) 一种无人艇路径规划方法
CN112947485B (zh) 路径规划方法及系统
CN111721296B (zh) 一种水下无人航行器数据驱动路径规划方法
CN114119866A (zh) 一种基于点云数据的城市道路交叉口可视化评价方法
CN115035138B (zh) 基于众包数据的路面坡度提取方法
CN116860906B (zh) 轨迹生成方法、装置、设备及存储介质
CN111273312A (zh) 一种智能车辆定位与回环检测方法
CN114593739B (zh) 基于视觉检测与参考线匹配的车辆全局定位方法及装置
CN111412918A (zh) 无人艇全局安全路径规划方法
Aguilar et al. Graph sampling for map comparison
CN116661479B (zh) 建筑巡检路径规划方法、设备和可读存储介质
CN114743059B (zh) 一种综合地形地貌特征的海底地理实体自动分类方法
CN116028587A (zh) 路网匹配方法和设备
CN113776535A (zh) 一种基于栅格化电子海图的无人艇航路规划方法
CN114088097A (zh) 基于ais大数据对海上船舶可航流形框架的提取方法
CN116578098B (zh) 一种自适应学习的无人艇控制方法及系统
CN115689965B (zh) 面向整景卫星影像深度学习密集匹配的多级视差融合方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant