CN113220678A - 船靠船事件识别方法及*** - Google Patents
船靠船事件识别方法及*** Download PDFInfo
- Publication number
- CN113220678A CN113220678A CN202110442571.0A CN202110442571A CN113220678A CN 113220678 A CN113220678 A CN 113220678A CN 202110442571 A CN202110442571 A CN 202110442571A CN 113220678 A CN113220678 A CN 113220678A
- Authority
- CN
- China
- Prior art keywords
- ship
- grid
- background
- target
- track data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种船靠船事件识别方法及***,该船靠船事件识别方法包括:确定目标网格背景;将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景;获取船舶轨迹数据;基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景;确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。本发明提供的船靠船事件识别方法及***,能够提升降低运算量,加快运算速度,提高准确率和效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种船靠船事件识别方法及***。
背景技术
船靠船事件能够反映出船舶加油、加油站监测、过驳区和研判贸易趋势等经济活动,能够对偷采和运输资源进行监控,因此在航海领域,对船靠船事件的检测成为业内关注的技术难题。
目前对船靠船事件的检测,往往采用对部分区域内的部分船舶进行监视的方案,通过对区域范围的限制,可以减少计算量,但是当客户需要监控更多区域时,就难以满足需求;另外,如果对全球船舶建立快照信息可以观察所有船舶在某一时间点的位置,可以计算每两个船舶间的距离来识别船靠船事件,但是这样计算量很大,运算速度比较慢,效率低。
发明内容
本发明提供一种船靠船事件识别方法及***,用以解决现有技术中计算量很大,运算速度比较慢,效率低的缺陷,实现提升降低运算量,加快运算速度,提高准确率和效率。
本发明提供一种船靠船事件识别方法,该船靠船事件识别方法包括:确定目标网格背景,所述目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;将所述目标网格背景沿着所述位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,所述第二方向与所述第一方向相反;获取船舶轨迹数据,所述船舶轨迹数据包括每个轨迹点的位置信息;基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景;确定所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认所述两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
根据本发明提供的一种船靠船事件识别方法,该船靠船事件识别方法还包括:基于所述船舶轨迹数据,确定船舶的中心点位置;基于所述两个轨迹点之间的距离以及所述船舶的中心点位置,确定两个船舶的中心点之间的距离;基于所述两个船舶的中心点之间的距离以及所述目标距离阈值,对所述船靠船事件记录进行更新,得到船靠船事件更新记录。
根据本发明提供的一种船靠船事件识别方法,该船靠船事件识别方法还包括:基于所述船舶轨迹数据,确定船舶的船首向信息;基于所述船舶的船首向信息,对所述船靠船事件记录进行更新,得到船靠船事件更新记录。
根据本发明提供的一种船靠船事件识别方法,所述获取船舶轨迹数据,包括:间隔目标时段阈值,获取所述船舶轨迹数据;若未获取到所述船舶轨迹数据,则将历史轨迹数据作为所述船舶轨迹数据。
根据本发明提供的一种船靠船事件识别方法,所述船舶轨迹数据包括:船舶的MMSI、船舶的经度和船舶的纬度;所述基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景,包括:基于所述船舶的经度和所述船舶的纬度,将所述船舶轨迹数据与所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景建立索引信息;将所述船舶的MMSI、所述船舶的经度和所述船舶的纬度添加至所述索引信息。
根据本发明提供的一种船靠船事件识别方法,所述基于所述船舶的经度和所述船舶的纬度,将所述船舶轨迹数据与所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景建立索引信息,包括:基于所述船舶的经度,建立第一维索引;基于所述船舶的纬度,建立第二维索引;基于所述第一维索引和所述第二维索引,确定所述索引信息。
本发明还提供一种船靠船事件识别***,该船靠船事件识别***包括:第一确定模块,用于确定目标网格背景,所述目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;第二确定模块,用于将所述目标网格背景沿着所述位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,所述第二方向与所述第一方向相反;获取模块,用于获取船舶轨迹数据,所述船舶轨迹数据包括每个轨迹点的位置信息;映射模块,用于基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景;输出模块,用于确定所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认所述两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述船靠船事件识别方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述船靠船事件识别方法的步骤。
本发明提供的船靠船事件识别方法及***,通过三套网格背景的位置网格来对船舶轨迹点之间的距离进行计算,从而确定船靠船事件,能够提升降低运算量,加快运算速度,提高准确率和效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的船靠船事件识别方法的流程示意图;
图2是本发明提供的船靠船事件识别方法的原理示意图;
图3是本发明提供的船靠船事件识别***的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图4描述本发明的船靠船事件识别方法。
如图1所示,本发明提供一种船靠船事件识别方法,该船靠船事件识别方法包括如下步骤110至步骤150。
步骤110、确定目标网格背景,目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成。
可以理解的是,目标地图可以是全球地图,目标网格背景可以是在全球地图上按照经纬度划分成的多个位置网格,每个位置网格是边长为第一目标长度的正方形,此处构建目标网格背景就是将目标地图划分为多个位置网格,也就是将目标地图划分为多个相同的单元。
第一目标边长可以为二十分之一度经度(纬度),赤道附近大约为5.55km,可以按照第一目标边长将全球地图分割成多个位置网格。
步骤120、将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,第二方向与第一方向相反。
可以理解的是,如图2所示,此处将步骤110中构建的目标网格背景沿着一个位置网格的对角线进行整体平移两次,一次是向第一方向平移,得到第一参考网格背景,另一次是向第二方向平移,得到第二参考网格背景。
第一方向和第二方向都沿着位置网格的同一个对角线,第一方向可以为左上方,则对应的第二方向为右下方;第二方向还可以为右上方,则对应的第二方向为左下方。
第二目标长度可以为第一目标长度的一半,第二目标长度可以为四十分之一经度(纬度),大约为2.78km。
此处位置网格的构建作为核心,体现了本实施例的主要创新点,首先对地图构建固定经纬度步长的位置网格,经纬度步长来自工程经验,以使单个位置网格内可以容纳一定数量的船舶,同时最大程度减少不必要计算。构建目标网格背景的同时,通过平移网格的经度和纬度坐标,构建了另外第一参考网格背景和第二参考网格背景,平移的方向分别是左上和右下(或者是右上和左下),这样通过网格之间的偏移,使目标网格背景中位于位置网格边界的船舶移动到了第一参考网格背景和第二参考网格背景的非边界位置,避免单套网格背景可能漏掉的潜在船靠船事件。
此处就构建出了三套网格背景,均能够作为衡量尺度来对船舶进行定位。
步骤130、获取船舶轨迹数据,船舶轨迹数据包括每个轨迹点的位置信息。
可以理解的是,此处可以定时扫描,从而获取船舶轨迹数据,船舶轨迹数据由船舶的多个轨迹点组成,船舶轨迹数据包含有每个轨迹点的位置信息,位置信息可以由经纬度表示。
此时实际上是定时获取船舶最新位置,以船舶位置驱动三套网格背景更新的过程。相比船舶位置的更新频率,船靠船事件的更新频率要低一些,在实时服务中一般三分钟更新一次网格背景以完成船舶事件的更新,在历史数据的生成过程中,一般十分钟更新一次网格背景以加快完成所有历史船位的分析。
步骤140、基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景。
可以理解的是,此处可以根据船舶轨迹数据中每个轨迹点所对应的位置信息,来将船舶轨迹数据映射到对应的位置网格,其实也就是一个归类操作,将原本按照全球经纬坐标系衡量的船舶轨迹数据的位置信息转化到每个位置网格中,能够和对应的位置网格建立联系。
此处是将船舶轨迹数据分别映射到了三套背景网格中,这样就能够避免单一背景网格缺失一些船靠船事件,能够通过三套背景网格来形成三套船舶轨迹数据映射关系。
步骤150、确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
可以理解的是,此处着眼于目标背景网格、第一参考网格背景和第二参考网格背景中的每一个小单元,也就是每个位置网格,统计每个位置网格中的所有轨迹点,计算出每两个轨迹点之间的距离,如果两个轨迹点之间的距离小于目标距离阈值时,则确定两个轨迹点对应的两个船舶出现了船靠船事件。
目标距离阈值可以为0.008经纬度(赤道附近约为889米)。
此处将距离计算以及比较放在每个位置网格当中,相比较直接对全部轨迹点进行两两距离计算来说,运算量能够大大降低,也就是先将轨迹点归类到每个小单元当中,在小单元当中的轨迹点肯定是距离较近的轨迹点,这样就利用占用运算量小的映射算法来进行初筛,再在每个小单元中进行较为复杂的距离运算,能够极大地降低运算量,提高运算速度,提高效率。
与此同时,考虑到利用一套网格背景来计算,可能存在相距较近的两个轨迹点并不落在同一个位置网格的情况,这样可能遗漏船靠船事件的识别,因此本实施例采用由目标网格背景平移而成的第一参考网格背景和第二参考网格背景作为补充,由三套网格背景共同来作为参考系完成对船靠船事件的识别,能够提升船靠船事件识别的准确性。
当然,利用三套网格背景来进行映射,可能出现重复的船靠船事件记录,此时可以根据与船靠船事件记录所对应的船舶轨迹数据来去重,也就是对同一个船靠船事件仅保留一次记录,这样就能够避免重复保存。
本发明提供的船靠船事件识别方法,通过三套网格背景的位置网格来对船舶轨迹点之间的距离进行计算,从而确定船靠船事件,能够提升降低运算量,加快运算速度,提高准确率和效率。
在一些实施例中,该船靠船事件识别方法还包括:基于船舶轨迹数据,确定船舶的中心点位置。基于两个轨迹点之间的距离以及船舶的中心点位置,确定两个船舶的中心点之间的距离;基于两个船舶的中心点之间的距离以及目标距离阈值,对船靠船事件记录进行更新,得到船靠船事件更新记录。
可以理解的是,使用两个轨迹点之间的距离来判断船靠船事件存在一定的误差,两个轨迹点之间的距离与两个船舶之间的真实距离仍然存在一定的差距,此处可以从船舶轨迹数据中识别出船舶的物理参数,比如船舶的长度、宽度,左舷距和尾舷距,通过船舶的物理参数计算出船舶的中心点位置,再结合两个轨迹点之间的距离以及船舶的中心点位置,能够将两个轨迹点之间的距离转换为两个船舶的中心点之间的距离,距离计算可以采用球面距离计算公式。
此时,再将两个船舶的中心点之间的距离与目标距离阈值进行比较,当两个船舶的中心点之间的距离小于目标距离阈值时,则保留该船靠船事件记录,当两个船舶的中心点之间的距离大于或者等于目标距离阈值时,则删除该船靠船事件记录。
也就是说,此处对船靠船事件记录进行进一步筛选,能够得到更为准确的船靠船事件记录。
在一些实施例中,船靠船事件识别方法还包括:基于船舶轨迹数据,确定船舶的船首向信息;基于船舶的船首向信息,对船靠船事件记录进行更新,得到船靠船事件更新记录。
可以理解的是,当两个船舶的船首向并非接***行时,不能认定为船靠船事件,此处根据船舶轨迹数据得到船舶的船首向信息,根据船舶的船首向信息,能够进一步对上述实施例得出的船靠船事件记录进行校正更新,得到船靠船事件更新记录。
在一些实施例中,获取船舶轨迹数据,包括:间隔目标时段阈值,获取船舶轨迹数据;若未获取到船舶轨迹数据,则将历史轨迹数据作为船舶轨迹数据。
可以理解的是,若固定周期内有新船舶位置信息,则使用新的船舶位置信息更新旧的船舶位置信息,否则仍旧使用之前记录的船舶位置参与船舶落点计算。船舶落点计算建立了船舶与网格之间的映射关系,所有船舶的映射关系建立后,就相当于对全球船舶拍摄了一张快照,然后逐点分析快照,即逐个扫描三套网格背景中的每一个位置网格,计算位置网格内所有船舶之间的距离关系,当距离满足预设值时,判定为潜在的船靠船事件,三套网格背景扫描完成后即生成了本周期所有潜在的船靠船事件。
在一些实施例中,运算过程中所有经纬度均采用了一百万分之一纬度或经度的整数表示,例如40500000纬度表示北纬40度30分或北纬40.5度;-41500000纬度表示南纬41度30分或南纬41.5度;120500000经度表示东经120度30分或东经120.5度;-121500000经度表示西经121度30分或西经121.5度。
采用这种表示方式的经纬度可以在网格背景之间方便地建立映射关系,比如对于一个具体的位置,经度记为lon,纬度记为lat。基于滑动窗口思想构建三套网格背景,构建的过程是首先构建一个二维数组,该数组表示的地图范围在南纬80度到北纬80度之间,西经180度到东经180度之间,对应的二维数组第一维包含3200个元素,第二维包含7200个元素,在***中这样的二维数组总共9个,以功能差异可以分为3类。
第一类二维数组是基于滑动窗口思想的网格背景,共3套,每一套都记录了网格内船舶标识,经度,纬度和关联容器的详细信息索引,详细信息索引是为了实现高速的数据获取能力,具体的数组类型可以记为Array[Array[Array[(Int,Int,Int,Int)]]],这3套网格背景可以分别记为grid_original,grid_leftup,grid_rightdown,第一个是未施加滑动的网格背景,后两个分别对第一套网格背景进行了左上和右下二分之一网格边长的滑动。
第二类二维数组是第一类二维数组的伴随数组,分别记录了第一类二维数组中每一个位置网格的第三维元素的数量,用以辅助计算,具体的数据类型可以记为Array[Array[Int]],这3套网格背景分别记为grid_original_num,grid_leftup_num,grid_rightdown_num,具体的类内划分同第一类。
第三类二维数组是为了实现对第一类二维数组分配有差异的内存空间,记录了每一个网格背景的最大元素个数,最大元素个数来源于上述网格热度,目的是为第一类二维数组精准分配内存资源,具体的数据类型可以记为Array[Array[Int]],这三套网格背景分别记为grid_original_num_limit,grid_leftup_num_limit,grid_rightdown_num_limit。
工程实现时,首先创建第三类二维数组,这类二维数组创建后,就可以在创建第一类二维数组的过程中对每一个位置网格分配不同数量的第三维元素,进而可以节省大量的内存资源。必须强调的是,这三类二维数组采用了一致的划分方法,即3200乘7200的二维数组。
在一些实施例中,船舶轨迹数据包括:船舶的MMSI、船舶的经度和船舶的纬度。
船舶的MMSI是指船舶的水上移动通信业务标识码(Maritime Mobile ServiceIdentify)是船舶无线电通信***在其无线电信道上发送的,能独特识别各类台站和成组呼叫台站的一列九位数字码。
基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景,包括:基于船舶的经度和船舶的纬度,将船舶轨迹数据与目标背景网格、第一参考网格背景和第二参考网格背景建立索引信息;将船舶的MMSI、船舶的经度和船舶的纬度添加至索引信息。
可以理解的是,以10分钟的固定时钟周期为例,当定时器触发时,即以时间段的方式从HBase上获取10分钟内的船舶轨迹数据,HBase是一个分布式的、面向列的开源数据库。当船舶有轨迹出现在这个10分钟周期内时,即更新船舶的位置信息,且在更新之前做有效性检查,以避免采用了诸如飞点,超出边界或时间倒序的位置点,若船舶的位置信息未出现在这个10分钟周期,则使用之前记录的船舶的位置信息。
在一些实施例中,基于船舶的经度和船舶的纬度,将船舶轨迹数据与目标背景网格、第一参考网格背景和第二参考网格背景建立索引信息,包括:基于船舶的经度,建立第一维索引;基于船舶的纬度,建立第二维索引;基于第一维索引和第二维索引,确定索引信息。
可以理解的是,完成船舶位置的更新后,开始建立船舶轨迹数据的位置信息与三套网格背景之间的映射关系,具体地,现针对目标网格背景,与grid_original建立映射关系时,第一维的索引为lat/50000+1600,记为x_original,第二维的索引为lon/50000+3600,记为y_original。
这样就把该船舶的信息,具体为mmsi,经度,纬度,详细信息索引添加到grid_original[x_original][y_original]中。
同时更新grid_original_num[x_original][y_original],即更新伴随网格的数据元素个数,以在后续扫描过程中提供索引信息。
更新目标网格背景内的数据时,同时更新第一参考网格背景和第二参考网格背景内的数据,具体地,第一参考网格背景的第一维索引分别为x_leftup=(lat+25000)/50000+1600,y_leftup=(lon+25000)/50000+3600,计算完成后同时更新grid_leftup[x_leftup][y_leftup]和grid_leftup_num[x_leftup][y_leftup],第二参考网格背景的第一维索引分别为x_rightdown=(lat-25000)/50000+1600,y_rightdown=(lon-25000)/50000+3600,计算完成后同时更新grid_rightdown[x_rightdown][y_rightdown]和grid_rightdown_num[x_rightdown][y_rightdown]。
网格背景更新后,开始逐个扫描位置网格,具体地,以行优先方式首先遍历第一行中从第一列到第7200列的所有元素,直至所有3200行都遍历完成,对于一个具体的位置网格,可以一次读取三套网格背景中三个相同索引的位置网格,例如当对第一行第一列的位置网格进行计算时,计算完成后,读取第一行第二列之前,分别对向左上滑动的位置网格和右下滑动的位置网格进行计算,依次类推。
具体的计算过程是计算三类网格背景内所有船舶之间的距离,该距离是一种简化的距离,实际可由两船经度差的绝对值加上纬度差的绝对值表示,当距离小于0.008度(赤道附近约889米)时,则认为是潜在的船靠船事件。所有位置网格遍历完成后,本模块输出所有潜在船靠船事件。
在一些实施例中,在获取船舶轨迹数据之前,还包括:基于历史轨迹数据,为目标网格背景、第一参考网格背景和第二参考网格背景差异化分配内存。
可以理解的是,可以从HBase获取2011年以来所有船舶的历史轨迹数据,每个轨迹点都与网格背景建立一个映射,将船舶的轨迹点以MMSI去重后,统计每个位置网格历史经过或停留的船舶数量,以这个数量代表网格的热度,并据此分配各个网格背景与船舶相关的内存,实现内存的差异化分配。
网格背景构建完成后,一般情况下程序运行期间动态的申请和释放大量内存资源会降低性能,并可能因为资源不足导致程序崩溃,对网格背景的内存进行预分配是一个有效的方法,对占用大量内存资源的网格背景预先分配内存后,可以通过船舶位置信息快速更新网格背景中位置网格的船舶信息,由于提前构建了全球网格***,就要假设位置网格内可能包含的最大船舶数量,即为每个位置网格分配足够的内存资源以容纳最多的船舶,然而实际情况是陆地上不会有船靠船事件,大洋中也极少发生船靠船事件,因为船靠船通常发生在近海或沿海水域中,为了避免浪费内存,使用海量船舶历史轨迹可以生成位置网格的热度,真实的船舶轨迹使位置网格具有了可信的热度,根据这个差异化的热度值可以实现网格背景内存的差异化分配,达到节省内存开销的目的。
面对全球大量船舶的海量航行轨迹数据,提取船靠船事件是一项计算量巨大的工作,这个过程通常集中在计算船舶之间的距离上,本方案通过网格背景映射使船舶之间距离的计算量受限,通过简单的经纬度比较在位置网格中识别出潜在的船靠船事件。
使用滑动窗口思想建立了同样大小的多套网格背景,通过网格背景偏移将船舶在位置网格的边界分布转换为内部分布,从而在扫描网格过程中不会遗漏潜在的船靠船事件。高性能计算来自对所有网格的一次局部扫描就可以识别出所有潜在船靠船事件,相比未经网格框定的全量计算,性能有同比于网格数倍数的提高。
构建多套网格背景实现滑动窗口思想,在工程实现过程中会消耗大量内存资源。考虑到船靠船事件发生在水域上,而海量的船舶历史轨迹就为可能发生船靠船事件的区域提供了线索,同时,船舶历史轨迹还有一个好处是可以反映水域上船舶分布的热度,在一些热点区域聚集了大量船舶,而在另一些区域却只有少量船舶分布。基于这种认识,可以利用海量船舶历史轨迹在网格背景中生成所有船舶分布热度,根据差异化的热度对网格背景上的内存进行差异化分配。
对网格背景进行内存差异化分配有两个目的,一是节省内存资源,二是通过内存预分配,简化程序的内存模型,提高程序的鲁棒性。网格背景构建完成后,定时将全球船舶经纬度位置映射到位置网格中,然后逐个扫描网格,快速计算位置网格内船舶之间的距离,在多套网格背景中提取潜在的船靠船事件。提取出潜在船靠船事件后,对潜在事件进行精确计算,最终产生符合业务要求的船靠船事件,保存到MySQL和GeoMesa数据库中供用户使用。
下面对本发明提供的船靠船事件识别***进行描述,下文描述的船靠船事件识别***与上文描述的船靠船事件识别方法可相互对应参照。
如图3所示,本发明还提供一种船靠船事件识别***,该船靠船事件识别***包括:第一确定模块310、第二确定模块320、获取模块330、映射模块340和输出模块350。
第一确定模块310,用于确定目标网格背景,目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成。
第二确定模块320,用于将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,第二方向与第一方向相反。
获取模块330,用于获取船舶轨迹数据,船舶轨迹数据包括每个轨迹点的位置信息。
映射模块340,用于基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景。
输出模块350,用于确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行船靠船事件识别方法,该方法包括:确定目标网格背景,目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,第二方向与第一方向相反;获取船舶轨迹数据,船舶轨迹数据包括每个轨迹点的位置信息;基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景;确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的船靠船事件识别方法,该方法包括:确定目标网格背景,目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,第二方向与第一方向相反;获取船舶轨迹数据,船舶轨迹数据包括每个轨迹点的位置信息;基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景;确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的船靠船事件识别方法,该方法包括:确定目标网格背景,目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;将目标网格背景沿着位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,第二方向与第一方向相反;获取船舶轨迹数据,船舶轨迹数据包括每个轨迹点的位置信息;基于船舶轨迹数据对应的位置信息,将船舶轨迹数据分别映射到目标背景网格、第一参考网格背景和第二参考网格背景;确定目标背景网格、第一参考网格背景和第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种船靠船事件识别方法,其特征在于,包括:
确定目标网格背景,所述目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;
将所述目标网格背景沿着所述位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,所述第二方向与所述第一方向相反;
获取船舶轨迹数据,所述船舶轨迹数据包括每个轨迹点的位置信息;
基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景;
确定所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认所述两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
2.根据权利要求1所述的船靠船事件识别方法,其特征在于,还包括:
基于所述船舶轨迹数据,确定船舶的中心点位置;
基于所述两个轨迹点之间的距离以及所述船舶的中心点位置,确定两个船舶的中心点之间的距离;
基于所述两个船舶的中心点之间的距离以及所述目标距离阈值,对所述船靠船事件记录进行更新,得到船靠船事件更新记录。
3.根据权利要求1所述的船靠船事件识别方法,其特征在于,还包括:
基于所述船舶轨迹数据,确定船舶的船首向信息;
基于所述船舶的船首向信息,对所述船靠船事件记录进行更新,得到船靠船事件更新记录。
4.根据权利要求1所述的船靠船事件识别方法,其特征在于,所述获取船舶轨迹数据,包括:
间隔目标时段阈值,获取所述船舶轨迹数据;
若未获取到所述船舶轨迹数据,则将历史轨迹数据作为所述船舶轨迹数据。
5.根据权利要求1-4中任一项所述的船靠船事件识别方法,其特征在于,所述船舶轨迹数据包括:船舶的MMSI、船舶的经度和船舶的纬度;
所述基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景,包括:
基于所述船舶的经度和所述船舶的纬度,将所述船舶轨迹数据与所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景建立索引信息;
将所述船舶的MMSI、所述船舶的经度和所述船舶的纬度添加至所述索引信息。
6.根据权利要求5所述的船靠船事件识别方法,其特征在于,所述基于所述船舶的经度和所述船舶的纬度,将所述船舶轨迹数据与所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景建立索引信息,包括:
基于所述船舶的经度,建立第一维索引;
基于所述船舶的纬度,建立第二维索引;
基于所述第一维索引和所述第二维索引,确定所述索引信息。
7.根据权利要求1-4中任一项所述的船靠船事件识别方法,其特征在于,在获取所述船舶轨迹数据之前,还包括:
基于历史轨迹数据,为所述目标网格背景、所述第一参考网格背景和所述第二参考网格背景差异化分配内存。
8.一种船靠船事件识别***,其特征在于,包括:
第一确定模块,用于确定目标网格背景,所述目标网格背景为在目标地图上构建的多个边长为第一目标长度的位置网格组成;
第二确定模块,用于将所述目标网格背景沿着所述位置网格的对角线分别向第一方向和第二方向平移第二目标长度,确定第一参考网格背景和第二参考网格背景,所述第二方向与所述第一方向相反;
获取模块,用于获取船舶轨迹数据,所述船舶轨迹数据包括每个轨迹点的位置信息;
映射模块,用于基于所述船舶轨迹数据对应的位置信息,将所述船舶轨迹数据分别映射到所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景;
输出模块,用于确定所述目标背景网格、所述第一参考网格背景和所述第二参考网格背景的每个位置网格内的每两个轨迹点之间的距离,确认所述两个轨迹点之间的距离小于目标距离阈值,输出船靠船事件记录。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述船靠船事件识别方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述船靠船事件识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442571.0A CN113220678B (zh) | 2021-04-23 | 2021-04-23 | 船靠船事件识别方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442571.0A CN113220678B (zh) | 2021-04-23 | 2021-04-23 | 船靠船事件识别方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220678A true CN113220678A (zh) | 2021-08-06 |
CN113220678B CN113220678B (zh) | 2023-09-08 |
Family
ID=77089073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110442571.0A Active CN113220678B (zh) | 2021-04-23 | 2021-04-23 | 船靠船事件识别方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220678B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779031A (zh) * | 2021-09-13 | 2021-12-10 | 上海船舶运输科学研究所 | 一种船对船加油识别处理方法及*** |
CN113779046A (zh) * | 2021-11-15 | 2021-12-10 | 亿海蓝(北京)数据技术股份公司 | 不规则区域索引的生成方法、装置、介质和电子设备 |
CN116863756A (zh) * | 2023-09-05 | 2023-10-10 | 太极计算机股份有限公司 | 一种海上接驳实时预警方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968625A (zh) * | 2012-12-14 | 2013-03-13 | 南京思创信息技术有限公司 | 基于轨迹的船舶识别与跟踪方法 |
CN103303433A (zh) * | 2013-05-21 | 2013-09-18 | 中国船舶工业集团公司第七〇八研究所 | 一种船舶性能虚拟测试***及测试方法 |
CN103631148A (zh) * | 2013-08-28 | 2014-03-12 | 中国人民解放军海军大连舰艇学院 | 一种基于ais的船舶驾驶实时虚拟增强仿真***及方法 |
CN110399676A (zh) * | 2019-07-24 | 2019-11-01 | 李燕 | 西北太平洋三维溢油业务化应急预报及评估*** |
CN110703759A (zh) * | 2019-10-29 | 2020-01-17 | 青岛科技大学 | 一种多船博弈的船舶避碰处理方法 |
CN111179638A (zh) * | 2020-01-08 | 2020-05-19 | 中国船舶重工集团公司第七二四研究所 | 一种基于时间序列的船舶ais目标航行监控方法 |
US20200250992A1 (en) * | 2019-01-31 | 2020-08-06 | Brunswick Corporation | Marine Propulsion Control System and Method |
CN111581314A (zh) * | 2020-04-26 | 2020-08-25 | 亿海蓝(北京)数据技术股份公司 | 基于船舶轨迹的泊位识别方法及装置 |
CN112132346A (zh) * | 2020-09-24 | 2020-12-25 | 中国科学院空天信息创新研究院 | 一种基于船舶类型的船舶航行轨迹预测方法 |
-
2021
- 2021-04-23 CN CN202110442571.0A patent/CN113220678B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968625A (zh) * | 2012-12-14 | 2013-03-13 | 南京思创信息技术有限公司 | 基于轨迹的船舶识别与跟踪方法 |
CN103303433A (zh) * | 2013-05-21 | 2013-09-18 | 中国船舶工业集团公司第七〇八研究所 | 一种船舶性能虚拟测试***及测试方法 |
CN103631148A (zh) * | 2013-08-28 | 2014-03-12 | 中国人民解放军海军大连舰艇学院 | 一种基于ais的船舶驾驶实时虚拟增强仿真***及方法 |
US20200250992A1 (en) * | 2019-01-31 | 2020-08-06 | Brunswick Corporation | Marine Propulsion Control System and Method |
CN110399676A (zh) * | 2019-07-24 | 2019-11-01 | 李燕 | 西北太平洋三维溢油业务化应急预报及评估*** |
CN110703759A (zh) * | 2019-10-29 | 2020-01-17 | 青岛科技大学 | 一种多船博弈的船舶避碰处理方法 |
CN111179638A (zh) * | 2020-01-08 | 2020-05-19 | 中国船舶重工集团公司第七二四研究所 | 一种基于时间序列的船舶ais目标航行监控方法 |
CN111581314A (zh) * | 2020-04-26 | 2020-08-25 | 亿海蓝(北京)数据技术股份公司 | 基于船舶轨迹的泊位识别方法及装置 |
CN112132346A (zh) * | 2020-09-24 | 2020-12-25 | 中国科学院空天信息创新研究院 | 一种基于船舶类型的船舶航行轨迹预测方法 |
Non-Patent Citations (3)
Title |
---|
HUANHUAN LI等: "a dimensionality reduction-based multi-step clustering method for robust vessel trajectory analysis", SENSORS, vol. 8, no. 17, pages 1792 * |
宁建强;黄涛;刁博宇;赵瑞莲;毕经平;: "一种基于海量船舶轨迹数据的细粒度网格海上交通密度计算方法", 计算机工程与科学, vol. 37, no. 12, pages 2242 - 2249 * |
郭延华等: "一种基于极端尺度变化的船舶识别方法研究", 计算机应用与软件, vol. 38, no. 1, pages 171 - 178 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779031A (zh) * | 2021-09-13 | 2021-12-10 | 上海船舶运输科学研究所 | 一种船对船加油识别处理方法及*** |
CN113779031B (zh) * | 2021-09-13 | 2022-04-29 | 上海船舶运输科学研究所有限公司 | 一种船对船加油识别处理方法及*** |
WO2023035309A1 (zh) * | 2021-09-13 | 2023-03-16 | 上海船舶运输科学研究所有限公司 | 一种船对船加油识别处理方法及*** |
CN113779046A (zh) * | 2021-11-15 | 2021-12-10 | 亿海蓝(北京)数据技术股份公司 | 不规则区域索引的生成方法、装置、介质和电子设备 |
CN116863756A (zh) * | 2023-09-05 | 2023-10-10 | 太极计算机股份有限公司 | 一种海上接驳实时预警方法、装置及存储介质 |
CN116863756B (zh) * | 2023-09-05 | 2023-12-15 | 太极计算机股份有限公司 | 一种海上接驳实时预警方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113220678B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220678A (zh) | 船靠船事件识别方法及*** | |
CN113450596B (zh) | 基于船舶轨迹特征点提取的时空dp方法 | |
CN113190515B (zh) | 基于异构并行计算的城市级海量点云坐标转换方法 | |
CN111291776B (zh) | 基于众源轨迹数据的航道信息提取方法 | |
CN112883820B (zh) | 基于激光雷达点云的道路目标3d检测方法及*** | |
CN113723715B (zh) | 公交线网自动匹配道路网络方法、***、设备及存储介质 | |
CN114419085A (zh) | 建筑物轮廓线自动提取方法、装置、终端设备及存储介质 | |
CN113835078B (zh) | 基于局部三维栅格的信号级联合检测方法及装置 | |
CN111914045B (zh) | 一种数据压缩方法、装置、终端设备及存储介质 | |
CN114660561A (zh) | Ais与雷达的航迹关联方法及装置 | |
CN111813877A (zh) | 一种航迹提取方法及装置 | |
CN111141768B (zh) | 原油驱替中岩石润湿性变化的获取方法及装置 | |
Zhu et al. | Triangulation of well-defined points as a constraint for reliable image matching | |
CN116958089A (zh) | 一种基于双重注意力机制的石油管道裂纹检测方法 | |
CN111369604A (zh) | 一种基于网格的地形特征点提取方法及处理终端 | |
CN115690193A (zh) | 一种对于非均匀分布海图深度信息栅格化方法 | |
CN114155391B (zh) | 轨迹处理方法、装置及计算机设备 | |
CN115979299A (zh) | 基于地图数据转换的精度检查方法及装置 | |
CN110889979B (zh) | 一种内河航道数据的融合方法及装置 | |
CN112614226A (zh) | 点云多视角特征融合方法及装置 | |
CN116643300B (zh) | 基于地图映射的卫星导航数据分布式实时处理方法和*** | |
Li et al. | Incorporation of adaptive compression into a GPU parallel computing framework for analyzing large-scale vessel trajectories | |
CN114445566B (zh) | 一种三维重建中原始影像数据划分瓦片的方法 | |
CN117315001B (zh) | 一种基于激光扫描的房建面积快速检测方法及*** | |
CN114390535B (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 |