道路任务匹配方法、装置与设备与流程

文档序号:21724731发布日期:2020-08-05 01:15阅读:164来源:国知局
道路任务匹配方法、装置与设备与流程

本发明涉及数据处理技术领域,尤其涉及一种道路任务匹配方法、装置与设备。



背景技术:

电子地图可以为人们提供导航和路径规划等服务,已日趋成为人们日常生活中必不可少的应用软件之一。道路数据是电子地图数据的重要组成部分,而现实的路网是不断变化的,因此,电子地图服务方需要及时的采集道路数据,以更新电子地图,为用户提供更优的地图服务。

传统的道路数据采集方式是由电子地图服务方的外业工作人员负责采集数据,但是这种方式由于人力的限制,采集效率比较低。随着互联网的快速发展,利用外业众包模式采集道路数据的方式被越来越多的应用,该方式主要是将道路采集任务分成一个个的任务包下发给用户,用户通过手机等移动终端领取任务包,并在执行完任务后上传对应的数据包。电子地图服务方在获得用户上传的数据包后,依据当前的路网数据,对数据包中的轨迹点进行道路匹配,然后根据道路匹配结果进行任务匹配,以确定用户是否完成任务。

但是,现实的路网是实时变化的,用户在执行任务时采用的移动终端的定位精度也有限,即数据包中的轨迹点精度有限,因此,目前这种依据当前的路网数据,对数据包中的轨迹点进行道路匹配后再根据道路匹配结果进行任务匹配的方法,匹配结果不够准确。



技术实现要素:

有鉴于此,本发明提供一种道路任务匹配方法、装置与设备,用于提高道路任务匹配结果的准确性。

为了实现上述目的,第一方面,本发明实施例提供一种道路任务匹配方法,包括:

获取用户的任务包对应的道路镜像文件和用户上传的数据包中包含的所有轨迹点,道路镜像文件中包括任务包生成时的路网数据;

基于道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果;

根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;

对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果。

第二方面,本发明实施例提供一种道路任务匹配装置,包括:

获取模块,用于获取用户的任务包对应的道路镜像文件和用户上传的数据包中包含的所有轨迹点,道路镜像文件中包括任务包生成时的路网数据;

道路匹配模块,用于基于道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果;

校正模块,用于根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;

任务匹配模块,用于对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果。

第三方面,本发明实施例提供一种道路任务匹配设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。

本发明实施例提供的道路任务匹配方法、装置与设备,在获取用户上传的数据包中包含的所有轨迹点之外还获取用户的任务包对应的道路镜像文件;然后基于所述道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果,即在进行道路匹配时,是依据任务包生成时的路网数据对各轨迹点进行道路匹配,因而可以避免路网变更对道路匹配的影响,进而避免路网变更对道路任务匹配的影响;另外,在得到各轨迹点的道路匹配结果后,先根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;再对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果,从而可以通过轨迹点道路匹配结果的校正过程减少轨迹点精度低对道路任务匹配结果的影响,有效的提高道路任务匹配结果的准确性。

附图说明

图1为本发明实施例提供的一种道路任务匹配方法的流程示意图;

图2为本发明实施例提供的道路匹配操作的流程示意图;

图3为本发明实施例提供的确定任务匹配结果的流程示意图;

图4为本发明实施例提供的另一种道路任务匹配方法的流程示意图;

图5为本发明实施例提供的道路任务匹配装置的结构示意图;

图6为本发明实施例提供的道路任务匹配设备的结构示意图。

具体实施方式

针对目前的依据当前的路网数据,对数据包中的轨迹点进行道路匹配后再根据道路匹配结果进行任务匹配的方法,匹配结果不够准确的技术问题,本发明实施例提供一种道路任务匹配方法、装置与设备,主要通过在获取用户上传的数据包中包含的所有轨迹点之外还获取用户的任务包对应的道路镜像文件;然后基于所述道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果;在得到各轨迹点的道路匹配结果后,先根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;再对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果,来提高道路任务匹配结果的准确性。

下面结合附图,对本发明的实施例进行描述。

图1为本发明实施例提供的一种道路任务匹配方法的流程示意图,如图1所示,本实施例提供的方法可以包括如下步骤:

s101、获取用户的任务包对应的道路镜像文件和用户上传的数据包中包含的所有轨迹点。

其中,道路镜像文件中包括任务包生成时的路网数据,本实施例中根据道路镜像文件中的路网数据进行道路匹配,以提高道路匹配结果的准确性,进而提高道路任务匹配结果的准确性。

具体的,任务平台在生成任务包时,可以把当时的路网数据保存在道路镜像文件中,上传到服务器上;道路任务匹配设备在进行道路任务匹配时,可以从服务器获取道路镜像文件。

