一种动态位置解码的方法及装置转让专利

申请号 : CN201310027504.8

文献号 : CN103106258B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵思凌段克敏戴希蒋晟王佳琳

申请人 : 北京世纪高通科技有限公司

摘要 :

本发明实施例提供了一种动态位置解码的方法及装置,涉及交通信息技术应用领域,通过对接收到的二进制编码文件进行解析,从而解析出位置参考,以达到为用户服务的目的;该方法包括:对接收到的二进制编码文件进行解析,得到核心点以及与核心点对应的属性值;其中核心点包括:路由点、交叉点及位置点;对核心点进行预匹配,得到与路由点匹配的第一道路,与交叉点匹配的第二道路,与位置点匹配的第三道路;将第一道路、第二道路、及第三道路,按核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。

权利要求 :

1.一种动态位置解码的方法,其特征在于,包括:

对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;

其中所述核心点包括:路由点、交叉点及位置点;

对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路;

将所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。

2.根据权利要求1所述的方法,其特征在于,所述对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值包括:解析所述文件,若存在线性位置信息,则解析所述线性位置信息,所述线性位置信息包含核心点及与所述核心点对应的属性值;

并按解析的所述核心点的顺序保存所述核心点。

3.根据权利要求2所述的方法,其特征在于,当对所述路由点进行预匹配时,按所述路由点在所述核心点中的排列顺序,针对每一个路由点,所述对所述路由点进行预匹配包括:在地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路;并将所述所有第一道路保存到第一链路Link集合中;

针对所述第一Link集合中的每一条第一道路,当所述第一道路满足预设规则时,判断是否已存在满足所述预设规则的最优第一道路;

若不存在,保存所述第一道路为所述最优第一道路;

若存在,将所述第一道路与所述最优第一道路进行比较,若所述第一道路到所述路由点的距离小于所述最优第一道路到所述路由点的距离,则将所述最优第一道路更新为所述第一道路;

将与所述路由点匹配的所述第一道路保存到所述第一道路集合中;

其中,所述预设规则包括:计算所述路由点与所述路由点在所述第一道路上的投影点的直线距离L;计算所述投影点与所述第一道路的起点的距离L1;计算所述投影点与所述第一道路的终点的距离L2;

若所述L1大于L2,得到投影点和所述第一道路的起点连线与正北方向的顺时针第一夹角α1;若所述L1小于L2,得到投影点和所述第一道路的终点连线与正北方向的顺时针第二夹角α2;

当所述α1与所述路由点的轴角度BR的差值的绝对值小于第一预设角,且所述第一道路的起点有第一支路时,计算所述第一道路与所述第一支路的第一连接角CA,并判断所述第一CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;或当所述α2与所述路由点的所述BR的差值的绝对值小于所述第一预设角,且所述第一道路的终点有第二支路时,计算所述第一道路与所述第二支路的第二CA,并判断所述第二CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;

所述满足所述预设规则包括:

所述第一CA和所述路由点的CA的差值的绝对值小于所述第一预设角;或所述第二CA和所述路由点的CA的差值的绝对值小于所述第一预设角;

其中,所述路由点的CA为通过路由点的路径和通过路由点的支路的夹角。

4.根据权利要求3所述的方法,其特征在于,若没有搜索到所述第一道路,所述在所述地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路包括:在所述地图中以所述路由点的位置为圆心,2倍所述第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第一道路。

5.根据权利要求2所述的方法,其特征在于,当对所述交叉点进行预匹配时,按所述交叉点在所述核心点中的排列顺序,针对每一个交叉点,所述对所述交叉点进行预匹配包括:在地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路;并将所述所有第二道路保存到第二Link集合中;

针对所述第二Link集合中的每一条所述第二道路,当所述第二道路的道路功能等级FC与当前交叉点的所述FC的差值小于第三预设值,且所述第二道路的道路描述RD与所述当前交叉点的所述RD相同时,获取与所述第二道路相邻的所有第二相邻道路;其中,所述当前交叉点为正在处理的一个所述交叉点;

针对每一条所述第二相邻道路,当所述第二相邻道路的所述FC与前一个交叉点的所述FC的差值小于所述第三预设值,且所述第二相邻道路的所述RD与所述前一个交叉点的所述RD相同时,判断所述第二道路与所述第二相邻道路的通行关系;其中所述前一个交叉点为,按照所述交叉点在所述核心点中的排列顺序,排列在所述当前交叉点前并最靠近的一个所述交叉点;

若所述通行关系是从所述第二相邻道路到所述第二道路,依次保存所述第二相邻道路和所述第二道路到所述第二道路集合中。

6.根据权利要求5所述的方法,其特征在于,若没有搜索到所述第二道路,所述在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路包括:在所述地图中以所述交叉点的位置为圆心,2倍所述第二预设值为半径的圆形搜索区域内搜索与所述圆形区域相交的所述所有第二道路。

