路网匹配方法、装置、电子设备及介质与流程

文档序号:23507374发布日期:2021-01-01 18:17阅读:105来源:国知局
路网匹配方法、装置、电子设备及介质与流程

本公开涉及车辆行驶领域,尤其涉及一种路网匹配方法、装置、电子设备及介质。



背景技术:

道路是地图中十分重要的一类基础性地理要素,随着5g、大数据技术的日渐普及,路网数据的快速更新对实施车辆导航、紧急事件相响应,乃至车联网等均具有十分重要的意义和价值。

采用gps装置开展机动车轨迹研究受到越来越广泛的应用。路网映射是开展机动车轨迹、排放研究的基础,路网映射的主要目的是为了通过特定的算法,将gps中采集的车辆定位数据与现有路网数据进行匹配,以准确显示机动车行驶的真实轨迹,从而起到定位、追踪、辅助分析判断的作用。因此,获取有效的移动轨迹数据和进行准确的移动轨迹道路匹配是开展相关研究的基础,其中蕴含着巨大的研究价值。

当前,移动轨迹的接近性问题是研究的热点问题之一,目前有多种不同的方法给出了不同的思路,如基于欧氏距离的轨迹道路接近性算法,以及基于最长公共子序列的轨迹相似性方法(即lcss),还有网格法等,均通过不同的角度对移动轨迹的接近性问题提出了不同的方案。但是,以上各方法均存在使用上的局限性,如基于欧式距离的接近性算法需要轨迹之间的采样点个数相等,这在实际操作中很难做到;lcss没有对某些漂移轨迹点进行有效判别,导致结果不够精确;网格法的难点在于对网格大小的划分很难界定,因此给最终的结果带来很大的不确定性和人为的干扰。

上述方法中需要聘用专业的数据采集人员,使用专业车辆和定位设备等对道路和车辆行驶轨迹进行测量,往往存在着信息获取周期长、后期计算量大以及设备维护费用较高等问题。而一些利用gps/gnss等手段进行机动车路网匹配的方法,其虽然提高了精度,但导致计算量几何级数增长,从而无法实现实时匹配运算,在实际操作中,大大限制了该方法的实用性和应用范围,牺牲了时效性和效率。



技术实现要素:

(一)要解决的技术问题

针对于现有的技术问题,本公开提出一种路网匹配方法、装置、电子设备及介质,用于至少部分解决上述技术问题之一。

(二)技术方案

本公开第一方面提供一种路网匹配方法,包括:记录目标车辆的第一位置点及第二位置点;获取第一位置点或第二位置点为中心点的预设区域内的所有路线段;分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角,确定最小夹角对应的路线段;计算中心点到最小夹角对应的路线段的距离;判断距离是否在预设有效距离阈值范围内,若是,将该路线段确定为可拟合路网线路。

可选地,记录目标车辆的第一位置点及第二位置点包括:记录第一时刻目标车辆的经纬度坐标,作为第一位置点,记录第二时刻目标车辆的经纬度坐标,作为第二位置点,其中,第一时刻与第二时刻为不同时刻。

可选地,获取第一位置点或第二位置点为中心点的预设区域内的所有路线段包括:以中心点对道路路网线段进行网格化处理,得到预设大小的第一网格;以第一网格为基础,进行网格扩展,获取扩展后的网格中与第一网格最邻近的n个网格;获取第一网格及n个网格对应的id,将id与所有路网线段的id进行匹配,获取第一网格及n个网格中包含的所有路线段。

可选地,采用rtree方法进行网格扩展。

可选地,使用目标车辆的车载gps设备记录目标车辆的第一位置点及第二位置点。

可选地,若距离不在预设距离阈值范围内,则返回记录目标车辆的第一位置点及第二位置点的操作,重新进行路网匹配。

可选地,分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角包括:计算第一位置点与第二位置点的连线与每一路线段之间的夹角余弦值或正弦值或正切值或余切值。

本公开第二方面提供一种路网匹配装置,包括:记录模块,用于记录目标车辆的第一位置点及第二位置点;获取模块,用于获取第一位置点或第二位置点为中心点的预设区域内的所有路线段;第一计算模块,用于分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角,确定最小夹角对应的路线段;第二计算模块,用于计算中心点到最小夹角对应的路线段的距离;判断模块,用于判断距离是否在预设有效距离阈值范围内,若是,将该路线段确定为可拟合路网线路。