本实施例中,用户可以通过安装在移动终端上的应用软件领取任务包,用户开始执行任务包中的任务后,该应用软件可以自动采集用户的轨迹。用户执行完任务后,应用软件可以将采集的轨迹数据打包在数据包中上传到任务平台。道路任务匹配设备在获取轨迹点时,可以从任务平台获取用户上传的数据包,再从数据包中提取出轨迹点。

其中,每个任务包中包含至少一个任务,用户在上传任务时,可以是执行完一个任务包中的其中一个任务后上传一个数据包,也可以是执行完一个任务包中的多个任务后上传一个数据包,还可以是执行完多个任务包中的多个任务后上传一个数据包。为了保证获取的道路镜像文件的全面性,本实施例中,在获取道路镜像文件时,可以获取用户所有待匹配的任务包对应的道路镜像文件,即获取用户所有未完成的任务包对应的道路镜像文件。

本实施例中,在进行道路任务匹配时,可以是用户每上传一个数据包进行一次道路任务匹配,也可以是定期对用户上传的数据包进行道路任务匹配。也就是说,在获取轨迹点时,可以是每次获取用户上传的一个数据包中的轨迹点,也可以是每次获取用户上传的多个数据包中的轨迹点。

为了便于后期的道路匹配,提高道路匹配效率,本实施例中,在获取用户的任务包对应的道路镜像文件之后,可以根据道路镜像文件中的路网数据,建立道路的空间索引。

具体实现时,可以读取路网数据中的道路坐标和道路身份标识号码(identity,id)等道路属性信息建立空间索引;在建立空间索引时,可以采用四叉树或其他数据结构建立空间索引,以四叉树为例,四叉树的每个节点中可以记录道路坐标、道路id、道路的外接矩形等信息。

考虑到执行众包任务的用户较多,某个用户上传的数据包对应的任务都是该用户领取的任务包中的任务,其上传的数据包中的轨迹点涉及的任务道路也都是其领取的任务包生成时的路网中的道路,与其他用户的任务包对应的道路镜像文件无关,因此,为了提高道路匹配效率,本实施例中,在进行道路任务匹配时,可以以用户为单位进行,即在每次获取数据时,是获取一个预设用户的任务包对应的道路镜像文件和该预设用户上传的数据包中包含的所有轨迹点,其中,该预设用户可以是任意一个执行众包任务的用户。对应的,在建立空间索引时,是为每个用户建立一个空间索引。

本实施例中,一个任务包中的任务可能会对应上传多个数据包,在进行任务匹配时该任务包可能需要进行多次任务匹配,对于首次的任务匹配,需要从服务器下载该任务包对应的道路镜像文件;在下载完成后,本地数据库中会存在该任务包对应的道路镜像文件,对于后续的任务匹配,则可以直接从本地数据库中获取该任务包对应的道路镜像文件,这样可以提高道路镜像文件的获取效率,进而提高道路任务匹配效率。

在具体实现时,可以在确定完用户所有待匹配的任务包后,从所有任务包中选择一个任务包作为当前任务包,对当前任务包执行文件获取操作,其中,文件获取操作包括:判断本地数据库中是否存在当前任务包对应的道路镜像文件;若本地数据库中存在当前任务包对应的道路镜像文件,则从本地数据库中获取当前任务包对应的道路镜像文件;若本地数据库中不存在当前任务包对应的道路镜像文件,则从服务器中获取当前任务包对应的道路镜像文件;从所有任务包中选择下一个任务包作为当前任务包,返回执行文件获取操作,直至对所有任务包都执行完文件获取操作,得到所有的道路镜像文件。

考虑到属于预设用户的任务包可能会被改为分配给其他用户,为了提高空间索引的准确性,避免任务的重复匹配,本实施例中,可以在每次进行道路任务匹配时确定缓存中上一次确定的预设用户的所有待匹配的任务包中所属用户已改变的任务包;然后删除空间索引中与所属用户已改变的任务包对应的空间索引。

在具体实现时,可以查询缓存中存储的上一次确定的预设用户的所有待匹配的任务包列表,然后与本次确定的预设用户的所有待匹配的任务包列表进行比对,若上一次确定的任务包列表中的某个任务包不在本次确定的任务包列表中,则该任务包即为所属用户已改变的任务包;在确定出所有所属用户已改变的任务包后,可以确定这些所属用户已改变的任务包对应的道路镜像文件中的道路,然后查询空间索引,将空间索引中与这些道路对应的空间索引删除。当然,此处只是举例说明确定所属用户已改变的任务包和删除对应空间索引的实现方式,并非用于限定本发明。

