一种路口实时轨迹修正的方法、装置、电子设备及计算机可读介质与流程

文档序号:20910637发布日期:2020-05-29 13:01阅读:191来源:国知局
一种路口实时轨迹修正的方法、装置、电子设备及计算机可读介质与流程

本发明涉及位置地图定位领域,具体为一种路口实时轨迹修正方法及装置。



背景技术:

在城市道路中,实时、准确、可靠地对移动端进行轨迹预测具有极高的应用价值,不仅可以提供准确的基于位置的服务,而且可以帮助过往移动端预知前方的交通状况。随着物联网发展的迅速,各式各样的基于gis的应用越来越多,功能五花八门,实时监控、定位便是其中之一,但是,由于天气状况、高楼大厦等导致gps信号减弱,收集到的gps数据出现误差。加之城市道路网络结构复杂,交叉路口多,因此,要把实时轨迹正确的展示在地图上,是一件比较困难的事。

如图1所示,在道路行驶的移动端gps轨迹点为abc点,在道路的岔路口处为d点,d点无法正确匹配到道路1或者道路2上,现有技术中通常采用延迟策略,把采集到的gps数据延迟1-2分钟,即实时展示的gps轨迹点是前一分钟或两分钟的轨迹点,这样会有数据不实时,存在延迟的问题;或者基于历史轨迹的欧氏空间进行,并未考虑在受限路网中采用不确定性历史数据的移动端轨迹预测。这种方式需要大量的历史轨迹进行空间分析,然后对道路做权重标识,权重大,移动端经过的可能性就高,存在频繁模式挖掘带来的查询时间过长而影响预测效率,存在多余噪声影响轨迹预测准确率的问题。

因而现有技术中在路口转弯处无法实时准确展示匹配到实际移动端所在的道路上的gps轨迹点,导致行驶轨迹有误的情况出现。



技术实现要素:

本发明目的在于提供一种路口实时轨迹修正方法,以解决现有技术中在路口转弯处无法实时准确展示匹配到实际移动端所在的道路上的gps轨迹点,进而导致行驶轨迹有误问题。

为达成上述目的,一种路口实时轨迹修正方法,用于车辆行驶于路口时,所述方法应用于服务器,包括:

接收第一道路和第二道路的道路位置点数据,所述道路位置点数据包含经纬度数据和方向数据,所述第一道路与第二道路相交。

接收gps模块采集的第一数据,接收传感器模块采集的第二数据,所述第一数据包括第一时间和经纬度,所述第二数据包括第二时间和第一方向;

合并第一数据和第二数据获得第一点位数据,定义第一点位数据中的时间为第三时间,所述第三时间为第一时间和第二时间统一后而得;

检测第一点位数据是否与道路位置点数据匹配;

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围;

根据第一gps轨迹点确定传感器模块的方向为a;

当a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点替换为第一道路的位置点成为第二点位数据;

将第一gps轨迹点替换为第二道路的位置点成为第二点位数据;

发送第二点位数据给显示设备,以使第二点位数据显示在显示设备上。

优选的,所述位置点数据通过提取地图数据中的路网数据获得。

一种路口实时轨迹修正装置,应用于服务器,包括:

第一接收模块,用于接收第一道路和第二道路的道路位置点数据,所述道路位置点数据包含经纬度数据和方向数据,所述第一道路与第二道路相交;

第二接收模块,用于接收gps模块采集的第一数据,接收传感器模块采集的第二数据,所述第一数据包括第一时间和经纬度,所述第二数据包括第二时间和第一方向;

合并模块:用于合并第一数据和第二数据获得第一点位数据,定义第一点位数据中的时间为第三时间,所述第三时间为第一时间和第二时间统一后而得;

检测模块,用于检测第一点位数据是否与道路位置点数据匹配;

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围;

根据第一gps轨迹点确定传感器模块的方向为a;

当a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点替换为第一道路的位置点成为第二点位数据;

将第一gps轨迹点替换为第二道路的位置点成为第二点位数据;

发送模块,用于第二点位数据给显示设备,以使第二点位数据显示在显示设备上。

一种路口实时轨迹修正方法,应用于终端,所述终端上设置有gps模块、传感器模块以及显示装置,所述终端与服务器通信连接;

gps模块采集第一数据,并发送给服务器;

传感器模块采集第二数据,并发送给服务器;