本公开第三方面提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述方法。

本公开第四方面提供一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现上述方法。

(三)有益效果

本公开提出的一种路网匹配方法、装置、电子设备及介质,有益效果为:

1、该方法直接采用车辆轨迹点连线与道路路段夹角进行判断,运算过程简单,相比于现有的方法运算速度更快,具有更高的运算效率。

2、该方法对计算资源的需求更低,能始终维持较高的计算精度,以满足计算需要。

3、该方法后续可支持流处理计算,具有很好的拓展性。由于流处理计算对数据及时性的严格要求,现有方法由于运算步骤不够优化,需要极大消耗计算资源,因而无法满足流处理计算的相关技术要求。而采用本方法可以大大降低对计算资源的需求,因而可以对后续的流处理计算实现有效支撑,并在此基础上构建机动车定位、排放监测和监督的流处理方案。

附图说明

图1示意性示出了本公开实施例的路网匹配方法的流程图;

图2示意性示出了本公开实施例提供的轨迹点趋势性判断方法图;

图3示意性示出了本公开实施例提供的目标车辆的行驶轨迹快速匹配结果图;

图4示意性示出了根据本公开实施例的路网匹配装置的框图;

图5示意性示出了根据本公开实施例的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

本公开实施例提供一种路网匹配方法以及应用该方法的路网匹配装置,该方法包括记录目标车辆的第一位置点及第二位置点。获取第一位置点或第二位置点为中心点的预设区域内的所有路线段。分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角,确定最小夹角对应的路线段。计算中心点到所述最小夹角对应的路线段的距离。判断距离是否在预设距离阈值范围内,若是,将该路线段确定为可拟合路网。

通过本公开实施例,对轨迹点与道路的接近性判断,即采用两个相邻轨迹点的连线与相近道路线段延长线的夹角进行判断轨迹点与道路的吻合度,使得该方法具有更高的运算效率,且该方法对计算资源的需求更低,能始终维持较高的计算精度,以满足计算需要。此外,该方法后续可支持流处理计算,具有很好的拓展性。

图1示意性示出了本公开实施例的路网匹配方法的流程图。

如图1所示,该方法例如可以包括操作s101~操作s105。

在操作s101,记录目标车辆的第一位置点及第二位置点。

在本公开实施例中,例如可以采用目标车辆的车载gps设备进行位置采集,可以对于直接获取的gps数据进行数据清洗。具体地,在第一时刻记录目标车辆的经纬度坐标,作为第一位置点,在第二时刻记录目标车辆的经纬度坐标,作为第二位置点。其中,第一时刻与第二时刻为不同时刻。例如,对目标车辆a的第i个位置点记录为坐标和时间戳的集合pi(longai,latai,tai)。同理,对目标车辆a的第j个位置点记录为pj(longaj,lataj,taj),其中longai、latai和tai分别表示经度、维度和定位时间,其中,i≠j。

在操作s102,获取第一位置点或第二位置点为中心点的预设区域内的所有路线段。

在本公开实施例中,可以以第一位置点作为中心点,也可以以第二位置点作为中心点,具体可根据目标车辆实际所处的环境的需求设定,具体本公开不做限制。选定中心点后,进行如下操作:

首先,以该中心点为中心,对获取的路网数据包含的道路路网进行网格处理,得到预设大小的第一网格。例如,在经纬度坐标下,网格大小可以设定为0.004476°

然后,以该第一网格为基础,对网格进行扩展,获取扩展后的网格中与该第一网格最邻近的n个网格,并获取第一网格及n个网格对应的id,id是指网格的编号,用来区分不同的网格,不同的网格id编号对应特定的地理位置。其中,可采用rtree方法进行网格扩展,采用nearestneighbors方法获取扩展后的网格中与该第一网格最邻近的n个网格及id。

最后,将id与所有路网线段的id进行匹配,获取第一网格及n个网格中包含的所有路线段。由于路网数据中每一路网线段都具有对应的id,一般采用字典的方式进行存储,因此可以直接获取id对应的字典以得到所有路网线段对应的id。获取的所有路线段可以记为l={l1,l2…ln}。

在操作s103,分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角,确定最小夹角对应的路线段。