另外,为了提高空间索引构建效率,可以在每次进行道路任务匹配时,在已建立的空间索引的基础上增加新的任务包对应的空间索引,及对已建立的空间索引进行更新,这样对于已建立空间索引的任务包,则无需再次获取其道路镜像文件。在具体实现时,在上述判断本地数据库中是否存在当前任务包对应的道路镜像文件之前,可以先判断是否加载过当前任务包对应的道路镜像文件;若未加载过当前任务包对应的道路镜像文件,再判断本地数据库中是否存在当前任务包对应的道路镜像文件;若已加载过当前任务包对应的道路镜像文件,说明设备中已建立该当前任务包对应的空间索引,则无需再次获取该当前任务包对应的道路镜像文件。

其中,当首次从服务器上下载当前任务包对应的道路镜像文件时,内存会加载该任务包对应的道路镜像文件,对于加载过的任务包,建立有加载列表,可以根据该列表判断是否加载过。

若未加载过当前任务包对应的道路镜像文件,有可能是之前未获取过该当前任务包对应的道路镜像文件,对应的也未建立该当前任务包对应的空间索引,此时本地数据库中不存在该当前任务包对应的道路镜像文件,需要从服务器中获取该当前任务包对应的道路镜像文件;也有可能是之前获取过该当前任务包对应的道路镜像文件,即已建立该当前任务包对应的空间索引,但是道路任务匹配设备重启后,内存加载记录被清空,空间索引需要重新建立,此时本地数据库中还存在该当前任务包对应的道路镜像文件,可以直接从本地数据库中获取该当前任务包对应的道路镜像文件。

s102、基于道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果。

具体的,在获取到用户的任务包对应的道路镜像文件和用户上传的数据包中包含的所有轨迹点后,就可以遍历各个轨迹点,基于道路镜像文件中的路网数据,对遍历到的每个轨迹点进行道路匹配,得到各轨迹点的道路匹配结果。

在具体进行道路匹配时,可以从所有轨迹点中选择一个轨迹点作为当前轨迹点,对当前轨迹点执行道路匹配操作,其中,图2为本发明实施例提供的道路匹配操作的流程示意图,如图2所示,道路匹配操作可以包括如下步骤:

s201、确定路网数据中与预设范围相交的所有道路。

具体的,可以根据已建立的空间索引确定道路镜像文件的路网数据中与预设范围相交的所有道路,其中,预设范围以当前轨迹点为中心,其可以是以当前轨迹点为中心,在当前轨迹点的经度和纬度方向上各向外延伸预设距离形成的矩形区域。其中,该预设距离可以根据需要设置,例如:50m,具体大小本实施例不做特别限定。

s202、计算当前轨迹点与所有道路中每条道路的匹配度。

具体的,可以遍历上述步骤s201确定的所有道路,根据当前轨迹点的属性信息和遍历到的道路的属性信息,计算当前轨迹点与遍历到的每条道路的匹配度。

在具体实现时,可以从所有道路中选择一条道路作为当前道路,对当前道路执行匹配度计算操作,其中,匹配度计算操作包括:根据当前轨迹点到当前道路的距离,计算当前轨迹点与当前道路的距离匹配度;并根据当前轨迹点的全球定位系统(globalpositioningsystem,gps)方位角和当前道路的道路方向,计算当前轨迹点与当前道路的方向匹配度;然后对距离匹配度和方向匹配度进行加权平均,得到当前轨迹点与当前道路的匹配度;再从所有道路中选择下一条道路作为当前道路,返回执行匹配度计算操作,直至对所有道路都执行完匹配度计算操作,得到当前轨迹点与所有道路中每条道路的匹配度。

其中,用户上传的数据包中的轨迹点信息包括轨迹点的坐标和gps方位角等信息。当前轨迹点与当前道路的距离匹配度具体可以根据当前轨迹点到当前道路的距离与上述步骤s201中的预设范围确定,例如:当前轨迹点与当前道路的距离匹配度为1-当前轨迹点到当前道路的投影距离/预设距离。当前轨迹点与当前道路的方向匹配度可以根据当前轨迹点的gps方位角和当前道路的道路方向之间的夹角确定,具体可以为1-当前轨迹点的gps方位角和当前道路的道路方向之间的夹角/90度。

在对距离匹配度和方向匹配度进行加权平均时,距离匹配度和方向匹配度的权重可以根据需要确定,例如:距离匹配度的权重为0.6,方向匹配度的权重为0.4,两者的权重具体大小本实施例不做特别限定。

s203、根据所有道路中匹配度达到预设匹配度的道路,确定当前轨迹点的道路匹配结果。

具体的,在得到当前轨迹点与各道路的匹配度后,就可以根据匹配度的大小确定当前轨迹点的道路匹配结果,例如:可以将所有道路中匹配度最大且达到预设匹配度的道路确定为当前轨迹点的道路匹配结果。其中,预设匹配度的值可以根据实际情况选择,例如:0.5,具体大小本实施例不做特别限定。

