一种基于港口多层区域的船舶挂靠事件挖掘方法及系统与流程

文档序号:11231599阅读:968来源:国知局
一种基于港口多层区域的船舶挂靠事件挖掘方法及系统与流程

本发明实施例涉及大数据分析技术领域,尤其涉及一种基于港口多层区域的船舶挂靠事件挖掘方法及系统。



背景技术:

航运分析领域,会存在需要对海量船舶轨迹点与众多港口区域的地理位置关系计算的需求,如海运物流系统,船期管理系统,大宗商品监控系统,港口拥堵分析系统,船舶景气指数分析系统。

全球大型商船数量很多(几十万条),每条船3秒钟会上传实时船位信息,上述系统都要求底层数据提供船舶的到港时间,离港时间。在大宗商品监控系统,港口拥堵分析系统,船舶景气指数分析系统中还需要计算出准确的靠泊时间,以对船舶的作业时间进行统计,反应出商品的装货或卸货时间,港口作业效率,船舶使用率等参数。国内主流的航运分析系统,都是基于单层区域到离架构,所谓“单层”就是船舶和港口只有单一的到离关系,根据船舶和港口区域的位置关系,计算出船舶的到港时间和离港时间,实现对船期或海运物流参数的分析。在这种架构中无法给出船舶在港口内的作业时间,以及无法给出船舶在港口内的航行细节。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种基于港口多层区域的船舶挂靠事件挖掘方法及系统。

本发明实施例提供一种基于港口多层区域的船舶挂靠事件挖掘方法,包括:

获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;

获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;

根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

本发明实施例提供一种基于港口多层区域的船舶挂靠事件挖掘系统,包括:

索引创建模块,用于获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;

到离事件构建模块,用于获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;

计算模块,用于根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘方法及系统,通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘方法流程示意图;

图2为本发明另一实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘方法流程示意图;

图3为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘系统结构示意图;

图4为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘系统实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘方法流程示意图,如图1所示,所述方法,包括:

步骤101:获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;

具体地,在大宗商品分析系统中,实现对货物的装卸货量的统计,是通过对全球船舶轨迹进行跟踪,判断每条船与港口包含多层区域的位置关系,然后对这些多层区域的到离事件进行基于贪心算法的计算来实现的。其中所谓的“多层区域”是指,港口中包括了锚地、港区、码头和泊位,我们从概念上将其进行划分,锚地>港区>码头>泊位从而形成了四层区域。首先,获取待挖掘港口的第一位置信息,港口是由一系列经纬度点构成的一个区域,根据第一位置信息将该港口划分成多个网格,建立网格的索引映射表。

步骤102:获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;

具体地,获取预设时间段内船舶的第二位置信息,其中,预设时间段可以是船舶的历史某个时间段的第二位置信息,或者可以是实时地从数据源中获取船舶的第二位置信息,且第二位置信息可以是船舶的经纬度信息。根据第二位置信息从索引映射表中查找是否存在第二位置信息对应的网格,如果存在,则进一步判断该船舶在该网格的哪层区域中,假设当前船舶在某一个网格包括的码头区域内,查找该船舶上一个状态在哪,如果上一个状态还在这个码头区域内,则该船舶在该码头的到离状态仍为“到”;如果上一个状态为“离”,则更新该船舶在该码头的到离状态为“到”。记录船舶在最新的区域到离事件,多个时间对应的多个区域到离事件构成了区域到离事件集。区域到离事件集中包括了该船舶在预设时间段内在各层区域内的到离事件。

步骤103:根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

具体地,如果船舶在港口多个类型的区域中形成区域到离事件,则会产生多个挂靠事件用以反应移泊等信息。为了得到尽可能多的挂靠事件,要从区域到离事件集中选取尽可能多的区域到离事件。定义区域到离事件ei发生在半开时间区间[ai,di)中,如果事件ei和ej满足[ai,di)和[aj,dj)不重叠,则称他们是兼容的,那么求取船舶在多层区域的挂靠信息的问题就转换成求最大兼容到离事件集合的问题,通过贪心算法,可以得到区域到离事件集对应的最大兼容到离事件集,从而可以获得船舶在多层区域的挂靠信息。