以使服务器合并第一数据和第二数据获得第一点位数据,所述第一点位数据中的时间为第一数据和第二数据统一后而得;

检测第一点位数据是否与道路位置点数据匹配;

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围;

根据第一gps轨迹点确定传感器模块的方向为a;

定义:a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点与第一道路的位置点数据匹配;

定义:将第一gps轨迹点与第二道路的位置点数据匹配;

替换第一gps轨迹点的经纬度数据,将第一gps轨迹点的经纬度数据替换成第一道路或者第二道路的位置点数据,定义第一gps轨迹点替换经纬度数据后为第二gps轨迹点;

发送第二gps轨迹点的经纬度数据给显示设备,

显示装置接收第二gps轨迹点数据并显示。

一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。

一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的方法。

有益效果,本申请的技术方案具备如下技术效果:

1、本发明通过对gps采集到的轨迹点的数据信息与地图数据实时匹配,将不在道路上的gps轨迹点,根据历史轨迹点计算车头方向的范围值,并与传感器模块的方向对比,根据匹配模块将不在道路上的gps轨迹点匹配到道路上,并更新新的gps轨迹点数据,以达到路口实时轨迹修正的目的。

2、本发明还能够通过传感器模块检测移动端的速度数据信息,在对应的路口位置移动端如果不转弯变换道路,则速度变化不大,匹配到原道路的概率大大增加,移动端在更换道路转弯时移动端会减速,则通过地图匹配模块将gps轨迹点匹配到即将转弯的道路上,以确保gps轨迹点显示在正确道路上。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1为gps轨迹点在路口出现错误的示意图。

图2为gps轨迹点在路口修正过程的示意图。

图3为本发明匹配模块的示意图。

图4为本发明的系统示意图。

图5为本发明矫正示意图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

实时、准确、可靠地对移动车辆进行轨迹预测具有极高的应用价值,不仅可以提供准确的基于位置的服务,而且可以帮助过往车辆预知前方的交通状况,但是现有的车辆在路口时gps轨迹点会出现显示偏差的情况,为了本申请提出一种大大减小此偏差的方法和装置,主要是利用传感器模块数据和地图数据配合gps数据解决这个问题,实时对轨迹点的位置进行校正。

本实施例提供一种方案,包括服务器、gps模块、传感器模块和显示装置,其中gps模块用于采集第一数据,并发送给服务器。

传感器模块:用于采集第二数据,并发送给服务器。

显示装置:接收经纬度数据并显示。

服务器用于处理数据。

优选的,所述传感器模块包括方向传感器模块和速度传感器模块。

本申请中的方法gps模块采集的第一数据,包括第一时间和经纬度,还包括高度、速度和方向数据,所述第二数据包括第二时间和第一方向传感器模块采集速度和方向数据,而这些传感器模块在现有技术中都是常见的,有相应的后台采集程序。

匹配过程如图4所示,具体步骤如下:

第一步:将地图数据预编译生成匹配模块

提取地图数据中的路网数据,制作道路索引数据,即把道路id与道路位置点序列做映射。例如:

a路:(116.3637239.55196,116.3633539.55195,116.3630939.55194,116.3626039.55192,116.3623539.55191,116.3622239.55190,……),

b路:(116.1166239.69882,116.1164039.69859,116.1163839.69857,116.1162939.69847,116.1162739.69845,116.1159739.69812,116.1159439.69803,……)。

第二步:数据采集

采集gps数据时,需要把传感器模块的速度和方向也作为采集数据中的一项,并且为了保证时间统一,用设备的系统时间替换gps的时间,因为传感器模块使用的时间是系统时间。

合成新的gps数据(时间、速度、方向、高度、经度、纬度、传感器模块速度、传感器模块方向)。

第三步:实时轨迹匹配

对于大多数情况下,gps轨迹点是正确的匹配在道路上的,只有极个别的情况下没有匹配到道路上,这时,我们要做如下处理,下面的逻辑说明以一辆车为例作为说明,对于多辆车的情况,由于车辆id是唯一的,因此,用车辆id作为key,轨迹序列作为值来存储数据:

步骤a:实时采集gps轨迹点,并将其输入到gps轨迹流缓冲中。

步骤b:gps轨迹流缓冲相当于一个队列,具有先进先出的特性,缓冲中始终保存连续的且按时间顺序的3个gps轨迹点。