考虑到在gps点漂移或者任务道路为主辅路或附近有平行路时,道路匹配结果可能存在误差,为了提高道路匹配结果的准确性,本实施例中,优先选择匹配度高且为任务道路(即任务库中的任务所对应的道路)的道路作为当前轨迹点的道路匹配结果。

具体实现时,可以先确定所有道路中匹配度达到预设匹配度的道路,建立匹配道路列表;然后判断匹配道路列表是否为空,若匹配道路列表为空,则确定当前轨迹点的道路匹配结果为未匹配上道路;若匹配道路列表非空,则判断匹配道路列表中是否存在任务道路,当匹配道路列表中存在任务道路时,将匹配度最大的任务道路确定为当前轨迹点的道路匹配结果;当匹配道路列表中不存在任务道路时,将匹配度最大的道路确定为当前轨迹点的道路匹配结果。

其中,在确定当前轨迹点的道路匹配结果时,可以先按照匹配度从大到小的顺序对匹配道路列表中的道路进行排序,然后遍历排序后的匹配道路列表,判断遍历到的当前道路是否是任务道路,若是则遍历到的当前道路即为匹配度最大的任务道路,将其确定为当前轨迹点的道路匹配结果;否则继续遍历排序后的匹配道路列表中下一条道路;若遍历到的最后一条道路也不是任务道路,则排序后的匹配道路列表中的第一条道路即为匹配度最大的道路,将其确定为当前轨迹点的道路匹配结果。

本实施例中,任务平台中存储有各个任务对应的道路的道路id和道路方向等信息,在判断任务道路时,可以查询任务平台,根据道路的道路id和道路方向判断其是否是任务平台中的任务道路。

s204、从所有轨迹点中选择下一个轨迹点作为当前轨迹点,返回执行道路匹配操作,直至对所有轨迹点都执行完道路匹配操作,得到各轨迹点的道路匹配结果。

具体的,确定完当前轨迹点的道路匹配结果后,继续遍历下一个轨迹点,对下一个轨迹点执行上述道路匹配操作,直至得到所有轨迹点的道路匹配结果。

s103、根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果。

具体的,用户在执行任务时采用的移动终端的定位精度有限,容易出现gps点漂移的现象,为了减少gps点漂移对道路匹配结果的影响,本实施例中,根据相邻轨迹点间道路匹配结果的关系,对各轨迹点的道路匹配结果进行校正。其中,数据包中的轨迹点是按照采集时间排序的,相邻轨迹点即为采集时间相邻的轨迹点。

在进行校正时,对于某个轨迹点来说,可以根据该轨迹点前后相邻的若干个轨迹点的道路匹配结果的关系,对该轨迹点的道路匹配结果进行校正。例如:可以以三个点为一组,对于所有轨迹点中任意三个连续的轨迹点,当三个连续的轨迹点中第一个轨迹点的道路匹配结果与第三个轨迹点的道路匹配结果相同,并且与第二个轨迹点的道路匹配结果不同时,可以将第二个轨迹点的道路匹配结果校正为第一个轨迹点的道路匹配结果。这样可以保证gps点漂移等情况下道路匹配结果的连续性,减少gps点漂移对道路匹配结果的影响。

需要说明的是,该步骤s103也可以与步骤s102同时执行,即在得到各轨迹点的道路匹配结果的过程中校正各轨迹点的道路匹配结果,例如:在得到第三个点的道路匹配结果后,就可以根据前三个点的道路匹配结果对第二点的道路匹配结果进行校正。

s104、对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果。

具体的,在得到各轨迹点校正后的道路匹配结果后,就可以结合任务平台中的任务,对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配。

本实施例中,可以先根据各轨迹点校正后的道路匹配结果对所有轨迹点进行分组,得到分组列表,其中,分组列表中包括至少一个分组,每个分组中各轨迹点校正后的道路匹配结果中均包含道路,分组与所有轨迹点校正后的道路匹配结果中包含的道路一一对应,每个分组中各轨迹点校正后的道路匹配结果中道路的道路id和道路方向均相同,即对于匹配上道路的轨迹点,将道路匹配结果中道路的道路id和道路方向均相同的轨迹点分为一组,每个分组对应一条道路。然后可以遍历分组列表,对于遍历到的分组,确定其是否能匹配上任务道路。

具体实现时,可以从分组列表中选择一个分组作为当前分组,对当前分组执行任务匹配操作,其中,任务匹配操作包括:判断当前分组对应的道路是否是任务道路;当当前分组对应的道路是任务道路时,根据当前分组对应的任务道路的任务长度和当前分组中包含的轨迹点,确定当前分组对应的道路的任务匹配结果;从分组列表中选择下一个分组作为当前分组,返回执行任务匹配操作,直至对分组列表中所有分组都执行完任务匹配操作,得到各分组对应的道路的任务匹配结果。