本发明实施例通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

在上述实施例的基础上,所述根据所述第一位置信息创建索引映射表,包括:

对所述第一位置信息对应的区域范围根据预设大小进行网格划分;

根据预设规则获取每一网格对应的第一特征值;

根据所述第一特征值和所述网格对应的id值创建所述索引映射表。

具体地,获取到待挖掘港口的第一位置信息后,对第一位置信息构成的区域范围进行网格划分,划分的网格大小可以根据实际情况进行调整,本发明实施例对此不作具体限定。划分成一个或多个网格后,根据预设规则获取每个网格对应的第一特征值,每个网格都对应唯一一个id值,建立该网格的第一特征值和id值的映射关系,构成索引映射表。应当说明的是,可以根据第一位置信息中的经度和纬度进行网格划分,例如,第一位置信息中的经度为120.12345,表示东经120°7.407′,对其进行创建网格时,可以使120.12345乘以100,得到12012.345,此时表示网格的预设大小为1/100度。

本发明实施例通过对待挖掘港口进行网格划分,并构建网格对应的第一特征值和id值之间的索引映射表,从而确定船舶在哪个网格中,缩小了判断船舶位置的范围,提高了判断效率。

在上述实施例的基础上,所述根据预设规则获取每一网格对应的第一特征值,包括:

获取所述网格中预设位置对应的经度和纬度;

将所述经度乘以预设值后取整,获得第一子特征值,将所述纬度乘以所述预设值后取整,获得第二子特征值;

根据所述第一子特征值和所述第二子特征值构成所述第一特征值。

具体地,获取划分好的网格预设位置对应的经度和纬度,例如,可以获取每个网格的左上角对应的经度和纬度。将经度和纬度分别乘以一个预设值,然后取整数,获得第一子特征值和第二子特征值,根据获得的第一子特征值和第二子特征值构成第一特征值,其中,具体可以为,将第一子特征值作为高位,第二子特征值作为低位,从而合成第一特征值。例如:网格左上角对应的经度为120.12345,即东经120°7.407′,将经度乘以100后取整,得到第一子特征值为12012,同理可以得到第二子特征值,本发明实施例对此不再赘述。本发明实施例通过对网格预设位置的经纬度经过一系列处理获得网格对应的第一特征值,为确定船舶是否在网格内提供了依据,提高了判断船舶所在位置的效率。

在上述实施例的基础上,所述根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集,包括:

根据所述预设规则和所述第二位置信息获得第二特征值;

若判断获知所述第二特征值在所述索引映射表中包括的网格内,则获取所述第二特征值对应的目标网格;

获取所述船舶在所述目标网格包含的多层区域中的到离信息,构成所述区域到离事件集。

具体地,获取船舶的第二位置信息,第二位置信息可以是经度和纬度,将经度和纬度分别乘以预设值后取整数,获得第三子特征值和第四子特征值,将第三子特征值和第四子特征值合并构成第二特征值。其具体获得第三子特征值和第四子特征值的方法为:

如果经度乘以100后得到的lon'小于0,且小数位取绝对值后大于0,那么lon'=lon'-1,否则lon'不变;如果纬度乘以100后得到的lat'大于0,且小数位取绝对值后大于0,那么lat'=lat'+1,否则lat'不变。

例如:(1)第二位置信息为经度120.12345,纬度35.12345,分别先乘以100得到12012.345和3512.345,取整之前先考察怎么保证取到这个点所在网格的左上角坐标,经过上述计算后,这个点的左上角坐标为(12012,3513),即第三子特征值为12012,第四子特征值为3513。