步骤c:从流缓冲中取出最近的一个轨迹点,即最新采集的经纬度信息,也就是最后进入队列的经纬度信息,如图5中的d点,通过地图匹配模块匹配这个gps点是否在道路缓冲区内,如果在道路缓冲区内,那么直接传递gps数据(时间、gps速度、gps方向、gps经纬度)到显示装置做展示。

步骤d:如果步骤三中的gps点(d点)没有匹配到道路缓冲区内,但是d点中保存了传感器模块的方向,这里我们记作方向a,同时保存了传感器模块的速度,这里我们记作速度a,由于我们在缓冲中保存了最近的3gps轨迹点,因此,通过提取最新的三个轨迹点可以计算出车辆的车头方向。

这里记作方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围,o的方向与d的方向差别不大时,则适用于如下过程,如图5所示,如果方向a∈[方向o–x,方向o+x](x代表方向一个阈值范围,如:1度、2度),那么就通过地图匹配模块,把点d匹配到a路上,计算点d到a路上的垂足点,即点d1。

如果方向(x代表方向一个范围,如:1度、2度),那么我们就通过地图匹配模块,把点d匹配到b路上,计算点d到b路上的垂足点,即点d2。

步骤e:可以通过速度a,一般情况下,车辆直行速度基本保持不变,那么点d匹配到a路上的机率就大,但是车辆在转弯时,都会减速,那么点d匹配到b路上的机率就大,同样,我们通过地图匹配模块计算垂足匹配到对应的道路上。

步骤六:通过前面的步骤,我们可以匹配到新的gps点,即d1点或d2点,然后用新的点的经纬度信息替换掉原始的经纬度信息,最后传递gps数据(时间、gps速度、gps方向、新匹配后的gps经纬度)到显示装置做展示。

为了达到实时对轨迹点的位置进行校正目的,本申请给出如下方法,具体的,一种路口实时轨迹修正方法,用于车辆行驶于路口时,所述方法应用于服务器,包括:

接收第一道路和第二道路的道路位置点数据,所述道路位置点数据包含经纬度数据和方向数据,所述第一道路与第二道路相交。

接收gps模块采集的第一数据,接收传感器模块采集的第二数据,所述第一数据包括第一时间和经纬度,所述第二数据包括第二时间和第一方向。

合并第一数据和第二数据获得第一点位数据,定义第一点位数据中的时间为第三时间,所述第三时间为第一时间和第二时间统一后而得。

检测第一点位数据是否与道路位置点数据匹配。

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围。

根据第一gps轨迹点确定传感器模块的方向为a。

当a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点替换为第一道路的位置点成为第二点位数据。

将第一gps轨迹点替换为第二道路的位置点成为第二点位数据。

发送第二点位数据给显示设备,以使第二点位数据显示在显示设备上。

在上述实施例的基础上,进一步的,在本发明中,通过gps模块采集到标准的gps数据,其包括时间、速度、方向、高度、经度、纬度等标准信息,用系统时间替换gps数据中的时间,通过传感器模块采集传感器模块的速度和方向,最后,合成新的gps数据,新的gps数据包括时间、速度、方向、高度、经度、纬度、传感器模块速度、传感器模块方向等标准信息。

其中,传感器模块包括重力传感器模块、加速度传感器模块和磁场传感器模块,进行实时数据的收集和监测,gps采集时间、高度、经纬度、速度和方向数据,传感器模块采集速度和方向数据。

进一步的,在本发明中,通过滑动窗口形式保存采集的最近十个gps轨迹点,采取过多gps轨迹点会影响数据处理的效率,采取过少gps轨迹点容易在确定方向时导致不够准确的情况出现。

其中,需要知道的是,全球定位系统(globalpositioningsystem),gps空间定位技术作为最常用的定位技术手段之一,通过安装在移动端上的gps接收机实时记录移动端地理位置坐标,即经纬度等信息,为生成移动端的数据空间分布图提供重要的位置信息。

在实际应用过程中,用于终端的路口实时轨迹修正装置安装在移动端的设备上,移动端可以是车辆或者其他物品,利用gps的gps定位功能,获取移动端实时的位置信息,在移动路径上的gps轨迹点,即gps位置信息。

移动端的使用者,可以在准备利用移动端位移时,启动该路口实时轨迹修正装置,在启动了该路口实时轨迹修正装置之后,该修正终端在移动端作业过程中,实时接收服务器发来的信号,并保存该移动端所在位置的gps轨迹点。