如前所述,任务平台中存储有各个任务对应的道路的道路id和道路方向等信息,本实施例中,可以根据当前分组对应的道路的道路id和道路方向判断其是否是任务平台中的任务道路。另外,任务平台中还存储有各个任务的任务长度信息,在确定当前分组对应的道路是任务道路后,可以再根据当前分组对应的任务道路的任务长度和当前分组中包含的轨迹点的数量等信息,判断用户采集的轨迹点是否符合任务要求,以确定当前分组对应的道路的任务匹配结果。

在具体确定任务匹配结果时,可以采用图3所示的方法实现,图3为本发明实施例提供的确定任务匹配结果的流程示意图,如图3所示,该方法可以包括如下步骤:

s301、判断任务长度是否大于第一预设长度;若是,则执行步骤s302;若否,则执行步骤s304。

具体的,可以根据当前分组对应的任务道路的任务长度的大小将道路任务匹配分为不同的情况,对不同的情况采用不同的任务匹配方法。

作为一种可选的实施方式,本实施例中,将道路任务匹配分为两种情况,即任务长度大于第一预设长度的情况和任务长度小于或等于第一预设长度的情况。其中,第一预设长度可以根据实际情况设置,例如:可以设置为50米,具体大小本实施例不做特别限定。

s302、确定当前分组中各轨迹点形成的轨迹长度与任务长度的比值r,以及当前分组中各轨迹点在数据包中对应的图像数量之和s。

具体的,为了保证后期的地图制作资料的全面性,用户的轨迹点数量需要满足一定的要求。本实施例中,当任务长度大于第一预设长度时,可以计算当前分组中各轨迹点形成的轨迹长度,将该轨迹长度与任务长度相除,得到两者的比值r,根据该比值r判断用户的轨迹点数量是否符合任务要求。其中,在计算当前分组中各轨迹点形成的轨迹长度时,可以分别计算当前分组中相邻两个轨迹点之间的距离,然后将计算的所有距离相加得到总的轨迹长度。

另外,用户在执行任务时,安装在移动终端上的应用软件在用户进入任务路段时,在采集用户轨迹的同时会采集轨迹点的图片信息,为了保证后期的地图制作资料的全面性,在确定比值r的同时,确定当前分组中各轨迹点在数据包中对应的图像数量之和s。

s303、判断是否比值r大于或等于预设比值tr(r≥tr),并且图像数量之和s大于或等于第一预设数量ts(s≥ts);若是,则执行步骤s306;若否,则执行步骤s307。

具体的,得到比值r和图像数量之和s后,可以将比值r与预设比值tr进行比较,将图像数量之和s与第一预设数量ts进行比较,根据比较结果确定任务匹配结果。其中,预设比值tr和第一预设数量ts的具体值可以根据实际情况选择,例如:预设比值tr为20%,第一预设数量ts为1,本实施例对此不做特别限定。

s304、根据任务长度和当前分组中各轨迹点的速度中的最大速度,确定最小轨迹点数量。

具体的,当任务长度小于或等于第一预设长度时,可以根据任务长度和当前分组中各轨迹点的速度中的最大速度,确定最小轨迹点数量,例如:可以将任务长度除以当前分组中各轨迹点的速度中的最大速度,取整得到最小轨迹点数量。

s305、判断当前分组中的轨迹点数量是否大于最小轨迹点数量,若是,则执行步骤s306;若否,则执行步骤s307。

在得到最小轨迹点数量后,可以判断当前分组中的轨迹点数量是否大于最小轨迹点数量,根据判断结果确定当前分组对应的道路任务匹配结果。

s306、确定当前分组对应的道路任务匹配成功。

具体的,对于任务长度大于第一预设长度的情况,当比值r大于或等于预设比值tr,并且图像数量之和s大于或等于第一预设数量ts时,可以认为用户的轨迹符合任务要求,该用户完成了该当前分组对应的任务,此时确定当前分组对应的道路任务匹配成功。

对于任务长度小于或等于第一预设长度的情况,当当前分组中的轨迹点数量大于最小轨迹点数量时,可以确定当前分组对应的道路任务匹配成功。

对于任务平台中匹配成功的任务,可以对其进行标记,在进行任务匹配时,例如上述判断匹配道路列表中是否存在任务道路以及判断当前分组对应的道路是否是任务道路时,只匹配未标记的任务对应的任务道路,以避免任务的重复匹配。

s307、确定当前分组对应的道路任务匹配失败。

具体的,对于任务长度大于第一预设长度的情况,当比值r小于预设比值tr,或者图像数量之和s小于第一预设数量ts时,认为用户的轨迹不符合任务要求,该用户未完成该当前分组对应的任务,此时确定当前分组对应的道路任务匹配失败。

对于任务长度小于或等于第一预设长度的情况,当当前分组中的轨迹点数量小于或等于最小轨迹点数量时,可以确定当前分组对应的道路任务匹配失败。