(2)第二位置信息为经度-120.12345,纬度35.12345,分别先乘以100得到-12012.345和3512.345,取整之前先考察怎么保证取到这个点所在网格的左上角坐标,经过上述计算后,这个点的左上角坐标为(-12013,3513),即第三子特征值为-12013,第四子特征值为3513。

(3)第二位置信息为经度-120.12345,纬度-35.12345,分别先乘以100得到-12012.345和-3512.345,取整之前先考察怎么保证取到这个点所在网格的左上角坐标,经过上述计算后,这个点的左上角坐标为(-12013,-3512),即第三子特征值为-12013,第四子特征值为-3512。

(4)第二位置信息为经度120.12345,纬度-35.12345,分别先乘以100得到12012.345和-3512.345,取整之前先考察怎么保证取到这个点所在网格的左上角坐标,经过上述计算后,这个点的左上角坐标为(12012,-3512),即第三子特征值为12012,第四子特征值为-3512。

将得到的第三子特征值和第四子特征值合并构成第二特征值,可以是第三子特征值作为高位,第四子特征值作为低位,还可以是其他方式,本发明实施例对此不作具体限定。根据每个网格对应的第一特征值可以判断出第二特征值是否在网格内以及在哪个网格内,其具体判断方法是比较第二特征值是否等于第一特征值,如果第二特征值与第一特征值相等,等说明船舶在该第一特征值对应的网格里,将船舶所在的那个网格作为目标网格,获取该目标网格。目标网格中包含一层或多层区域,对该船舶在目标网格中所有区域进行点面包含计算或点点距离计算,从而可以确定出船舶在哪个区域内,查看船舶和该区域上一个到离状态,如果上一个到离状态为“到”,则仍旧在区域内,如果上一个到离状态为“离”,则将船舶与区域的到离状态更新为“到”。上面计算完成后,记录船舶最新的区域到离事件,将船舶、区域和到离状态的详细信息保存到区域到离事件集中。区域到离事件集中反应了船舶在多层区域中在各层区域的到离信息,从而可以获得船舶在各层区域的停留时间。

本发明实施例通过第二位置信息获得第二特征值,根据第二特征值获取对应的目标网格,并获取船舶在目标网格中包含的多层区域的到离信息,构成区域到离事件集,从而可以获取船舶在港口内的作业时间。

在上述各实施例的基础上,所述根据所述区域到离事件集,利用贪心算法计算得出所述船舶的挂靠信息,包括:

将所述区域到离事件集按时间进行升序排序;

根据所述区域到离事件集,利用贪心算法获取最大兼容到离事件集;

根据所述最大兼容到离事件集获得所述船舶在多层区域的挂靠信息。

具体地,本发明实施例针对的是关注船舶作业时长、等待时长和闲置时长等维度的航运分析系统,如:全球大宗商品网站,航运景气指数,船舶作业指标,港口拥堵排名系统。这些系统以船舶的到港时间,靠泊时间,离港时间,作业时长和停留时长为基础数据。为了方便描述,将计算上述各个时间信息的关键信息进行符号化:

ata表示船舶的到港时间,取船舶首次停靠港口包含的任何区域的时间;

atb表示船舶首次停靠港口包含的某个非锚地区域的时间,如果对港口包含的区域(除锚地外):港区、码头和泊位进行顺序排序并编号,那么atb产生的条件是当前船舶停靠的编号最大的区域对应的时间;

atd表示船舶的离港时间。

首先,对区域到离事件集按时间进行升序排序,如果区域到离事件集中有的事件对应的时间相同,则应用先到达大区域再到达大区域包含的小区域的排序规则,以及先离开小区域再离开包含该小区域的大区域的排序规则。

其次,根据区域到离事件集,利用贪心算法获取最大兼容到离事件集。贪心算法的使用是有条件限制的,并不是所有的问题都可以用贪心算法来实现,因此,在利用贪心算法之前,需要证明贪心算法能够解决本发明实施例求得最大兼容到离事件集,其证明过程如下:

(一)最优子结构性质

令eij表示e{e1,e2,…,en},n≥1中,在区域到离事件ei之后,区域到离事件ej之前的事件集合,假定希望求eij的最大兼容到离事件集,进一步,假设pij就是这个子集,包含区域到离事件ek。由于最优解包含ek,可以得到两个子问题,寻找eik中的船舶靠泊事件(在区域到离事件ei离开之后,区域到离事件ek到达之前的那些到离事件)以及寻找ekj中的船舶靠泊事件(在区域到离事件ek离开之后,区域到离事件ej到达之前的那些到离事件)。令pik=pij∩eik和pkj=pij∩ekj,这样pik包含eij中那些在ek到达之前到达的那些区域到离事件,pkj包含eij中那些在ek离开之后到达的那些区域到离事件。因此,有pij=pik∪{ek}∪pkj,而且eij中最大兼容到离事件的子集pij包含|pij|=|pik|+|pkj|+1个区域到离事件。

推论:最优解pij必然包含两个子问题eik和ekj的最优解

证明:用剪切粘贴法证明这个推论。

如果可以找到eik的兼容活动子集p′ik,满足|p′ik|>|pik|,则可以将p′ik而不是pik作为pij的最优解的一部分。这样就构造出一个兼容事件集合,其大小|p′ik|+|pkj|+1>|pik|+|pkj|+1=|pij|,与pij是最优解的假设矛盾。对子问题ekj类似可证。

用c[i,j]表示集合eij的最优解的大小,则可以得到递归式:

(二)贪心选择性质

上面已经证明船舶挂靠具有最优子结构性质。令ek={ai∈a:ai≥dk}为在ek离开后到达事件集合。当做出贪心选择,选择了e1后,剩下的e1是唯一需要求解的子问题。最优子结构告诉我们,如果e1在最优解中,那么原问题的最优解由事件e1及子问题e1中所有事件组成。

推论:考虑任意非空子问题ek,令em是ek中离开时间最早的事件,则em在ek的某个最大兼容事件子集中。

证明:令pk是ek的一个最大兼容到离事件子集,且ej是ek中离开时间最早的事件。若ej=em,则已经证明em在ek的某个最大兼容事件子集中。若ej≠em,令集合p′k=pk-{ej}∪{em},即将pk中的ej替换为em。p′k中的事件都是不相交的,因为pk中的区域到离事件都是不相交的,ej是pk中离开时间最早的事件,而dm≤dj。由于|p′k|=|pk|,因此得出结论p′k也是ek的一个最大兼容到离事件子集,而且它包含em。

因此可知,贪心算法适用于本发明实施例。只要对多层区域的到离事件按照离开时间进行升序排序,就可以利用贪心选择求出最大兼容到离事件集,进而获取最详细的船舶挂靠信息,例如,船舶几点到达港区、几点从港区离开、几点到达码头、几点从码头离开等等,根据以上信息可以得出ata、atb、atd。根据ata、atb、atd可以求出船舶的停留时长、等待时长和作业时长等,停留时长=atd-ata,等待时长=atb-ata,作业时长=atd-atb。

本发明实施例通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

图2为本发明另一实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘方法流程示意图,如图2所示,所述方法,包括:

步骤201:网格划分;获取待挖掘港口的第一位置信息,根据第一位置信息构建待挖掘港口的外接矩形,对外接矩形按照预设大小进行网格划分。

步骤202:建立索引映射表;获取网格的左上角的经纬度,将经纬度进行处理,其处理方法与上述实施例一致,此处不再赘述,处理后获得第一特征值,将第一特征值与网格的id值进行映射,构建索引映射表。

步骤203:构建区域到离事件集;获取船舶的第二位置信息,第二位置信息包括经度和纬度,对第二位置信息进行处理,其处理方法与上述实施例一致,此处不再赘述,处理后获得第二特征值,根据索引映射表和第二位置信息判断船舶在哪个网格中,将船舶所在的那个网格作为目标网格,计算船舶到目标网格内各层区域的到离事件构成区域到离事件集。