7.根据权利要求2所述的方法,其特征在于,当对所述位置点进行预匹配时,按所述位置点在所述核心点中的排列顺序,针对每一个位置点,所述对所述位置点进行预匹配包括:在地图中以所述位置点的位置为圆心,第四预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第三道路;并将所述所有第三道路保存到第三道路集合中。

8.根据权利要求1至7任一项所述的方法,其特征在于,所述依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划包括:依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,并将得到的所述路径按所述路由点的顺序保存;

其中,若所述相邻的两个路由点之间还包括交叉点和/或位置点,则按所述交叉点和/或位置点的顺序,所述路径包括与每一个所述交叉点和/或位置点对应的至少一条第二道路和/或至少一个条第三道路。

9.一种动态位置解码的装置,其特征在于,包括:

解析单元,用于对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;其中所述核心点包括:路由点、交叉点及位置点;

匹配单元,用于根据所述解析单元得到的所述核心点,对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;并将所述第一道路集合、第二道路集合及第三道路集合保存到存储单元中;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路;

存储单元,用于存储所述第一道路集合、第二道路集合及第三道路集合;

处理单元,用于将所述存储单元中存储的所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。

10.根据权利要求9所述的装置,其特征在于,所述解析单元,具体用于解析所述二进制编码文件,若存在线性位置信息,则解析所述线性位置信息,所述线性位置信息包含核心点及与所述核心点对应的属性值;并按解析的所述核心点的顺序保存所述核心点;其中所述核心点包括:路由点、交叉点及位置点。

11.根据权利要求10所述的装置,其特征在于,当所述匹配单元对所述路由点进行预匹配时,按所述路由点在所述核心点中的排列顺序,针对每一个路由点,所述匹配单元,具体用于在地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路;并将所述所有第一道路保存到第一链路Link集合中;

针对所述第一Link集合中的每一条所述第一道路,当所述第一道路满足预设规则时,判断是否已存在满足所述预设规则的最优第一道路;

若不存在,保存所述第一道路为所述最优第一道路;

若存在,将所述第一道路与所述最优第一道路进行比较,若所述第一道路到所述路由点的距离小于所述最优第一道路到所述路由点的距离,则将所述最优第一道路更新为所述第一道路;

将与所述路由点匹配的所述第一道路保存到所述存储单元的所述第一道路集合中;

其中,所述预设规则包括:计算所述路由点与所述路由点在所述第一道路上的投影点的直线距离L;计算所述投影点与所述第一道路的起点的距离L1;计算所述投影点与所述第一道路的终点的距离L2;

若所述L1大于L2,得到投影点和所述第一道路的起点连线与正北方向的顺时针第一夹角α1;若所述L1小于L2,得到投影点和所述第一道路的终点连线与正北方向的顺时针第二夹角α2;

当所述α1与所述路由点的轴角度BR的差值的绝对值小于第一预设角,且所述第一道路的起点有第一支路时,计算所述第一道路与所述第一支路的第一连接角CA,并判断所述第一CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;或当所述α2与所述路由点的所述BR的差值的绝对值小于所述第一预设角,且所述第一道路的终点有第二支路时;计算所述第一道路与所述第二支路的第二CA,判断所述第二CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;

所述满足所述预设规则包括:

所述第一CA和所述路由点的CA的差值的绝对值小于所述第一预设角;或所述第二CA和所述路由点的CA的差值的绝对值小于所述第一预设角;

其中,所述路由点的CA为通过路由点的路径和通过路由点的支路的夹角。

12.根据权利要求11所述的装置,其特征在于,若所述匹配单元没有搜索到所述第一道路,所述匹配单元,用于在所述地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路具体包括:在所述地图中以所述路由点的位置为圆心,2倍所述第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第一道路。

13.根据权利要求10所述的装置,其特征在于,当所述匹配单元对所述交叉点进行预匹配时,按所述交叉点在所述核心点中的排列顺序,针对每一个交叉点,所述匹配单元,具体用于在地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路;并将所述所有第二道路保存到第二Link集合中;

针对所述第二Link集合中的每一条所述第二道路,当所述第二道路的道路功能等级FC与当前交叉点的所述FC的差值小于第三预设值,且所述第二道路的道路描述RD与所述当前交叉点的所述RD相同时,获取与所述第二道路相邻的所有第二相邻道路;其中,所述当前交叉点为正在处理的一个所述交叉点;

针对每一条所述第二相邻道路,当所述第二相邻道路的所述FC与前一个交叉点的所述FC的差值小于所述第三预设值,且所述第二相邻道路的所述RD与所述前一个交叉点的所述RD相同时,判断所述第二道路与所述第二相邻道路的通行关系;其中所述前一个交叉点为,按照所述交叉点在所述核心点中的排列顺序,排列在所述当前交叉点前并最靠近的一个所述交叉点;