本实施例提供的道路任务匹配方法,在获取用户上传的数据包中包含的所有轨迹点之外还获取用户的任务包对应的道路镜像文件;然后基于所述道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果,即在进行道路匹配时,是依据任务包生成时的路网数据对各轨迹点进行道路匹配,因而可以避免路网变更对道路匹配的影响,进而避免路网变更对道路任务匹配的影响;另外,在得到各轨迹点的道路匹配结果后,先根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;再对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果,从而可以通过轨迹点道路匹配结果的校正过程减少轨迹点精度低对道路任务匹配结果的影响,有效的提高道路任务匹配结果的准确性。

在进行道路任务匹配的过程中,一般还会进行新增道路的匹配,以及时的更新电子地图中的新增道路。图4为本发明实施例提供的另一种道路任务匹配方法的流程示意图,在上述实施例的基础上,如图4所示,本实施例中,在步骤s103根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果之后,还可以包括如下步骤:

s401、根据各轨迹点校正后的道路匹配结果,生成新增道路。

具体的,可以根据各轨迹点校正后的道路匹配结果,确定新增点列,然后根据确定的所有新增点列中符合预设条件的新增点列,生成新增道路。其中,每个新增点列中包含的是连续的且校正后的道路匹配结果为未匹配上道路的轨迹点,每个新增点列中包含的轨迹点的数量大于第二预设数量;每个符合预设条件的新增点列中各轨迹点形成的轨迹长度达到第二预设长度并且轨迹点的坐标范围位于任务包的坐标范围内。

在具体实现时,可以按采集时间顺序存储各轨迹点,按顺序遍历所有的轨迹点,对于遍历到的轨迹点,若校正后的道路匹配结果为未匹配上道路,则可以加入新增点列表,继续遍历下一个轨迹点,若下一个轨迹点校正后的道路匹配结果也为未匹配上道路,则将其加入新增点列表;若下一个轨迹点校正后的道路匹配结果为匹配上道路,则查看新增点列表中的轨迹点数量是否大于预设数量,若不大于,则清空该新增点列表;若大于,则将新增点列表中的轨迹点作为一个新增点列,继续判断该新增点列的轨迹长度和轨迹点的坐标范围是否符合预设条件,若符合则确定新增道路匹配成功,生成新增道路,同时清空该新增点列表;若不符合也清空该新增点列表。新增点列表清空后,继续遍历下一个轨迹点,重复执行上述过程,直至遍历完所有轨迹点。

其中,第二预设数量和第二预设长度的具体值可以根据实际情况设置,例如:第二预设数量为3,第二预设长度为30米,具体大小本实施例不做特别限定。

新增点列中各轨迹点形成的轨迹长度的计算方法与当前分组中各轨迹点形成的轨迹长度的计算方法类似,可以分别计算新增点列中相邻两个轨迹点之间的距离,然后将计算的所有距离相加得到总的轨迹长度。

在判断轨迹点的坐标范围是否位于任务包的坐标范围内时,可以确定将新增点列中的轨迹点包括在内的最小外接矩形(称为第一外接矩形)和将用户的所有任务包中的任务道路包括在内的最小外接矩形(称为第二外接矩形),然后判断第一外接矩形是否位于第二外接矩形内或与第二外接矩形相交,若是则可以确定轨迹点的坐标范围位于任务包的坐标范围内。

对于生成的新增道路,可以记录其道路id、包含的轨迹点和道路方向,其中,道路方向可以根据轨迹点的gps方位角确定。

本实施例中,对于每个新增点列,可以将与新增点列中位于道路两端的两个轨迹点相邻的已匹配上道路的轨迹点也加入该新增点列,以方便后期建立新增道路与已有道路的连通关系。

s402、根据生成的新增道路更新空间索引。

本实施例中,为了避免新增道路的重复匹配,在确定了新增道路后,本实施例中,可以根据新增道路更新空间索引,即在已建立的空间索引的基础上,增加新增道路的空间索引,以提高道路匹配的准确性,进而提高道路任务匹配结果的准确性。

s403、获取审核后的新增道路。

为了保证电子地图中新增道路的准确性,本实施例中,对于道路任务匹配生成的新增道路,可以交由审核平台,再根据卫星影像和底图数据等对其进行审核,保证新增道路的正确性。

在下一次进行道路任务匹配时或者也可以是定期从审核平台获取之前生成的新增道路的审核结果,再根据审核结果更新空间索引,以提高道路匹配的准确性,进而提高道路任务匹配结果的准确性。其中,审核结果用于指示审核后的新增道路的正确性。

在将新增道路交由审核平台时,可以建立新增道路与用户的任务包的对应关系,在具体获取新增道路的审核结果,可以根据用户的任务包id获取审核后的新增道路。