步骤204:利用贪心算法获得挂靠信息;对区域到离事件集中的区域到离事件按时间进行升序排序,然后利用贪心算法获得最大兼容到离事件集,最大兼容到离事件集中包括船舶在港口内的航行细节,例如到港时间,离港时间,到达各层区域的时间以及离开各层区域的时间,从而可以计算出停留时长、等待时长、作业时长等。

本发明实施例通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

图3为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘系统结构示意图,如图3所示,所述系统,包括:索引创建模块301、到离事件构建模块302和计算模块303,其中:

索引创建模块301用于获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;到离事件构建模块302用于获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;计算模块303用于根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

具体地,索引创建模块301获取待挖掘港口的第一位置信息,港口是由一系列经纬度点构成的一个区域,根据第一位置信息将该港口划分成多个网格,建立网格的索引映射表。到离事件构建模块302获取预设时间段内船舶的第二位置信息,其中,预设时间段可以是船舶的历史某个时间段的第二位置信息,或者可以是实时地从数据源中获取船舶的第二位置信息,且第二位置信息可以是船舶的经纬度信息。根据第二位置信息从索引映射表中查找是否存在第二位置信息对应的网格,如果存在,则进一步判断该船舶在该网格的哪层区域中,假设当前船舶在某一个网格包括的码头区域内,查找该船舶上一个状态在哪,如果上一个状态还在这个码头区域内,则该船舶在该码头的到离状态仍为“到”;如果上一个状态为“离”,则更新该船舶在该码头的到离状态为“到”。记录船舶在最新的区域到离事件,多个时间对应的多个区域到离事件构成了区域到离事件集。区域到离事件集中包括了该船舶在预设时间段内在各层区域内的到离事件。如果船舶在港口多个类型的区域中形成区域到离事件,则会产生多个挂靠事件用以反应移泊等信息。为了得到尽可能多的挂靠事件,要从区域到离事件集中选取尽可能多的区域到离事件。计算模块303根据区域到离事件集通过贪心算法,可以得到区域到离事件集对应的最大兼容到离事件集,从而可以获得船舶在多层区域的挂靠信息。

本发明提供的系统的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

本发明实施例通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

在上述实施例的基础上,所述索引创建模块,具体用于:

对所述第一位置信息对应的区域范围根据预设大小进行网格划分;

根据预设规则获取每一网格对应的第一特征值;

根据所述第一特征值和所述网格对应的id值创建所述索引映射表。

具体地,索引创建模块获取到待挖掘港口的第一位置信息后,对第一位置信息构成的区域范围进行网格划分,划分的网格大小可以根据实际情况进行调整,本发明实施例对此不作具体限定。划分成一个或多个网格后,根据预设规则获取每个网格对应的第一特征值,每个网格都对应唯一一个id值,建立该网格的第一特征值和id值的映射关系,构成索引映射表。

本发明实施例通过对待挖掘港口进行网格划分,并构建网格对应的第一特征值和id值之间的索引映射表,从而确定船舶在哪个网格中,缩小了判断船舶位置的范围,提高了判断效率。

在上述实施例的基础上,所述根据预设规则获取每一网格对应的第一特征值,包括:

获取所述网格中预设位置对应的经度和纬度;

将所述经度乘以预设值后取整,获得第一子特征值,将所述纬度乘以所述预设值后取整,获得第二子特征值;

根据所述第一子特征值和所述第二子特征值构成所述第一特征值。

具体地,获取划分好的网格预设位置对应的经度和纬度,例如,可以获取每个网格的左上角对应的经度和纬度。将经度和纬度分别乘以一个预设值,然后取整数,获得第一子特征值和第二子特征值,根据获得的第一子特征值和第二子特征值构成第一特征值,其中,具体可以为,将第一子特征值作为高位,第二子特征值作为低位,从而合成第一特征值。本发明实施例通过对网格预设位置的经纬度经过一系列处理获得网格对应的第一特征值,为确定船舶是否在网格内提供了依据,提高了判断船舶所在位置的效率。在上述实施例的基础上,所述到离事件构建模块,具体用于:

根据所述预设规则和所述第二位置信息获得第二特征值;

若判断获知所述第二特征值在所述索引映射表中包括的网格内,则获取所述第二特征值对应的目标网格;

获取所述船舶在所述目标网格包含的多层区域中的到离信息,构成所述区域到离事件集。

具体地,获取船舶的第二位置信息,第二位置信息可以是经度和纬度,将经度和纬度分别乘以预设值后取整数,获得第三子特征值和第四子特征值,将第三子特征值和第四子特征值合并构成第二特征值。其中,可以是第三子特征值作为高位,第四子特征值作为低位,还可以是其他方式,本发明实施例对此不作具体限定。根据每个网格对应的第一特征值可以判断出第二特征值是否在网格内以及在哪个网格内,其具体判断方法是比较第二特征值是否等于第一特征值,如果第二特征值与第一特征值相等,说明船舶在该第一特征值对应的网格里,将船舶所在的那个网格作为目标网格,获取该目标网格。目标网格中包含一层或多层区域,对该船舶在目标网格中所有区域进行点面包含计算或点点距离计算,从而可以确定出船舶在哪个区域内,查看船舶和该区域上一个到离状态,如果上一个到离状态为“到”,则仍旧在区域内,如果上一个到离状态为“离”,则将船舶与区域的到离状态更新为“到”。上面计算完成后,记录船舶最新的区域到离事件,将船舶、区域和到离状态的详细信息保存到区域到离事件集中。区域到离事件集反应了船舶在多层区域中各层区域的到离信息,从而可以获得船舶在各层区域的停留时间。

本发明实施例通过第二位置信息获得第二特征值,根据第二特征值获取对应的目标网格,并获取船舶在目标网格中包含的多层区域的到离信息,构成区域到离事件集,从而可以获取船舶在港口内的作业时间。

在上述各实施例的基础上,所述计算模块,具体用于:

将所述区域到离事件集按时间进行升序排序;

根据所述区域到离事件集,利用贪心算法获取最大兼容到离事件集;

根据所述最大兼容到离事件集获得所述船舶在多层区域的挂靠信息。

具体地,计算模块对区域到离事件集按时间进行升序排序,如果区域到离事件集中有的区域到离事件对应的时间相同,则应用先到达大区域再到达大区域包含的小区域的排序规则,以及先离开小区域再离开包含该小区域的大区域的排序规则。根据区域到离事件集,利用贪心算法获取最大兼容到离事件集。最大兼容到离事件集中包括船舶在港口内的航行细节,例如到港时间,离港时间,到达各层区域的时间以及离开各层区域的时间,从而可以计算出停留时长、等待时长、作业时长等。

本发明实施例通过根据第一位置信息创建索引映射表,根据第二位置信息和索引映射表构建多层区域的区域到离事件集,根据区域到离事件集,利用贪心算法获得船舶在多层区域的挂靠信息,从而计算得出船舶在港口内的作业时间以及航行细节。

图4为本发明实施例提供的一种基于港口多层区域的船舶挂靠事件挖掘系统实体结构示意图,如图4所示,所述系统,包括:处理器(processor)401、存储器(memory)402和总线403;其中,

所述处理器401和存储器402通过所述总线403完成相互间的通信;

所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待挖掘港口的第一位置信息,根据所述第一位置信息创建索引映射表,其中,所述待挖掘港口包括多层区域;获取预设时间段内船舶的第二位置信息,根据所述第二位置信息和所述索引映射表构建所述多层区域的区域到离事件集;根据所述区域到离事件集,利用贪心算法计算得出所述船舶在多层区域的挂靠信息。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的系统等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1