若所述通行关系是从所述第二相邻道路到所述第二道路,依次保存所述第二相邻道路和所述第二道路到所述存储单元的所述第二道路集合中。

14.根据权利要求13所述的装置,其特征在于,若所述匹配单元没有搜索到所述第二道路,所述匹配单元,用于在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路具体包括:在所述地图中以所述交叉点的位置为圆心,2倍所述第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第二道路。

15.根据权利要求10所述的装置,其特征在于,当所述匹配单元对所述位置点进行预匹配时,按所述位置点在所述核心点中的排列顺序,针对每一个位置点,所述匹配单元,具体用于在地图中以所述位置点的位置为圆心,第四预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第三道路;并将所述所有第三道路保存到第三道路集合中。

16.根据权利要求9至15任一项所述的装置,其特征在于,所述处理单元,具体用于将所述存储单元中存储的所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;

依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,并将得到的所述路径按所述路由点的顺序保存,得到位置参考;

其中,若所述相邻的两个路由点之间还包括所述交叉点和/或所述位置点,则按所述交叉点和/或所述位置点的顺序,所述路径包括与每一个所述交叉点和/或每一个所述位置点对应的至少一条第二道路和/或至少一个条第三道路。

说明书 :

一种动态位置解码的方法及装置

技术领域

[0001] 本发明涉及动态交通信息技术应用领域,尤其涉及一种动态位置解码的方法及装置。

背景技术

[0002] 随着道路信息处理技术的发展,电子地图应用日趋广泛。用户通过移动终端如手机、平板电脑以及车载导航仪等,越来越多的安装电子地图,以方便出行。移动终端通过交通信息频道(Traffic Message Channel,简称TMC)技术可获取实时的路况信息。TMC技术通过建立、更新和维护地图Link(地图中的最小道路单元)到路况之间的对应表,为移动终端提供实施的路况信息。当地图信息更新时,TMC技术需要对对应表进行更新。各地图厂商生产的地图版本各不相同,需要在关系表中对不同地图厂商生产的地图建立对应关系。因此对应表随着时间的增长其占用空间将越来越大。此外,TMC技术使用的对应表容量有限,使得路网的准确度较低,如对应表只能表示城市的主干道或城市间的主要城际高速。
[0003] 为了克服TMC技术的缺陷,现有技术中提供了ISO-17572-3智能运输系统(Intelligent transport systems,简称ITS)地理数据库参考定位(Location referencing for geographic databases),该标准对位置参考动态编码的格式进行了规定,用以规范位置参考动态编码的数据格式以及文件格式,以便终端接收到按上述标准处理的二进制文件后,通过对编码进行解析,并对编码所附的路况信息进行应用,可达到为用户服务的目的。因此,目前已开发出一种动态位置编码的方法。
[0004] 然而,对终端来说,如何准确的对编码的二进制文件进行解码又显的尤为重要。

发明内容

[0005] 本发明的实施例提供一种动态位置解码的方法及装置,通过对接收到的二进制编码文件进行解析,从而解析出位置参考,以达到为用户服务的目的。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 一方面,提供一种动态位置解码的方法,该方法包括:
[0008] 对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;其中所述核心点包括:路由点、交叉点及位置点;
[0009] 对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路;
[0010] 将所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。
[0011] 一方面,提供一种动态位置解码的装置,该装置包括:
[0012] 解析单元,用于对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;其中所述核心点包括:路由点、交叉点及位置点;
[0013] 匹配单元,用于根据所述解析单元得到的所述核心点,对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;并将所述第一道路集合、第二道路集合及第三道路集合保存到存储单元中;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路;
[0014] 存储单元,用于存储所述第一道路集合、第二道路集合及第三道路集合;
[0015] 处理单元,用于将所述存储单元中存储的所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。
[0016] 本发明实施例提供了一种动态位置解码的方法及装置,通过对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值,并对所述核心点进行预匹配后,经过路径规划,解析出位置参考,以达到为用户服务的目的;通过与基于ISO-17572-3标准的一种动态位置编码的配合,可以克服TMC技术中由于依赖对应表对路径进行描述,导致的对应表占用空间大、不同地图厂商间的地图信息无法兼容、对路网覆盖率低的问题。

附图说明