s404、根据审核后的新增道路的审核结果,更新空间索引。

具体的,若审核后的新增道路的审核结果指示新增道路不是正确的新增道路,则更新后的空间索引中不存在该审核后的新增道路的空间索引;若审核后的新增道路的审核结果指示新增道路是正确的新增道路,则更新后的空间索引中存在该审核后的新增道路的空间索引。

在具体实现时,可以遍历获取的所有审核后的新增道路,对于遍历到的每条审核后的新增道路,可以判断其审核结果是否为正确的新增道路,若其审核结果为是正确的新增道路,则判断空间索引中是否存在该审核后的新增道路的空间索引,若不存在则在空间索引中新增该审核后的新增道路的空间索引;若其审核结果为不是正确的新增道路,则根据审核后的新增道路的道路id删除空间索引中该审核后的新增道路对应的空间索引。

本实施例提供的道路任务匹配方法,在实现已有道路的匹配的同时,可以实现新增道路的匹配,进而可以基于生成的新增道路更新电子地图,提高电子地图中道路更新的及时性;另外,在生成新增道路后,基于新增道路更新空间索引,可以提高道路任务匹配结果的准确性。

基于同一发明构思,作为对上述方法的实现,本发明实施例提供了一种道路任务匹配装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

图5为本发明实施例提供的道路任务匹配装置的结构示意图,如图5所示,本实施例提供的装置包括:

获取模块110,用于获取用户的任务包对应的道路镜像文件和用户上传的数据包中包含的所有轨迹点,道路镜像文件中包括任务包生成时的路网数据;

道路匹配模块120,用于基于道路镜像文件中的路网数据,对各轨迹点进行道路匹配,得到各轨迹点的道路匹配结果;

校正模块130,用于根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果;

任务匹配模块140,用于对所有轨迹点校正后的道路匹配结果中包含的道路进行任务匹配,得到任务匹配结果。

作为本发明实施例一种可选的实施方式,道路匹配模块120具体用于:

从所有轨迹点中选择一个轨迹点作为当前轨迹点,对当前轨迹点执行道路匹配操作,道路匹配操作包括:

确定路网数据中与预设范围相交的所有道路,其中,预设范围以当前轨迹点为中心;

计算当前轨迹点与所有道路中每条道路的匹配度;

根据所有道路中匹配度达到预设匹配度的道路,确定当前轨迹点的道路匹配结果;

从所有轨迹点中选择下一个轨迹点作为当前轨迹点,返回执行道路匹配操作,直至对所有轨迹点都执行完道路匹配操作,得到各轨迹点的道路匹配结果。

作为本发明实施例一种可选的实施方式,道路匹配模块120具体用于:

从所有道路中选择一条道路作为当前道路,对当前道路执行匹配度计算操作,匹配度计算操作包括:

根据当前轨迹点到当前道路的距离,计算当前轨迹点与当前道路的距离匹配度;

根据当前轨迹点的全球定位系统gps方位角和当前道路的道路方向,计算当前轨迹点与当前道路的方向匹配度;

对距离匹配度和方向匹配度进行加权平均,得到当前轨迹点与当前道路的匹配度;

从所有道路中选择下一条道路作为当前道路,返回执行匹配度计算操作,直至对所有道路都执行完匹配度计算操作,得到当前轨迹点与所有道路中每条道路的匹配度。

作为本发明实施例一种可选的实施方式,道路匹配模块120具体用于:

确定所有道路中匹配度达到预设匹配度的道路,建立匹配道路列表;

若匹配道路列表为空,则确定当前轨迹点的道路匹配结果为未匹配上道路;

若匹配道路列表非空,则当匹配道路列表中存在任务道路时,将匹配度最大的任务道路确定为当前轨迹点的道路匹配结果,其中,任务道路为任务库中的任务所对应的道路;

当匹配道路列表中不存在任务道路时,将匹配度最大的道路确定为当前轨迹点的道路匹配结果。

作为本发明实施例一种可选的实施方式,校正模块130具体用于:

对于所有轨迹点中任意三个连续的轨迹点,当三个连续的轨迹点中第一个轨迹点的道路匹配结果与第三个轨迹点的道路匹配结果相同,并且与第二个轨迹点的道路匹配结果不同时,将第二个轨迹点的道路匹配结果校正为第一个轨迹点的道路匹配结果。

作为本发明实施例一种可选的实施方式,任务匹配模块140具体用于:

根据各轨迹点校正后的道路匹配结果对所有轨迹点进行分组,得到分组列表,其中,分组列表中包括至少一个分组,每个分组中各轨迹点校正后的道路匹配结果中均包含道路,分组与所有轨迹点校正后的道路匹配结果中包含的道路一一对应,每个分组中各轨迹点校正后的道路匹配结果中道路的道路id和道路方向均相同;

