本发明涉及智能交通大数据领域,尤其涉及一种基于车辆卫星定位数据的道路匹配方法及装置。
背景技术:
车辆卫星定位数据,是安装了卫星定位车载设备的车辆按照一定的频率实时采集的卫星定位数据,该数据通过无线网络发送到卫星定位监控中心。
车辆卫星定位数据的道路匹配,是将采集的卫星定位数据匹配到已知道路的计算案处理过程,根据车辆的经度、维度等数据,与已知道路的空间位置数据进行匹配度计算,从而得出卫星定位数据的最佳匹配道路。已有的车辆卫星定位数据的道路匹配,通常是基于宽度优先搜索算法(又称bfs)的相邻卫星定位点的道路联通检测;其中,宽度优先搜索算法在搜索上不存在优先策略,导致很多无用的计算影响底层的响应速度,进一步也就影响了相邻两个位置点(卫星定位点)间可联通路径的数量上限,因而导致最终道路的匹配结果存在误差,降低了道路匹配结果的准确率。
技术实现要素:
为解决现有技术的不足,本发明提供一种基于车辆卫星定位数据的道路匹配方法及装置。
一方面,本发明提供一种基于车辆卫星定位数据的道路匹配方法,包括:
步骤s1:采集车辆的卫星定位数据;
步骤s2:确定所述卫星定位数据中各相邻位置点之间的连接关系;
步骤s3:计算各连接关系的连接代价;
步骤s4:采用维特比算法对各连接代价进行计算得到道路匹配结果。
可选地,所述卫星定位数据,包括:时间维度上的一系列位置点以及各位置点处的行驶方向;
对应地,所述步骤s2,具体包括:
步骤s2-1:按照时间维度,依次将所述一系列位置点中除最后一个位置点外的其他各位置点作为当前位置点;
步骤s2-2:确定所述当前位置点的第一候选路径集合,根据所述当前位置点的行驶方向,将所述第一候选路径集合中各候选路径的离开节点所连通的各路径作为所述当前位置点的下一个位置点的第二候选路径集合;
步骤s2-3:根据所述第一候选路径集合和所述第二候选路径集合确定所述当前位置点与所述当前位置点的下一个位置点之间的连接关系。
可选地,所述步骤s2-2,具体包括:
步骤s2-2-1:以所述当前位置点为圆心,以预设长度为半径在地图中圈定候选区域;
步骤s2-2-2:根据所述候选区域中含有的各路径的路径信息和当前位置点的行驶方向选取所述当前位置点的各候选路径;
步骤s2-2-3:确定所述当前位置点与其各候选路径之间的距离,并按照距离由大到小的顺序依次将对应的候选路径入栈,得到第一候选路径集合;
步骤s2-2-4:依次将所述第一候选路径集合中各候选路径出栈,并将各候选路径的离开节点所连通的各路径作为所述当前位置点的下一个位置点的候选路径;
步骤s2-2-5:确定所述当前位置点的下一个位置点的行驶方向与所述下一个位置点的各候选路径之间的夹角,并按照夹角由大到小的顺序依次将对应的候选路径入栈,得到第二候选路径集合。
可选地,所述步骤s2-3,具体为:
根据当前位置点的行驶方向,将所述第一候选路径集合和所述第二候选路径集合中能够连通的各候选路径的连接关系作为当前位置点与所述当前位置点的下一个位置点之间的连接关系。
可选地,所述步骤s3,具体为:依次对各连接关系按照如下公式计算对应的连接代价;
连接代价=α*l+m+β*p,其中:
α为当前位置点的行驶方向与所述当前位置点的当前候选路径之间的夹角;
l为当前位置点在其当前候选路径中的第一映射点与所述当前候选路径的离开节点之间的距离;
m为当前位置点与所述当前位置点的下一个位置点之间连通路径的长度;
β为当前位置点的下一个位置点的行驶方向与所述下一个位置点的当前候选路径之间的夹角;
p为当前位置点的下一个位置点在所述下一个位置点的当前候选路径中的第二映射点与所述下一个位置点的当前候选路径的来源节点之间的距离。
另一方面,本发明提供一种基于车辆卫星定位数据的道路匹配装置,包括:
采集模块,用于采集车辆的卫星定位数据;
连接关系确定模块,用于确定所述采集模块采集的卫星定位数据中各相邻位置点之间的连接关系;
计算模块,用于计算所述连接关系确定模块确定的各连接关系的连接代价;
道路匹配模块,用于采用维特比算法对所述计算模块计算的各连接代价进行计算得到道路匹配结果。
可选地,所述卫星定位数据,包括:时间维度上的一系列位置点以及各位置点处的行驶方向;
对应地,所述连接关系确定模块,包括:作为子模块,第一确定子模块、第二确定子模块、连接关系确定子模块;
所述作为子模块,用于按照时间维度,依次将所述采集模块采集的一系列位置点中除最后一个位置点外的其他各位置点作为当前位置点;
所述第一确定子模块,用于确定所述当前位置点的第一候选路径集合;
第二确定子模块,用于根据所述当前位置点的行驶方向,将所述第一确定子模块确定的第一候选路径集合中各候选路径的离开节点所连通的各路径作为所述当前位置点的下一个位置点的第二候选路径集合;
所述连接关系确定子模块,用于根据所述第一确定子模块得到的第一候选路径集合和所述第二确定子模块得到的第二候选路径集合确定所述当前位置点与所述当前位置点的下一个位置点之间的连接关系。
可选地,所述第一确定子模块,包括:圈定单元、选取单元和第一入栈子模块;
可选地,所述第二确定子模块,包括:出栈单元、作为单元和第二入栈子模块;
所述圈定单元,用于以所述作为子模块确定的当前位置点为圆心,以预设长度为半径在地图中圈定候选区域;
所述选取单元,用于根据所述圈定单元圈定的候选区域中含有的各路径的路径信息和当前位置点的行驶方向选取所述当前位置点的各候选路径;
所述第一入栈单元,用于确定所述当前位置点与所述选取单元选取的各候选路径之间的距离,并按照距离由大到小的顺序依次将对应的候选路径入栈,得到第一候选路径集合;
所述出栈单元,用于依次将所述第一候选路径集合中各候选路径出栈;
所述作为单元,用于将所述出栈单元出栈的各候选路径的离开节点所连通的各路径作为所述当前位置点的下一个位置点的候选路径;
所述第二入栈单元,用于确定所述当前位置点的下一个位置点的行驶方向与所述下一个位置点的各候选路径之间的夹角,并按照夹角由大到小的顺序依次将对应的候选路径入栈,得到第二候选路径集合。
可选地,所述连接关系确定子模块,具体用于:根据当前位置点的行驶方向,将所述第一确定子模块确定的第一候选路径集合和所述第二确定子模块确定的第二候选路径集合中能够连通的各候选路径的连接关系作为当前位置点与所述当前位置点的下一个位置点之间的连接关系。
可选地,所述计算模块,具体用于:依次对各连接关系按照如下公式计算对应的连接代价;
连接代价=α*l+m+β*p,其中:
α为当前位置点的行驶方向与所述当前位置点的当前候选路径之间的夹角;
l为当前位置点在其当前候选路径中的第一映射点与所述当前候选路径的离开节点之间的距离;
m为当前位置点与所述当前位置点的下一个位置点之间连通路径的长度;
β为当前位置点的下一个位置点的行驶方向与所述下一个位置点的当前候选路径之间的夹角;
p为当前位置点的下一个位置点在所述下一个位置点的当前候选路径中的第二映射点与所述下一个位置点的当前候选路径的来源节点之间的距离。
本发明的优点在于:
本发明中,在进行车辆卫星定位数据的道路匹配过程中,通过确定各位置点的候选路径集合,并采用优先策略优先处理最可能匹配的候选路径,依次找到各相邻位置点的所有连接关系,进而进行各连接关系的连接代价的计算及道路匹配;该过程中,不存在无用的计算,不会影响底层的响应速度,并且不会影响相邻两个位置点间可联通路径的数量上限,从而大大提高了道路匹配的准确率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1为本发明提供的一种基于车辆卫星定位数据的道路匹配方法流程图;
附图2为本发明提供的当前位置点及其下一个位置点的相关信息示意图;
附图3为本发明提供的一种基于车辆卫星定位数据的道路匹配装置模块组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
根据本发明的实施方式,提供一种基于车辆卫星定位数据的道路匹配方法,如图1所示,包括:
步骤101:采集车辆的卫星定位数据;
具体地,采集车辆的车载设备上报的卫星定位数据;
其中,卫星定位数据,包括:时间维度上的一系列位置点(即按照时间的先后顺序产生的一系列位置点)以及各位置点处的行驶方向。
步骤102:确定采集的卫星定位数据中各相邻位置点之间的连接关系;
在本实施例中,步骤102,具体包括:
步骤102-1:按照时间维度,依次将一系列位置点中除最后一个位置点外的其他各位置点作为当前位置点;
步骤102-2:确定当前位置点的第一候选路径集合,根据当前位置点的行驶方向,将第一候选路径集合中各候选路径的离开节点所连通的各路径作为当前位置点的下一个位置点的第二候选路径集合;
步骤102-3:根据第一候选路径集合和第二候选路径集合确定当前位置点与当前位置点的下一个位置点之间的连接关系。
根据本发明的实施方式,步骤102-2,具体包括:
步骤102-2-1:以当前位置点为圆心,以预设长度为半径在地图中圈定候选区域;
优选地,在本实施例中,预设长度为30米。
步骤102-2-2:根据候选区域中含有的各路径的路径信息和当前位置点的行驶方向选取当前位置点的各候选路径;
具体地,根据候选区域中含有的各路径的规定行驶方向、规定行驶车辆类型以及连通性等路径信息,选取与当前位置点的行驶方向相同(车辆不能逆行)、行驶车辆类型相同的路径作为当前位置点的候选路径。
步骤102-2-3:确定当前位置点与其各候选路径之间的距离,并按照距离由大到小的顺序依次将对应的候选路径入栈,得到第一候选路径集合;
具体地,沿当前位置点分别向各候选路径作垂线,测量当前位置点与垂足之间的距离得到前位置点与其各候选路径之间的距离,比对各距离的大小,并按照由大到小的顺序依次将对应的候选路径入栈,得到第一候选路径集合。
本实施例中,当前位置点与候选路径之间的距离越短,则该候选路径是当前位置点的匹配路径的可能性越大,按照距离由大到小的顺序依次将对应的候选路径入栈,使得后续距离短的候选路径先出栈,从而优先找到距离短的候选路径的连通路径,即通过优先策略优先处理最可能匹配的候选路径;整体过程中不存在无用的计算,并且不会影响相邻两个位置点间可联通路径的数量上限。
步骤102-2-4:依次将第一候选路径集合中各候选路径出栈,并将各候选路径的离开节点所连通的各路径作为当前位置点的下一个位置点的候选路径;
在路网中,一条路径通常含有多条连通的路径,各连通的路径均有可能是当前位置点的下一位置点所在的路径,故本发明中,将各候选路径的离开节点所连通的各路径均作为当前位置点的下一个位置点的候选路径,保证数据的完整性;其中,候选路径的离开节点,即该路径同与其连通的其他路径的交点,也是连通的其他路径的来源节点,还称为连通的其他路径的起点。
如图2所示的某一连通路径,其中b点是路径ab的离开节点,也是路径bc的来源节点。
步骤102-2-5:确定当前位置点的下一个位置点的行驶方向与所述下一个位置点的各候选路径之间的夹角,并按照夹角由大到小的顺序依次将对应的候选路径入栈,得到第二候选路径集合。
具体地,分别沿当前位置点的下一个位置点作所述下一个位置点的候选路径的平行线,所述下一个位置点的行驶方向与平行线之间的夹角即为所述下一个位置点的行驶方向与所述下一个位置点的候选路径之间的夹角。
本发明中,所述下一个位置点的行驶方向与其候选路径之间的夹角越小,表示该候选路径是所述一下个位置点的匹配路径的可能性越大;按照夹角由大到小的顺序依次将对应的候选路径入栈,从而优先处理,即通过优先策略优先处理最可能匹配的候选路径;整体过程中不存在无用的计算,并且不会影响相邻两个位置点间可联通路径的数量上限。
根据本发明的实施方式,步骤102-3,具体为:
根据当前位置点的行驶方向,将第一候选路径集合和第二候选路径集合中能够连通的各候选路径的连接关系作为当前位置点与当前位置点的下一个位置点之间的连接关系。
优选地,在本实施例中,记录各候选路径的路径编号,根据当前位置点的行驶方向,将第一候选路径集合和第二候选路径集合中能够连通的各候选路径的路径编号连续保存,得到当前位置点与当前位置点的下一个位置点之间的连接关系;
例如,当前位置点为h,点h的候选路径集合中含有道路编号为1和2的候选路径,点h的下一个位置点为y,点y的候选路集合中含有道路编号为3、4、5、6的候选路径;其中,道路编号为1的候选路径与道路编号为3和4的候选路径连通,道路编号为2的候选路径与道路编号为5和6的候选路径连通,则点h与点y的连接关系为1-3、1-4、2-5和2-6。
步骤103:计算各连接关系的连接代价;
具体地,依次对各连接关系按照如下公式计算对应的连接代价;
连接代价=α*l+m+β*p,其中:
α为当前位置点的行驶方向与当前位置点的当前候选路径之间的夹角;
l为当前位置点在其当前候选路径中的第一映射点与当前候选路径的离开节点之间的距离;
m为当前位置点与当前位置点的下一个位置点之间连通路径的长度;
β为当前位置点的下一个位置点的行驶方向与所述下一个位置点的当前候选路径之间的夹角;
p为当前位置点的下一个位置点在所述下一个位置点的当前候选路径中的第二映射点与所述下一个位置点的当前候选路径的来源节点之间的距离。
更加具体地,如图2所示,沿当前位置点向其当前候选路径ab作垂线,并将垂足w作为第一映射点;沿当前位置点的下一个位置点向所述下一个位置点的当前候选路径de作垂线,并将垂足q作为第二映射点;m即为连通路径wb、bc、cd、dq的长度和;
其中,各连通路径的长度,具体为路网数据中已有的统计数据。
需要说明地,附图2仅用于示例说明,而不用于限定。
步骤104:采用维特比算法对各连接代价进行计算得到道路匹配结果。
具体地,将计算得到的各连接代价作为维特比(viterbi)算法模型的输入数据进行计算,并输出道路匹配结果。
实施例二
根据本发明的实施方式,提供一种基于车辆卫星定位数据的道路匹配装置,如图3所示,包括:
采集模块201,用于采集车辆的卫星定位数据;
连接关系确定模块202,用于确定采集模块201采集的卫星定位数据中各相邻位置点之间的连接关系;
计算模块203,用于计算连接关系确定模块202确定的各连接关系的连接代价;
道路匹配模块204,用于采用维特比算法对计算模块203计算的各连接代价进行计算得到道路匹配结果。
根据本发明的实施方式,采集模块201,具体用于:采集车辆的车载设备上报的卫星定位数据;其中,卫星定位数据,包括:时间维度上的一系列位置点(即按照时间的先后顺序产生的一系列位置点)以及各位置点处的行驶方向;
根据本发明的实施方式,连接关系确定模块202,包括:作为子模块,第一确定子模块、第二确定子模块、连接关系确定子模块,其中:
作为子模块,用于按照时间维度,依次将采集模块201采集的一系列位置点中除最后一个位置点外的其他各位置点作为当前位置点;
第一确定子模块,用于确定当前位置点的第一候选路径集合;
第二确定子模块,用于根据当前位置点的行驶方向,将第一确定子模块确定的第一候选路径集合中各候选路径的离开节点所连通的各路径作为当前位置点的下一个位置点的第二候选路径集合;
连接关系确定子模块,用于根据第一确定子模块得到的第一候选路径集合和第二确定子模块得到的第二候选路径集合确定当前位置点与当前位置点的下一个位置点之间的连接关系。
根据本发明的实施方式,第一确定子模块,包括:圈定单元、选取单元和第一入栈子模块,其中:
圈定单元,用于以作为子模块确定的当前位置点为圆心,以预设长度为半径在地图中圈定候选区域;
选取单元,用于根据圈定单元圈定的候选区域中含有的各路径的路径信息和当前位置点的行驶方向选取当前位置点的各候选路径;
第一入栈单元,用于确定当前位置点与选取单元选取的各候选路径之间的距离,并按照距离由大到小的顺序依次将对应的候选路径入栈,得到第一候选路径集合。
其中,预设长度,优选为30米。
根据本发明的实施方式,第二确定子模块,包括:出栈单元、作为单元和第二入栈子模块,其中:
出栈单元,用于依次将第一候选路径集合中的各候选路径出栈;
作为单元,用于将出栈单元出栈的各候选路径的离开节点所连通的各路径作为当前位置点的下一个位置点的候选路径;
第二入栈单元,用于确定当前位置点的下一个位置点的行驶方向与所述下一个位置点的各候选路径之间的夹角,并按照夹角由大到小的顺序依次将对应的候选路径入栈,得到第二候选路径集合。
根据本发明的实施方式,连接关系确定子模块,具体用于:根据当前位置点的行驶方向,将第一确定子模块确定的第一候选路径集合和第二确定子模块确定的第二候选路径集合中能够连通的各候选路径的连接关系作为当前位置点与当前位置点的下一个位置点之间的连接关系。
根据本发明的实施方式,计算模块203,具体用于:依次对各连接关系按照如下公式计算对应的连接代价;
连接代价=α*l+m+β*p,其中:
α为当前位置点的行驶方向与当前位置点的当前候选路径之间的夹角;
l为当前位置点在其当前候选路径中的第一映射点与当前候选路径的离开节点之间的距离;
m为当前位置点与当前位置点的下一个位置点之间连通路径的长度;
β为当前位置点的下一个位置点的行驶方向与所述下一个位置点的当前候选路径之间的夹角;
p为当前位置点的下一个位置点在所述下一个位置点的当前候选路径中的第二映射点与所述下一个位置点的当前候选路径的来源节点之间的距离。
本发明中,在进行车辆卫星定位数据的道路匹配过程中,通过确定各位置点的候选路径集合,并采用优先策略优先处理最可能匹配的候选路径,依次找到各相邻位置点的所有连接关系,进而进行各连接关系的连接代价的计算及道路匹配;该过程中,不存在无用的计算,不会影响底层的响应速度,并且不会影响相邻两个位置点间可联通路径的数量上限,从而大大提高了道路匹配的准确率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。