[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1为本发明实施例提供的一种动态位置解码的方法流程示意图;
[0019] 图2为本发明实施例提供的实施例一的对二进制编码文件进行解析的方法流程示意图;
[0020] 图3为现有的轴角度的示意图;
[0021] 图4为现有的连接角的示意图;
[0022] 图5为本发明实施例提供的实施例二的路由点进行预匹配的方法流程示意图;
[0023] 图6为本发明实施例提供的实施例三的交叉点进行预匹配的方法流程示意图;
[0024] 图7为本发明实施例提供的实施例四的路径规划的方法流程示意图;
[0025] 图8为本发明实施例提供的一种动态位置解码的装置的结构示意图。

具体实施方式

[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 本发明实施例提供了一种动态位置解码的方法,如图1所示,该方法包括:
[0028] S101、对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;其中所述核心点包括:路由点(Routing Point,RP)、交叉点(Intersection Point,IP)及位置点(Location Point,LP)。
[0029] 需要说明的是,由背景技术可知,针对现有技术中TMC技术的缺陷,已根据ISO-17572-3标准开发出一种动态位置编码的方法,本发明实施例的动态位置解码方法,是针对所述动态位置解码的方法而开发的。
[0030] 所述动态位置编码的方法,其原理是从位置参考中提取核心点,及与所述核心点对应的属性值,并对所述核心点和所述属性值进行二进制编码,形成移动终端可解码的二进制编码文件。其中,属性值的格式以及属性值的种类在IS0-17572-3标准中已做出规定。
[0031] 所述核心点可表示位置参考中的起点、终点、道路名称发生变化的点、以及道路形状发生变化的点,其中路由点可以为参考位置的起点、终点以及起点与终点之间的预设点;交叉点可以为道路名称发生变化的点;位置点可以为道路形状变化位置上的点,如一条“L”形的道路,可用三个核心点分别在两端点处和拐弯处进行描述。
[0032] 所述路由点的属性值包括:轴角度(Bearing,简称BR)属性;所述BR为所述路由点点处定义的位置参考的角度,其在ISO-17572-3标准中已做出定义。
[0033] 所述交叉点的属性值包括:道路功能等级(Functional road class,简称FC)属性、道路描述(Road Descriptor,简称RD)属性。
[0034] 所述位置点的属性值包括:位置点的坐标信息以及位置点的标识信息。
[0035] S102、对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路。
[0036] S103、将所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。
[0037] 例如:所述路由点在所述核心点中的排列顺序为R1、R2、R3、R4、R5,且所述路由点R1、R2、R3、R4、R5分别对应第一道路为L1,L2,L3,L4,L5,则依次以相邻的两个路由点对应的第一道路为起始点进行路径规划,即为,以L1为起点,L2为终点进行路径规划,接着以L2为起点,L3为终点进行路径规划,依次类推。
[0038] 此处的位置参考是指,用户通过移动终端,如车载导航仪或手机地图,进行路线查询时,从起点到达终点的某条路径。
[0039] 本发明实施例提供了一种动态位置解码的方法,通过对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值,并对所述核心点进行预匹配后,经过路径重建,解析出位置参考,以达到为用户服务的目的;通过与基于ISO-17572-3标准的一种动态位置编码的配合,可以克服TMC技术中由于依赖对应表对路径进行描述,导致的对应表占用空间大、不同地图厂商间的地图信息无法兼容、对路网覆盖率低的问题。
[0040] 可选的,所述对接收到的二进制编码文件进行解析包括:解析所述文件,若存在线性位置信息,则解析所述线性位置信息,所述线性位置信息包含核心点及与所述核心点对应的属性值;并按解析的所述核心点的顺序保存所述核心点。
[0041] 所述线性位置是用来描述现实世界中的一条路径。
[0042] 实施例一,如图2所示,所述对接收到的二进制编码文件进行解析具体可以为:
[0043] S201、解析所述二进制编码文件,判断是否存在线性位置信息,若存在,则进行S202,否则返回解析失败。
[0044] S202、解析所述线性位置信息,判断是否存在核心点,若存在,则进入S203,否则返回解析失败。
[0045] S203、判断核心点的坐标、IPsignature(交叉点标签)、RPSignature (路由点标签)、SRSignature(支路标签)、与所述核心点对应的属性值是否存在,若存在,进入S204,否则,返回解析失败。
[0046] 所述IPsignature记录了道路的属性,例如:道路功能等级、道路名称等;所述RPSignature记录了BR(bearing,轴角度)属性,PD属性(相邻的RP之间的距离)等;所述SRSignature记录了CA(connect angle,连接角)属性,AFR(Accessible for Routing,路径规划时是否通行)属性(即支路从通行关系上,是驶入核心点的还是驶出核心点的)等。
[0047] 其中,如图3所示,所述BR为以路由点为圆心,以预设长度为半径的圆与路径相交的交点与路由点的连线与正北方向顺时针的夹角。
[0048] 所述SRSignature记录的CA,如图4所示,为通过路由点的路径R1和通过路由点的支路SR1的夹角。
[0049] S204、按解析的所述核心点的顺序保存所述核心点到列表中,进行S205。
[0050] S205、判断列表是否为空,若不为空,解析成功,否则,解析失败。
[0051] 可选的,当对所述路由点进行预匹配时,按所述路由点在所述核心点中的排列顺序,针对每一个路由点,所述对所述路由点进行预匹配包括:在地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路;并将所述所有第一道路保存到第一Link(链路)集合中。
[0052] 针对所述第一Link集合中的每一条第一道路,当所述第一道路满足预设规则时,判断是否已存在满足所述预设规则的最优第一道路;若不存在,保存所述第一道路为所述最优第一道路;若存在,将所述第一道路与所述最优第一道路进行比较,若所述第一道路到所述路由点的距离小于所述最优第一道路到所述路由点的距离,则将所述最优第一道路更新为所述第一道路。
[0053] 将与所述路由点匹配的所述第一道路保存到所述第一道路集合中。
[0054] 此处所指的与所述路由点匹配的第一道路,即为上述的最优第一道路。
[0055] 其中,所述预设规则包括:计算所述路由点与所述路由点在所述第一道路上的投影点的直线距离L;计算所述投影点与所述第一道路的起点的距离L1;计算所述投影点与所述第一道路的终点的距离L2;若所述L1大于L2,得到投影点和所述第一道路的起点连线与正北方向的顺时针第一夹角α1;若所述L1小于L2,得到投影点和所述第一道路的终点连线与正北方向的顺时针第二夹角α2。
[0056] 当所述α1与所述路由点的所述BR的差值的绝对值小于第一预设角,且所述第一道路的起点有第一支路时,计算所述第一道路与所述第一支路的第一CA,并判断所述第一CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角。
[0057] 或者,当所述α2与所述路由点的所述BR的差值的绝对值小于第一预设角,且所述第一道路的终点有第二支路时,计算所述第一道路与所述第二支路的第二CA,并判断所述第二CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角。
[0058] 此处路由点的CA即为上述解析SRSignature中记录的CA。
[0059] 所述满足所述预设规则包括:所述第一CA和所述路由点的CA的差值的绝对值小于所述第一预设角;或所述第二CA和所述路由点的CA的差值的绝对值小于所述第一预设角。
[0060] 进一步地,若没有搜索到所述第一道路,所述在地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路包括:在所述地图中以所述路由点的位置为圆心,2倍所述第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第一道路。
[0061] 实施例二,如图5所示,按所述路由点在所述核心点中的排列顺序,针对每一个路由点,对所述路由点进行预匹配具体可以包括如下步骤:
[0062] S301、在地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的第一道路;如果没有搜索到与所述圆形区域相交的所述第一道路,则进行S302;如果搜索到与所述圆形区域相交的所述第一道路,则进行S303。
[0063] 其中所述第一预设值例如可以为150米。
[0064] S302、将第一预设值放大一倍,即,以所述路由点的位置为圆心,2倍所述第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的第一道路;如果搜索到与所述圆形区域相交的所述第一道路,则进行S303;否则返回失败。
[0065] S303、将搜索到的所述第一道路保存到第一Link集合中,进行S304。
[0066] S304、针对所述第一Link集合中的每一条所述第一道路,计算所述路由点与所述路由点在所述第一道路上的投影点的直线距离L,计算所述投影点与所述第一道路的起点的距离L1,计算所述投影点与所述第一道路的终点的距离L2。
[0067] 此处为描述的方便,将当前正在处理的所述第一道路,称为当前第一道路。
[0068] 若所述L1大于L2,得到投影点和所述第一道路的起点连线与正北方向的顺时针第一夹角α1;若所述L1小于L2,得到投影点和所述第一道路的终点连线与正北方向的顺时针第二夹角α2。
[0069] 当所述α1与所述路由点的所述BR的差值的绝对值小于第一预设角,或当所述α2与所述路由点的所述BR的绝对值小于第一预设角;则进行S305;否则按S304的过程开始处理所述当前正在处理的所述第一道路的下一条道路。
[0070] 此处,当所述下一条道路开始处理时,该下一条道路称为当前第一道路。
[0071] S305、如果L1大于L2,且当所述第一道路的起点有第一支路时,计算所述第一道路与所述第一支路的第一CA,并判断所述第一CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;或如果L1小于L2,且当所述第一道路的终点有第二支路时,计算所述第一道路与所述第二支路的第二CA,并判断所述第二CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角;若大于所述第一预设角,则进行S304,按S304的过程开始处理所述当前正在处理的所述第一道路的下一条道路;若小于所述第一预设角,将所述第一道路称为最优第一道路,进行S306。
[0072] 所述第一预设角例如可以为45°。
[0073] S306、判断是否已存在满足S304-S305的最优第一道路;若不存在,保存所述第一道路为所述最优第一道路;若存在,将所述第一道路与所述最优第一道路进行比较,若所述第一道路到所述路由点的距离小于所述最优第一道路到所述路由点的距离,则将所述最优第一道路更新为所述第一道路。
[0074] 在匹配成功之后,将与所述路由点匹配的所述第一道路,即所述最优第一道路,保存到所述第一道路集合中。
[0075] 可选的,当对所述交叉点进行预匹配时,按所述交叉点在所述核心点中的排列顺序,针对每一个交叉点,所述对所述交叉点进行预匹配包括:
[0076] 在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路;并将所述第二道路保存到第二Link集合中。
[0077] 针对所述第二Link集合中的每一条所述第二道路,当所述第二道路的FC与当前交叉点的所述FC的差值小于第三预设值,且所述第二道路的RD与所述当前交叉点的所述RD相同时,获取与所述第二道路相邻的所有第二相邻道路;其中,所述当前交叉点为正在处理的一个所述交叉点。
[0078] 针对每一条所述第二相邻道路,当所述第二相邻道路的所述FC与前一个交叉点的所述FC小于所述第三预设值,且所述第二相邻道路的所述RD与所述前一个交叉点的所述RD相同时,判断所述第二道路与所述第二相邻道路的通行关系;所述前一个交叉点为,按照所述交叉点在所述核心点中的排列顺序,排列在所述当前交叉点前并最靠近的一个所述交叉点。
[0079] 若所述通行关系是从所述第二相邻道路到所述第二道路,依次保存所述第二相邻道路和所述第二道路到所述第二道路集合中。
[0080] 进一步地,若没有搜索到所述第二道路,所述在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路包括:在所述地图中以所述交叉点的位置为圆心,2倍所述第二预设值为半径的圆形搜索区域内搜索与所述圆形区域相交的所述所有第二道路。
[0081] 实施例三,如图6所示,按所述交叉点在所述核心点中的排列顺序,针对每一个交叉点,对所述交叉点进行预匹配具体可以包括如下步骤:
[0082] S401、在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的第二道路;如果没有搜索到与所述圆形区域相交的所述第二道路,则进行S402;如果搜索到与所述圆形区域相交的所述第二道路,则进行S403。
[0083] S402、将第二预设值放大一倍,即,以所述路由点的位置为圆心,2倍所述第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的第二道路;如果搜索到与所述圆形区域相交的所述第二道路,则进行S403;否则返回失败。
[0084] S403、将搜索到的所述第二道路保存到第二Link集合中,进行S404。
[0085] S404、针对所述第二Link集合中的每一条所述第二道路,若第二道路的FC与当前交叉点的所述FC的差值小于第三预设值,则进入S405,其中,所述当前交叉点为正在处理的一个所述交叉点。
[0086] 其中,第三预设值例如可以为2;当该第三预设值为2时,可以认为第二道路的FC与当前交叉点的FC属性是一致的。
[0087] 此处,当第二道路的FC与当前交叉点的所述FC的差值大于第三预设值时,继续进行S404,开始处理下一条第二道路,其中,下一条第二道路是针对当前正在处理的第二道路而言的,在当前正在处理的第二道路不满足上述判断条件时,才进行处理下一条第二道路,当下一条第二道路开始处理后,该下一条第二道路称为当前道路,直到出现满足上述判断条件的第二道路,才进行S405。
[0088] S405、判断所述第二道路的RD与所述当前交叉点的所述RD是否相同,若相同,进行S406。
[0089] 此处,当所述第二道路的RD与所述当前交叉点的所述RD不相同时,返回S404中开始处理下一条第二道路。
[0090] S406、获取与所述第二道路相邻的所有第二相邻道路,进入S407;
[0091] S407、针对每一条所述第二相邻道路,若所述第二相邻道路的所述FC与前一个交叉点的所述FC的差值小于所述第三预设值,则进入S408;其中所述前一个交叉点为,按照所述交叉点在所述核心点中的排列顺序,排列在所述当前交叉点前并最靠近的一个所述交叉点。
[0092] 此处,若所述第二相邻道路的所述FC与前一个交叉点的所述FC的差值大于所述第三预设值,继续进行S407,开始处理下一条第二相邻道路。
[0093] S408、判断所述第二相邻道路的所述RD与所述前一个交叉点的所述RD是否相同,若相同,进行S409。
[0094] 此处,若所述第二相邻道路的所述RD与所述前一个交叉点的所述RD不相同,则返回S407中开始处理下一条第二相邻道路。
[0095] S409、判断所述第二道路与所述第二相邻道路的通行关系是否是从所述第二相邻道路到所述第二道路,如果是,依次保存所述第二相邻道路和所述第二道路到第二道路集合中,匹配成功。
[0096] 此处若通行关系不是从所述第二相邻道路到所述第二道路,则返回S404开始处理下一条第二道路。
[0097] 可选的,当对所述位置点进行预匹配时,按所述位置点在所述核心点中的排列顺序,针对每一个位置点,所述对所述位置点进行预匹配包括:在所述地图中以所述位置点的位置为圆心,第四预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第三道路;并将所述所有第三道路保存到第三道路集合中。
[0098] 进一步地,所述依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划包括:依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,并将得到的所述路径按所述路由点的顺序保存;其中,若所述相邻的两个路由点之间还包括交叉点和/或位置点,则按所述交叉点和/或位置点的顺序,所述路径包括与每一个所述交叉点和/或位置点对应的至少一条第二道路和/或至少一个条第三道路。
[0099] 在本发明所有实施例中,所述相邻的两个路由点对应的所述第一道路为起始点中的起始点,是指按该两个路由点在核心点中的顺序,位于前面的一个为起点,后面的一个为终点。
[0100] 需要说明的是,在本发明实施例中,若所述相邻的两个路由点之间还包括交叉点和/或位置点,则按所述交叉点和/或位置点的顺序,所述路径包括与每一个所述交叉点和/或位置点对应的至少一条第二道路和/或至少一个条第三道路,例如可以为:按核心点的顺序,若相邻路由点分别为R1和R2,其间还有位置点LP1、LP2,交叉点IP1,即这些点在核心点中的顺序为R1、LP1、LP2、IP1、R2,通过将以R1对应的第一道路L1为起点,R2对应的第一道路L2为终点,进行路由规划后,发现在L1和L2之间有多种选择,但其中一种是从L1到LP1对应的第二道路L3,再到L4,再到LP2对应的第二道路L5,再到L6,再到IP1对应的第三道路L7,最终到达L2,这该条路径可以为一条路径规划路线。
[0101] 这里仅为方便理解而示意性的举例,本发明实施例并不限于此。
[0102] 实施例四,如图7所示,所述依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考具体可以包括如下步骤:
[0103] S601、按所述路由点在所述核心点中的排列顺序,判断相邻的两个路由点间是否存在位置点和/或交叉点;若不存在,进行S602;若存在,进行S603。
[0104] S602、以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,并将得到的路径按所述路由点的顺序保存,之后进行S604。
[0105] 此处得到的路径可以为,以相邻的两个路由点对应的所述第一道路为起始点的多条路径。
[0106] S603、以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,所述路径包括与每一个所述交叉点和/或位置点对应的至少一条第二道路和/或至少一个条第三道路;保存所述路径,之后返回S604。
[0107] 其中,所述路径中包括的与所述交叉点对应的第二道路和与所述位置点对应的第三道路,按所述交叉点和位置点在两个路由点的顺序排列。
[0108] S604、判断所述相邻的两个路由点中的后一个路由点是否为所述核心点中的最后一个路由点;若是,输出所述位置参考;若不是,返回S601。
[0109] 此处,后一个路由点即为,按该两个路由点在核心点中的顺序,位于后面的一个路由点。
[0110] 本发明实施例提供了一种动态位置解码的方法,通过对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值,并对所述核心点进行预匹配后,经过路径重建,解析出位置参考,以达到为用户服务的目的;通过与基于ISO-17572-3标准的一种动态位置编码的配合,可以克服TMC技术中由于依赖对应表对路径进行描述,导致的对应表占用空间大、不同地图厂商间的地图信息无法兼容、对路网覆盖率低的问题。
[0111] 本发明实施例提供了一种动态位置解码的装置10,该动态位置解码的装置10中各个单元与上述动态位置解码的方法中的各步骤相对应,故对于各个单元的具体描述,可以为上述步骤的描述,在此不再赘述。
[0112] 如图8所示,该动态位置解码的装置10包括:
[0113] 解析单元101,用于对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值;其中所述核心点包括:路由点、交叉点及位置点。
[0114] 匹配单元102,用于根据所述解析单元101得到的所述核心点,对所述核心点进行预匹配,得到第一道路集合、第二道路集合及第三道路集合;并将所述第一道路集合、第二道路集合及第三道路集合保存到存储单元中;其中,所述第一道路集合包含与所述路由点匹配的第一道路;所述第二道路集合包含与所述交叉点匹配的第二道路;所述第三道路集合包括与所述位置点匹配的第三道路。
[0115] 存储单元103,用于存储所述第一道路集合、第二道路集合及第三道路集合。
[0116] 处理单元104,用于将所述存储单元103中存储的所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列;依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,得到位置参考。
[0117] 可选的,所述解析单元101,具体用于解析所述二进制编码文件,若存在线性位置信息,则解析所述线性位置信息,所述线性位置信息包含核心点及与所述核心点对应的属性值;并按解析的所述核心点的顺序保存所述核心点;其中所述核心点包括:路由点、交叉点及位置点。
[0118] 可选的,当所述匹配单元102对所述路由点进行预匹配时,按所述路由点在所述核心点中的排列顺序,针对每一个路由点,所述匹配单元102,具体用于在所述地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路;并将所述所有第一道路保存到第一链路Link集合中。
[0119] 针对所述第一Link集合中的每一条所述第一道路,当所述第一道路满足预设规则时,判断是否已存在满足所述预设规则的最优第一道路;若不存在,保存所述第一道路为所述最优第一道路;若存在,将所述第一道路与所述最优第一道路进行比较,若所述第一道路到所述路由点的距离小于所述最优第一道路到所述路由点的距离长度,则将所述最优第一道路更新为所述第一道路。
[0120] 将与所述路由点匹配的所述第一道路保存到所述存储单元的所述第一道路集合中。
[0121] 其中,所述预设规则包括:计算所述路由点与所述路由点在所述第一道路上的投影点的直线距离L;计算所述投影点与所述第一道路的起点的距离L1;计算所述投影点与所述第一道路的终点的距离L2。
[0122] 若所述L1大于L2,得到投影点和所述第一道路的起点连线与正北方向的顺时针第一夹角α1;若所述L1小于L2,得到投影点和所述第一道路的终点连线与正北方向的顺时针第二夹角α2。
[0123] 当所述α1与所述路由点的所述BR的差值的绝对值小于第一预设角,且所述第一道路的起点有第一支路时,计算所述第一道路与所述第一支路的第一CA,并判断所述第一CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角。
[0124] 或者,当所述α2与所述路由点的BR的差值的绝对值小于所述第一预设角,且所述第一道路的终点有第二支路时;计算所述第一道路与所述第二支路的第二CA,判断所述第二CA和所述路由点的CA的差值的绝对值是否小于所述第一预设角。
[0125] 所述满足所述预设规则包括:所述第一CA和所述路由点的CA的差值的绝对值小于所述第一预设角;或所述第二CA和所述路由点的CA的差值的绝对值小于所述第一预设角。
[0126] 进一步地,若所述匹配单元102没有搜索到所述第一道路,所述匹配单元102,用于在所述地图中以所述路由点的位置为圆心,第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第一道路具体包括:在所述地图中以所述路由点的位置为圆心,2倍所述第一预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第一道路。
[0127] 可选的,当所述匹配单元102对所述交叉点进行预匹配时,按所述交叉点在所述核心点中的排列顺序,针对每一个交叉点,所述匹配单元102,具体用于在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路;并将所述所有第二道路保存到第二Link集合中。
[0128] 针对所述第二Link集合中的每一条所述第二道路,当所述第二道路的道路功能等级FC与当前交叉点的所述FC的差值小于第三预设值,且所述第二道路的道路描述RD与所述当前交叉点的所述RD相同时,获取与所述第二道路相邻的所有第二相邻道路;其中,所述当前交叉点为正在处理的一个所述交叉点。
[0129] 针对每一条所述第二相邻道路,当所述第二相邻道路的所述FC与前一个交叉点的所述FC的差值小于所述第三预设值,且所述第二相邻道路的所述RD与所述前一个交叉点的所述RD相同时,判断所述第二道路与所述第二相邻道路的通行关系;其中所述前一个交叉点为,按照所述交叉点在所述核心点中的排列顺序,排列在所述当前交叉点前并最靠近的一个所述交叉点。
[0130] 若所述通行关系是从所述第二相邻道路到所述第二道路,依次保存所述第二相邻道路和所述第二道路到所述存储单元的所述第二道路集合中。
[0131] 进一步地,若所述匹配单元102没有搜索到所述第二道路,所述匹配单元102,用于在所述地图中以所述交叉点的位置为圆心,第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第二道路具体包括:当没有搜索到所述第二道路时,以所述交叉点的位置为圆心,2倍所述第二预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所述所有第二道路。
[0132] 可选的,当所述匹配单元102对所述位置点进行预匹配时,按所述位置点在所述核心点中的排列顺序,针对每一个位置点,所述匹配单元102,具体用于在所述地图中以所述位置点的位置为圆心,第四预设值为半径的圆形搜索区域内,搜索与所述圆形区域相交的所有第三道路;并将所述所有第三道路保存到第三道路集合中。
[0133] 基于上述得到的第一道路集合,第二道路集合,第三道路集合,进一步地,所述处理单元104,具体用于将所述存储单元103中存储的所述第一道路集合中的第一道路、所述第二道路集合中的第二道路、及所述第三道路集合中的第三道路,按所述核心点的顺序重新排列。
[0134] 依次以相邻的两个路由点对应的所述第一道路为起始点,进行路径规划,并将得到的所述路径按所述路由点的顺序保存,得到位置参考;其中,若所述当前路由点和所述下一个路由点之间还包括所述交叉点和/或所述位置点,则按所述交叉点和/或所述位置点的顺序,所述路径包括与每一个所述交叉点和/或每一个所述位置点对应的至少一条第二道路和/或至少一个条第三道路。
[0135] 本发明实施例提供了一种动态位置解码的装置,通过对接收到的二进制编码文件进行解析,得到核心点以及与所述核心点对应的属性值,并对所述核心点进行预匹配后,经过路径重建,解析出位置参考,以达到为用户服务的目的;通过与基于ISO-17572-3标准的一种动态位置编码的配合,可以克服TMC技术中由于依赖对应表对路径进行描述,导致的对应表占用空间大、不同地图厂商间的地图信息无法兼容、对路网覆盖率低的问题。
[0136] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0137] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。