从分组列表中选择一个分组作为当前分组,对当前分组执行任务匹配操作,任务匹配操作包括:

判断当前分组对应的道路是否是任务道路;

当当前分组对应的道路是任务道路时,根据当前分组对应的任务道路的任务长度和当前分组中包含的轨迹点,确定当前分组对应的道路的任务匹配结果;

从分组列表中选择下一个分组作为当前分组,返回执行任务匹配操作,直至对分组列表中所有分组都执行完任务匹配操作,得到各分组对应的道路的任务匹配结果。

作为本发明实施例一种可选的实施方式,任务匹配模块140具体用于:

当任务长度大于第一预设长度时,确定当前分组中各轨迹点形成的轨迹长度与任务长度的比值,以及当前分组中各轨迹点在数据包中对应的图像数量之和;

当比值大于或等于预设比值,并且图像数量之和大于或等于第一预设数量时,确定当前分组对应的道路任务匹配成功;

当比值小于预设比值或图像数量之和小于第一预设数量时,确定当前分组对应的道路任务匹配失败。

作为本发明实施例一种可选的实施方式,任务匹配模块140具体用于:

当任务长度小于或等于第一预设长度时,根据任务长度和当前分组中各轨迹点的速度中的最大速度,确定最小轨迹点数量;

当当前分组中的轨迹点数量大于最小轨迹点数量时,确定当前分组对应的道路任务匹配成功;

当当前分组中的轨迹点数量小于或等于最小轨迹点数量时,确定当前分组对应的道路任务匹配失败。

作为本发明实施例一种可选的实施方式,该装置还包括:

空间索引建立模块150,用于在道路匹配模块120对各轨迹点进行道路匹配之前,根据道路镜像文件中的路网数据,建立道路的空间索引;

道路匹配模块120具体用于:

根据空间索引确定道路镜像文件的路网数据中与预设范围相交的所有道路,其中,预设范围为以当前轨迹点为中心,在当前轨迹点的经度和纬度方向上各向外延伸预设距离形成的矩形区域。

作为本发明实施例一种可选的实施方式,获取模块110具体用于:

确定用户所有待匹配的任务包;

从所有任务包中选择一个任务包作为当前任务包,对当前任务包执行文件获取操作,文件获取操作包括:

判断是否加载过当前任务包对应的道路镜像文件;

若未加载过当前任务包对应的道路镜像文件,则判断本地数据库中是否存在当前任务包对应的道路镜像文件;

若本地数据库中存在当前任务包对应的道路镜像文件,则从本地数据库中获取当前任务包对应的道路镜像文件;

若本地数据库中不存在当前任务包对应的道路镜像文件,则从服务器中获取当前任务包对应的道路镜像文件;

从所有任务包中选择下一个任务包作为当前任务包,返回执行文件获取操作,直至对所有任务包都执行完文件获取操作,得到所有的道路镜像文件。

作为本发明实施例一种可选的实施方式,空间索引建立模块150还用于:确定缓存中上一次确定的预设用户的所有待匹配的任务包中所属用户已改变的任务包后;删除空间索引中与所属用户已改变的任务包对应的空间索引。

作为本发明实施例一种可选的实施方式,该装置还包括:

新增道路生成模块160,用于在校正模块130根据相邻轨迹点间道路匹配结果的关系,校正各轨迹点的道路匹配结果之后,根据各轨迹点校正后的道路匹配结果,生成新增道路;

更新模块170,用于根据新增道路生成模块160生成的新增道路更新空间索引。

作为本发明实施例一种可选的实施方式,新增道路确定模块160具体用于:

根据各轨迹点校正后的道路匹配结果,确定新增点列,其中,每个新增点列中包含的是连续的且校正后的道路匹配结果为未匹配上道路的轨迹点,每个新增点列中包含的轨迹点的数量大于第二预设数量;

根据确定的所有新增点列中符合预设条件的新增点列,生成新增道路,其中,每个符合预设条件的新增点列中各轨迹点形成的轨迹长度达到第二预设长度并且轨迹点的坐标范围位于任务包的坐标范围内。

作为本发明实施例一种可选的实施方式,获取模块110还用于获取审核后的新增道路;

更新模块170还用于根据审核后的新增道路的审核结果,更新空间索引,其中,审核结果用于指示审核后的新增道路的正确性。

本实施例提供的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。

基于同一发明构思,本发明实施例还提供了一种道路任务匹配设备。图6为本发明实施例提供的道路任务匹配设备的结构示意图,如图6所示,本实施例提供的道路任务匹配设备包括:存储器210和处理器220,存储器210用于存储计算机程序;处理器220用于在调用计算机程序时执行上述方法实施例所述的方法。

本实施例提供的道路任务匹配设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。

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

本领域技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。

处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

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