为了获得更好的技术效果,该路口实时轨迹修正装置中所采用的具有gps定位功能设备的精度,可以为亚米级或称分米级,也可以根据实际需要选择厘米级精度的设备。

具体获取gps轨迹点的实现方式可以采用与现有技术中相类似的方式,如具有gps定位功能的设备可以为gps接收机设备,也可以为内置于修正终端中的gps模块,若gps接收机设备为外置设备时,可以通过数据处理装置上的串行接口等数据接口与修正终端连接,将获取到的gps位置信息发送至修正终端上。

优选的,所述位置点数据通过提取地图数据中的路网数据获得。

一种路口实时轨迹修正装置,应用于服务器,包括:

第一接收模块,用于接收第一道路和第二道路的道路位置点数据,所述道路位置点数据包含经纬度数据和方向数据,所述第一道路与第二道路相交。

第二接收模块,用于接收gps模块采集的第一数据,接收传感器模块采集的第二数据,所述第一数据包括第一时间和经纬度,所述第二数据包括第二时间和第一方向。

合并模块:用于合并第一数据和第二数据获得第一点位数据,定义第一点位数据中的时间为第三时间,所述第三时间为第一时间和第二时间统一后而得。

检测模块,用于检测第一点位数据是否与道路位置点数据匹配。

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围。

根据第一gps轨迹点确定传感器模块的方向为a。

当a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点替换为第一道路的位置点成为第二点位数据。

将第一gps轨迹点替换为第二道路的位置点成为第二点位数据。

发送模块,用于第二点位数据给显示设备,以使第二点位数据显示在显示设备上。

一种路口实时轨迹修正方法,应用于终端,所述终端上设置有gps模块、传感器模块以及显示装置,所述终端与服务器通信连接。

gps模块采集第一数据,并发送给服务器。

传感器模块采集第二数据,并发送给服务器。

以使服务器合并第一数据和第二数据获得第一点位数据,所述第一点位数据中的时间为第一数据和第二数据统一后而得;

检测第一点位数据是否与道路位置点数据匹配。

若检测第一点位数据与道路位置点数据不匹配,定义第一点位数据对应的gps轨迹点为第一gps轨迹点,根据第一gps轨迹点的至少前两个gps轨迹点形成的方向为车头方向o,根据第一道路的方向数据确定第一道路的方向为d,o∈[d–z,d+z],z代表方向的一个阈值范围。

根据第一gps轨迹点确定传感器模块的方向为a。

定义:a∈[o–x,o+x],x代表方向的一个阈值范围,将第一gps轨迹点与第一道路的位置点数据匹配。

定义:将第一gps轨迹点与第二道路的位置点数据匹配。

替换第一gps轨迹点的经纬度数据,将第一gps轨迹点的经纬度数据替换成第一道路或者第二道路的位置点数据,定义第一gps轨迹点替换经纬度数据后为第二gps轨迹点。

发送第二gps轨迹点的经纬度数据给显示设备,

显示装置接收第二gps轨迹点数据并显示。

一种电子设备,包括:

一个或多个处理器。

存储装置,用于存储一个或多个程序。

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。

一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的方法。

本公开中描述的技术可以至少部分地实现在硬件、软件、固件或任何上述组合中。例如,所描述的技术的各方面可以在一个或多个处理器中实现,处理器包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或任何其他等效集成或离散逻辑电路,以及这样的组件的任意组合。术语“处理器”或“处理电路”总体上可以指代前述逻辑电路中的任一项,单独地或与其他逻辑电路组合或任何其它等效电路。包括硬件的控制单元也可以执行本公开的一种或更多种技术。这样的硬件、软件和固件可以实现在同一设备内或在不同的设备内,以支持本公开中所描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以一起或单独作为独立元件但协同操作的逻辑设备来实现。以模块或单元的形式描述不同特征的目的是突出不同功能方面且不一定暗示这些模块或单元必须通过单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以通过单独的硬件或软件组件执行或集成在共同或单独的硬件或软件中的组件内。本公开中描述的技术也可以体现或编码在包括指令的计算机可读介质(诸如,计算机可读存储介质)中。在计算机可读存储介质中内嵌或编码的指令可以使可编程处理器或其他处理器例如当指令执行时执行方法。计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、硬盘、cd-rom、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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