在本公开实施例中,如图2所示,可以将第一位置点(对应轨迹点a)与第二位置点(对应轨迹点b)连接成一条直线ab,计算该直线ab与路线段l的夹角α。可以计算直线ab与路线段l的夹角余弦值cosα,也可计算ab与路线段l的夹角正弦值sinα,还可计算夹角的正切值、余切值等,具体本公开不做限制。例如,计算直线ab与路线段l的夹角余弦值cosα时,需计算得到所有路线段与直线ab的夹角余弦值中的min(1-cosα),其对应路网可记为1closest。计算直线ab与路线段l的夹角正弦值sinα时,需计算得到所有路线段与直线ab的夹角正弦值中的min(sinα),其对应路网可记为lclosest。其中,α的取值为[0,π/2]。

在操作s104,计算中心点到最小夹角对应的路线段的距离。

在本公开实施例中,可采用geopandas.distance()方法获取中心点(第一位置点pi)到最接近路线段lclosest的距离dclosest。

在操作s105,判断距离是否在预设距离阈值范围内,若是,则执行操作s106。

在本公开实施例中,该预设有效距离阈值可以根据实际需求设定,例如,可以设定为0.005°。若距离dclosest小于预设有效距离阈值,则将对应的路线段lclosest确定为可拟合路网线路,若距离dclosest大于等于预设有效距离阈值,则设定当前记录的第一位置点及第二位置点,返回操作s101,重新执行操作s101~操作s105。

s106,将该路线段确定为可拟合路网。

为了更清楚第阐述本公开,下面以一个具体的例子进行进一步介绍。

具体地,对目标车辆a的第1个位置点记录为坐标和时间戳的集合p1(116.4253,39.9584,2314s);同理,对目标车辆a的第2个位置点记录为p2(116.4358,39.9684,2319s)。

以第1个位置点为中心,对道路路网进行网格化处理,在经纬度坐标下,网格大小为0.004476°。

以该网格为基础,通过rtree方法,将网格进行扩展,并使用nearestneighbors方法获取临近八个网格矩阵及其id。通过网格矩阵id与路网线段id的字典匹配,获取该九个网格矩阵中的所有路线段,设定所有道路组成的集合为l={l1,l2…l9}。

计算线段p1p2与l集合内各路网ln的余弦值cosα,并计算得到min(1-cosα),对应路网为lclosest;

使用geopandas.distance()方法获取位置点pi到最接近路段lclosest的距离dclosest=0.000152°。

由于距离dclosest在有效距离阈值范围(0.005°)之内,因此该路段为可拟合路网,拟合成功,对目标车辆a的行驶轨迹快速匹配结果如图3所示。

综上所述,由于上述方法仅仅只需获取目标车辆的第一位置点及第二位置点,对第一位置点及第二位置点连线路网数据中的路线段进行接近性判断,运算过程简单,需求的资源少,从而具有更高的运算效率,能始终维持较高的计算精度,以满足计算需要,并且后续可支持流处理计算,具有很好的拓展性。

图4示意性示出了根据本公开实施例的路网匹配装置的框图。该装置可执行上述路网匹配方法。

如图4所示,本公开实施例的路网匹配装置400例如可以包括记录模块410、获取模块420、第一计算模块430、第二计算模块440及判断模块450。

记录模块410,用于记录目标车辆的第一位置点及第二位置点。

获取模块420,用于获取第一位置点或第二位置点为中心点的预设区域内的所有路线段;

第一计算模块430,用于分别计算第一位置点与第二位置点的连线与每一路线段之间的夹角,确定最小夹角对应的路线段。

第二计算模块440,用于计算中心点到最小夹角对应的路线段的距离。

判断模块450,用于判断距离是否在预设有效距离阈值范围内,若是,将该道路线段确定为可拟合路网。

需要说明的是,装置部分的实施方式与方法部分的实施方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。

根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,记录模块410、获取模块420、第一计算模块430、第二计算模块440及判断模块450中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,记录模块410、获取模块420、第一计算模块430、第二计算模块440及判断模块450中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,记录模块410、获取模块420、第一计算模块430、第二计算模块440及判断模块450中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图5示意性示出了根据本公开实施例的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500包括处理器510、计算机可读存储介质520。该电子设备500可以执行根据本公开实施例的方法。

具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储系统,如磁带或硬盘(hdd);光存储系统,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存等等。

计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。

计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521a、模块521b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/系统/系统中所包含的,也可以是单独存在,而未装配入该设备/系统/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,具体依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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