权值表维护方法、装置及导航路线规划方法、装置
技术领域
本申请涉及路线规划技术领域,更具体地说,涉及一种权值表维护方法、装置及导航路线规划方法、装置。
背景技术
导航路线规划给用户的日常出行带来很大的方便,能够为用户提供躲避拥堵、躲避收费、用时最短等多种条件的导航路线。
为了加快导航路线规划请求的响应时间,即缩短导航路线计算时间,现有技术提出了CRP(Customizable Route Planning,可定制的路线规划)算路方法。CRP算法将真实路网按照层次划分,每一层划分为若干路网子网格,每一路网子网格包括驶入节点和驶出节点。针对每一路网子网格维护若干个权值表,不同权值表对应不同的算路策略。现有的算路策略一般包含:距离最短策略、时间最短策略、躲避拥堵策略。权值表记录有按照对应的算路策略,计算的自路网子网格的各驶入节点至路网子网格的各驶出节点的通行权值。
本申请的发明人在对现有技术进行研究的过程中发现,算路策略会随着实际需求产生变化,在算路策略变化的情况下,如何保证CRP算法的有效实施是亟需解决的问题。
发明内容
有鉴于此,本申请提供了一种权值表维护方法、装置及导航路线规划方法、装置,以在算路策略发生变化时,保证CRP算法的有效实施。
为了实现上述目的,现提出的方案如下:
一种权值表更新方法,包括:
在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;
若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。
优选地,还包括:
利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
利用依据第二算路策略计算的通行权值,对所述路网子网格对应的第二算路策略权值表进行更新。
一种导航路线规划方法,包括:
根据导航路线规划请求携带的起点、终点和车辆信息,计算自所述起点至所述终点的至少一条导航路线,其中,在计算过程中若搜索到预设了限行规则的路网子网格时,基于所述车辆信息判断所述路网子网格是否存在对所述车辆生效的限行规则;
若存在,则在预设的所述路网子网格对应的权值表中,查找第一算路策略对应的权值表,所述第一算路策略包括所述生效的限行规则及所述导航路线规划请求对应的非限行算路规则;
利用所述第一算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算;
若不存在,则在预设的所述路网子网格对应的权值表中,查找第二算路策略对应的权值表,所述第二算路策略包括所述导航路线规划请求对应的非限行算路规则;
利用所述第二算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算。
优选地,该方法进一步包括:
在确定满足权值表更新条件时,判断所述路网子网格是否存在生效或失效的限行规则;
若所述路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
用所述通行权值对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新。
优选地,该方法进一步包括:
在确定满足权值表更新条件时,利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
利用依据第二算路策略计算的通行权值,对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新。
一种权值表维护装置,包括:
限行确定单元,用于在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;
算路策略确定单元,用于若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
第一通行权值计算单元,用于根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
第一权值表更新单元,用于用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。
优选地,还包括:
第二通行权值计算单元,用于利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
第二权值表更新单元,用于利用依据第二算路策略计算的通行权值,对所述路网子网格对应的第二算路策略权值表进行更新。
一种导航路线规划装置,包括:
限行规则判断单元,用于根据导航路线规划请求携带的起点、终点和车辆信息,计算自所述起点至所述终点的至少一条导航路线,其中,在计算过程中若搜索到预设了限行规则的路网子网格时,基于所述车辆信息判断所述路网子网格是否存在对所述车辆生效的限行规则;
第一权值表查找单元,用于在所述限行规则判断单元判断存在时,在预设的所述路网子网格对应的权值表中,查找第一算路策略对应的权值表,所述第一算路策略包括所述生效的限行规则及所述导航路线规划请求对应的非限行算路规则;
第一导航路线计算单元,用于利用所述第一算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算;
第二权值表查找单元,用于在所述限行规则判断单元判断不存在时,在预设的所述路网子网格对应的权值表中,查找第二算路策略对应的权值表,所述第二算路策略包括所述导航路线规划请求对应的非限行算路规则;
第二导航路线计算单元,用于利用所述第二算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算。
优选地,还包括:第一权值表更新单元,用于对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新,该过程包括:
在确定满足权值表更新条件时,判断所述路网子网格是否存在生效或失效的限行规则;
若所述路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
用所述通行权值对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新。
优选地,还包括:第二权值表更新单元,用于对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新,该过程包括:
在确定满足权值表更新条件时,利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
利用依据第二算路策略计算的通行权值,对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新。
从上述的技术方案可以看出,本申请实施例提供的权值表维护方法,在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值,用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。本申请提供的技术方案仅需对存在生效的限行规则的路网子网格维护包含相应限行规则的算路策略对应的权值表,对于不存在生效的限行规则的路网子网格,不需要维护包含限行规则的算路策略权值表,相比于现有CRP算法,每一个网格必须针对每一种算路策略维护一张权值表而言,本申请不仅改变了本领域技术人员对CRP算法的常规认知及可能存在的技术偏见,而且大大降低了权值表的维护成本,减少了权值表的存储量,对于实施限行规则的区域,保证了CRP算法的有效实施。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1a示例了某一层次电子地图各区域驶入节点和驶出节点分布示意图;
图1b示例了cell1在低层电子地图中所包含各区域驶入节点和驶出节点分布示意图;
图2为本申请实施例公开的一种权值表维护方法流程图;
图3为本申请实施例公开的另一种权值表维护方法流程图;
图4为本申请实施例公开的一种导航路线规划方法流程图;
图5示例了某一层次电子地图各区域驶入节点和驶出节点分布示意图;
图6为本申请实施例公开的一种权值表维护装置结构示意图;
图7为本申请实施例公开的一种导航路线规划装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,为了便于描述,本申请技术方案定义包含限行规则及非限行算路规则的算路策略为第一算路策略,比如,距离最短及外埠车辆尾号限行是一种第一算路策略;仅由非限行算路规则组成的算路策略为第二算路策略,比如,距离最短是一种第二算路策略。第一算路策略和第二算路策略是对两种不同类型算路策略的总称。
在介绍本申请方案之前,首先对CRP算法简单介绍。CRP算法将真实路网按照层次进行划分,划分为多个层。每一层再分为路网子网格,路网子网格在CRP算法中称之为Cell。举例如,将中国地图划分为三层,第一层由各个省份区域的路网子网格组成;第二层由省份下的各个市区域的路网子网格组成;第三层由市区域下的各个县的路网子网格组成。针对每一层中的路网子网格,该路网子网格的驶入节点和驶出节点是固定的。驶入节点即从其它路网子网格驶入该路网子网格的节点,驶出节点即从该路网子网格驶出的节点。以路网子网格1为例,设定该路网子网格1的驶入节点包括A1-Ax,驶出节点包括B1-By。
由于不同用户请求导航路线规划时所选择的算路规则不同,如有的用户选择时间最短、有的选择路径最短、有的选择躲避拥堵等。因此,根据用户不同的算路规则,需要按照不同的算路策略进行算路。假设现有的算路策略共计N个,则针对一个路网子网格,需要维护N个权值表,该N个权值表分别对应N个互不相同的算路策略,算路策略会在权值表中记录,按照对应的算路策略,可以计算自路网子网格的各驶入节点至各驶出节点的虚拟边的通行权值。其中,驶入节点至驶出节点的虚拟边表示两个节点间的路线,在CRP算法中又称之为shortcut。虚拟边的通行权值代表了虚拟边的通行代价,即,通行权值越小,表示选择走该虚拟边的优先级越高。所有路网子网格对应的所有的权值表需要定期进行统一更新,如每隔设定时间更新一次。
可以理解的是,高层次的路网子网格由低层次的路网子网格组成。因此,高层次路网子网格的驶入节点至驶出节点的虚拟边的通行权值可以通过该高层次路网子网格所包含各低层次路网子网格的驶入节点至驶出节点的虚拟边的通行权值之和得到。
CRP算法的算路过程大致如下:
搜索从起点到终点的导航路线,每当搜索到一个路网子网格的驶入节点时,按照该导航路线规划请求对应的算路规则,确定由该算路规则组成的算路策略,如最短距离策略,则用该路网子网格的最短距离策略权值表中记录的虚拟边的通行权值参与导航路线的计算。最后,根据从所述起点至所述终点经过各路网子网格时参与计算的权值表中记录的虚拟边的通行权值,选择最优的导航路线输出。
由于使用CRP算法算路过程不需要临时去计算各路线的通行权值,通过查表可以直接获取通行权值,因此,大大提高了算路时间。
接下来参见图1a,对CRP算路过程进行简单介绍。
如图1a示例的是对电子地图层次划分后的某一层,其中各个矩形框表示划分后的路网子网格。
用户发起的导航路线规划请求的起点为A,终点为B。A位于路网子网格cell1中,B位于路网子网格cell3中。
假设用户发起的导航路线规划请求对应的算路规则为算路规则1,该算路规则1组成的算路策略为算路策略1。
假设cell1的两个驶出节点为X11和X12。cell2的两个驶入节点为X11和X12,cell2的两个驶出节点为X13和X14。cell3的两个驶入节点为X13和X14。
其中,cell2对应的算路策略1权值表中记录的数据如下表1所示:
驶入节点 |
驶出节点 |
虚拟边的通行权值 |
X11 |
X13 |
5 |
X11 |
X14 |
4 |
X12 |
X13 |
4 |
X12 |
X14 |
2 |
表1
在算路时,假设从A点至X11点的虚拟边的通行权值为5,从A点至X12的虚拟边的通行权值为2。则算路队列中存在两条候选导航路线,分别为候选导航路线1:A-X11;候选导航路线2:A-X12。
由于候选导航路线2的通行权值总和2小于候选导航路线1的通行权值总和5,因此优先以X12点向下继续搜索。在cell2中搜索路线时,查询cell2对应的算路策略1权值表,查询驶入节点X12至驶出节点X13和X14的虚拟边的通行权值:根据上表1可知,X12至X13的虚拟边的通行权值为4,X12至X14的虚拟边的通行权值为2。此时算路队列中共计存在3条候选导航路线,分别为:候选导航路线1:A-X11;候选导航路线21:A-X12-X13;候选导航路线22:A-X12-X14。
候选导航路线1、21、22的通行权值总和分别为:5、2+4、2+2。
选择通行权值总和最小的候选导航路线1的末尾节点X11,继续向下搜索。在cell2中搜索路线时,查询cell2对应的算路策略1权值表,查询驶入节点X11至驶出节点X13和X14的虚拟边的通行权值:根据上表1可知,X11至X13的虚拟边的通行权值为5,X11至X14的虚拟边的通行权值为4。此时算路队列中共计存在4条候选导航路线,分别为:候选导航路线11:A-X11-X13;候选导航路线12:A-X11-X14;候选导航路线21:A-X12-X13;候选导航路线22:A-X12-X14。
候选导航路线11、12、21、22的通行权值总和分别为:5+5、5+4、2+4、2+2。
选择通行权值总和最小的候选导航路线22的末尾节点X14,继续向下搜索。在cell3中搜索路线时,假设X14至B点的虚拟边的通行权值为1,则候选导航路线22变更为候选导航路线22B:A-X12-X14-B。
候选导航路线22B的通行权值总和为:2+2+1。
显然,此时算路队列中四个候选导航路线11、12、21、22B的通行权值总和分别为:5+5、5+4、2+4、2+2+1,即:10、9、6、5。
由于候选导航路线22B已经搜索到终点,且此时该候选导航路线的通行权值之和最小,因此,将候选导航路线22B确定为最终结果。
需要说明的是,由于候选导航路线22B仅仅确定了在cell2中选择X12-X14的虚拟边,至于X12-X14的真实行驶路线,还需要再次计算一遍。计算X12-X14的真实行驶路线时仅需要在cell2中进行搜索,其搜索速度很快。
由上述过程可知,起点和终点所在的路网子网格并不能够直接查询路网子网格对应的算路策略权值表。以图1a示例的起点和终点为例,可以临时计算子A点至cell1的各驶出节点X11和X12的虚拟边的通行权值,以及计算自X14至B点的虚拟边的通行权值。除此之外,如果当前查询的区域处于高层,可以进一步确定cell1在低一层中所包含的各个路网子网格,参见图1b所示:
图1b示例了低一层中cell1所包含的各路网子网格,其中起点A位于cell11中,驶出节点X12与cell12的一个驶出节点X23为同一节点。则确定A至X12的虚拟边的通行权值的过程,可以转换为确定A-X21-X23的虚拟边的通行权值之和,以及A-X22-X23的虚拟边的通行权值之和。并从中选择最小的通行权值之和作为A至X12的虚拟边的通行权值。
转换之后,X21-X23的虚拟边的通行权值,以及X22-X23的虚拟边的通行权值可以通过查询cell12对应的算路策略1权值表来确定,无需临时计算。对于A-X21以及A-X22的虚拟边的通行权值的计算方式,如果还存在比cell11所在层次更低的层次,则可以进一步将cell11进行划分,按照上述逻辑来计算。如果不存在比cell11所在层次更低的层次,则需要依据路网来计算A-X21以及A-X22的虚拟边的通行权值。
当然,图1b仅仅以A-X2的虚拟边的通行权值的计算过程为例进行了说明,X4-B的虚拟边的通行权值的计算过程类似。
上述介绍了CRP算路的过程。
由于CRP算法是美国提出的,而美国没有限行政策,因此CRP算法提出时没有考虑道路限行。而在中国等存在道路限行政策的国家,应用CRP算法计算导航路线时,则面临新的问题。
按照CRP算法的精神,需要将道路限行规则与每一种非限行算路规则相结合,并确定道路限行规则与非限行算路规则结合后的算路策略。可以理解的是,假设非限行算路规则共存在N种,则一种道路限行规则与N种非限行算路规则进行组合,会得到N种组合,每一种组合是一种算路策略。举例如,道路限行规则与躲避拥堵算路规则结合,结合后的算路策略为躲避道路限行且躲避拥堵算路策略。
当道路限行规则存在L种类型时,则需要新增的算路策略为N*L种,每一种新增算路策略均需要维护对应的权值表。
该种处理方式将会占用大量的内存和计算资源,对现有计算机而言是不可接受的。因此,亟需一种将CRP算法与道路限行相结合,且具备可实施性的导航路线规划方案。
为此,本申请提供了一种解决方式,参见图2,其公开了一种权值表维护方法,如图2所示,该方法包括:
步骤S100、在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;
其中,设定的虚拟边权值表更新条件可以是设定更新时间或者其它条件,如确定路网发生变更等。设定的虚拟边权值表更新条件需要保证限行生效时能够及时对限行规则生效的路网子网格的权值表进行更新。如更新时间周期设置短点,示例如1秒更新一次。再比如,更新时间周期如果不足够短,则在最近一次虚拟边权值表更新之后,且还未达到下一次虚拟边权值表更新时间,如果发现某一路网子网格的限行规则由失效转变为生效,则可以将下一次虚拟边权值表的更新时间提前至路网子网格限行规则生效的时间。
可以理解的是,同一时间一部分路网子网格中可能存在生效的限行规则,而另一部分路网子网格中可能不存在生效的限行规则。如2017年1月1日北京存在生效的限行规则,而海南不存在生效的限行规则。并且,存在生效的限行规则的各路网子网格中,其各自所存在的生效的限行规则也可能不同。如北京生效的限行规则为尾号为4和9的车辆不能出行。而河北省的生效的限行规则是外埠车辆不能驶入二环以内。
步骤S110、若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
可选的,预设的路网子网格的非限行算路规则可以是一种或多种,其包含了不同用户对导航路线的不同需求,如要求行驶时间最短、要求行驶路径最短、要求躲避拥堵、要求走高速等等。
本步骤中根据路网子网格存在的生效的限行规则,将生效的限行规则与预设的非限行算路规则分别进行组合,得到至少一个包含生效的限行规则及非限行算路规则的算路策略,作为第一算路策略。并可以理解的是,预设的非限行算路规则有N种时,每一种生效的限行规则与每一种非限行算路规则组合后均对应唯一的一个第一算路策略,即第一算路策略的个数也为N。参考下表2示例。
生效的限行规则 |
预设的非限行算路规则 |
第一算路策略 |
限行规则1 |
非限行算路规则1 |
第一算路策略1 |
限行规则1 |
非限行算路规则2 |
第一算路策略2 |
… |
… |
… |
表2
步骤S120、根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
具体地,根据第一算路策略,计算路网子网格的各驶入节点至各驶出节点的虚拟边的通行权值。
步骤S130、用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。
第一算路策略权值表中用于记录按照第一算策略,计算得到的路网子网格的虚拟边的通行权值。
可以理解的是,如果路网子网格不存在生效的限行规则,则不存在确定第一算路策略的过程,也不会按照第一算路策略计算路网子网格的虚拟边的通行权值,进而不需要存储该路网子网格对应的第一算路策略权值表。
本申请实施例提供的权值表维护方法,在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值,用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。本申请提供的技术方案仅需对存在生效的限行规则的路网子网格维护包含相应限行规则的算路策略对应的权值表,对于不存在生效的限行规则的路网子网格,不需要维护包含限行规则的算路策略权值表,相比于现有CRP算法,每一个网格必须针对每一种算路策略维护一张权值表而言,本申请不仅改变了本领域技术人员对CRP算法的常规认知及可能存在的技术偏见,而且大大降低了权值表的维护成本,减少了权值表的存储量,对于实施限行规则的区域,保证了CRP算法的有效实施。
以总共N个路网子网格中,存在生效的限行规则的路网子网格的个数为x个为例,本申请仅需维护x个路网子网格对应的第一算路策略权值表,而按照现有CRP算法,需要维护N个路网子网格各自对应的第一算路策略权值表。
在上述实施例的基础上,本申请进一步公开了另一种权值表更新方案,结合图3可知,方法包括:
步骤S200、在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;
步骤S210、若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
步骤S220、根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
步骤S230、用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新;
其中,上述步骤S200-S230与上一实施例的步骤S100-S130相对应,详细参见前述实施例的介绍。
步骤S240、利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
具体地,针对一个路网子网格而言,如果其不存在生效的限行规则,则需要将预设的非限行算路规则作为第二算路策略。如果其存在生效的限行规则,但是该生效的限行规则也并非针对全体用户均适用,还是存在部分用户不受限行影响,示例如,北京生效的限行规则为尾号为4和9的车辆不能出行,则针对车辆尾号非4和9的用户,该生效的限行规则不适用于该用户,因此,也需要利用预设的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值。
这里,第二算路策略的个数与预设的非限行算路规则的个数相同。
第二算路策略与第一算路策略的区别在于,第二算路策略不考虑躲避限行,而第一算路策略需要考虑躲避限行。
步骤S250、利用依据第二算路策略计算的通行权值,对所述路网子网格对应的第二算路策略权值表进行更新。
路网子网格对应设置有第二算路策略权值表,利用依据第二算路策略计算的通行权值,对第二算路策略权值表进行更新。
在上一实施例的基础上,每一个路网子网格均还需要维护对应的第二算路策略权值表。每一种非限行算路规则作为一种第二算路策略,第二算路策略权值表的个数、非限行算路规则的个数、第二算路策略的个数均相同。
基于上述实施例提供的权值表维护方案,本申请提供了一种导航路线规划方法,参见图4所示,该方法包括:
步骤S300、根据导航路线规划请求携带的起点、终点和车辆信息,计算自所述起点至所述终点的至少一条导航路线,其中,在计算过程中若搜索到预设了限行规则的路网子网格时,基于所述车辆信息判断所述路网子网格是否存在对所述车辆生效的限行规则;
其中,导航路线规划请求携带的车辆信息可以包括车辆牌照信息。本步骤中在计算自起点至终点的导航路线时,当搜索到一个预设了限行规则的路网子网格时,判断所述车辆牌照信息是否触发所述路网子网格的生效的限行规则。
具体地,生效的限行规则可以包括多种,通过车辆牌照信息可以判断所述路网子网格是否存在对所述车辆生效的限行规则。示例如,路网子网格的一种生效的限行规则是:外埠车辆不允许走xx道路。进而,通过车辆牌照信息可以确定车辆是否属于外地车,进而确定是否触发该生效的限行规则。
步骤S310、若存在,则在预设的所述路网子网格对应的权值表中,查找第一算路策略对应的权值表;
其中,所述第一算路策略包括所述生效的限行规则及所述导航路线规划请求对应的非限行算路规则。
可选的,导航路线规划请求还可以携带非限行算路规则,则导航路线规划请求对应的非限行算路规则为其携带的非限行算路规则。如,用户在发起导航路线规划请求前,从提供的若干非限行算路规则选项中选择自己所需的非限行算路规则,如用时最短、躲避拥堵等。用户选择的非限行算路规则携带在导航路线规划请求中。
另一种可选的方式,本申请预先设定了默认的非限行算路规则。则如果导航路线规划请求未携带任何非限行算路规则,则可以将设定的默认的非限行算路规则作为该导航路线规划请求对应的非限行算路规则。
本申请预先存储了所述路网子网格对应的各个权值表,其中,第一算路策略对应的权值表中记录了,根据第一算路策略,计算的所述路网子网格的虚拟边的通行权值。
需要解释的是,生效的限行规则与不同非限行算路规则组合后的第一算路策略,属于不同的第一算路策略,也即第一算路策略并非特指一个算路策略,而是对考虑生效的限行规则的一类算路策略的总称。
第一算路策略需要同时考虑生效的限行规则以及导航路线规划请求对应的非限行算路规则,示例如:生效的限行规则为外埠车不允许走xx道路,导航路线规划请求对应的非限行算路规则为躲避拥堵路段。则二者组合后的第一算路策略为:躲避拥堵且不走xx道路的算路策略。
步骤S320、利用所述第一算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算;
步骤S330、若不存在,则在预设的所述路网子网格对应的权值表中,查找第二算路策略对应的权值表;
其中,所述第二算路策略包括所述导航路线规划请求对应的非限行算路规则。
具体地,如果确定车辆信息未触发所述路网子网格的生效的限行规则,则可以确定不需要考虑限行。因此,利用导航路线规划请求对应的非限行算路规则组成的第二算路策略,在路网子网格对应的权值表中,查找第二算路策略对应的权值表。
其中,导航路线规划请求对应的非限行算路规则可以参照上述介绍。以非限行算路规则为躲避拥堵为例,对应的第二算路策略为:躲避拥堵算路策略。
需要解释的是,不同的非限行算路规则组成不同的第二算路策略,也即第二算路策略并非特指一个算路策略,而是对不考虑限行的一类算路策略的总称。第二算路策略与第一算路策略的区别在于,第二算路策略不考虑限行,而第一算路策略考虑限行。
步骤S340、利用所述第二算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算。
由上可知,根据车辆信息是否触发所述路网子网格的生效限行规则的不同,所查询的权值表也不同,在确定触发生效的限行规则时,查询第一算路策略权值表,在确定未触发生效的限行规则时,查询第二算路策略权值表。
本申请实施例提供的方法,在计算导航路线的过程中,若搜索到预设了限行规则的路网子网格时,基于车辆信息判断所述路网子网格是否存在对所述车辆生效的限行规则,若存在,则在路网子网格对应的权值表中,查找第一算路策略对应的权值表,否则,查找第二算路策略对应的权值表。相比于现有CRP算法,每一个网格必须针对每一种算路策略维护一张权值表而言,本申请不仅改变了本领域技术人员对CRP算法的常规认知及可能存在的技术偏见,而且大大降低了权值表的维护成本,减少了权值表的存储量,对于实施限行规则的区域,保证了CRP算法的有效实施。
可选的,结合前述实施例中介绍的权值表维护方法可知,本实施例提供的导航路线规划方案还可以包括对路网子网格对应的权值表中,第一算路策略对应的权值表进行更新的过程,该过程具体实现方式可以包括:
S1、在确定满足权值表更新条件时,判断所述路网子网格是否存在生效或失效的限行规则;
S2、若所述路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
S3、根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
S4、用所述通行权值对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新。
进一步,本实施例提供的导航路线规划方案还可以包括对路网子网格对应的权值表中,第二算路策略权值表进行更新的过程,该过程具体实现方式可以包括:
S1、在确定满足权值表更新条件时,利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
S2、利用依据第二算路策略计算的通行权值,对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新。
可选的,上述实施例中利用各路网子网格的虚拟边的通行权值参与导航路线的计算的过程,大致包括:
S1、根据导航路线经过各路网子网格时参与计算的权值表中记录的虚拟边的通行权值,计算导航路线的通行权值之和;
具体地,在确定了导航路线从起点至终点所经过的路网子网格,以及在各路网子网格经过时参与计算的权值表中记录的虚拟边的通行权值之后,计算各通行权值之和,作为导航路线的通行权值之和。
S2、根据各导航路线的通行权值之和,确定最优的导航路线输出。
其中,通行权值表示通行代价,因此,可以选择通行权值之和最小的导航路线,作为结果输出。
具体地,本步骤确定最优的导航路线输出的过程,详细如下:
1)、确定通行权值之和最小的导航路线所经过的目标路网子网格,以及在目标路网子网格经过时参与计算的虚拟边;
2)、若所述车辆信息触发所述目标路网子网格的生效的限行规则,则根据所述第一算路策略,在所述目标路网子网格中搜索与所述参与计算的虚拟边对应的导航子路线;
具体地,上一步骤中仅是确定了导航路线在目标路网子网格经过时参与计算的虚拟边,即在目标路网子网格中选择的目标驶入节点和目标驶出节点,至于目标驶入节点和目标驶出节点之间的实际路线并未确定。
本步骤中,针对每一目标路网子网格,如果判断车辆信息触发目标路网子网格的生效的限行规则,则根据第一算路策略,在目标路网子网格中搜索自所述目标驶入节点至所述目标驶出节点的导航子路线。
具体地,如果在更新第一算路策略对应的权值表的同时,存储不同虚拟边对应的导航子路线,则本步骤中可以直接获取导航路线在目标路网子网格经过时参与计算的虚拟边对应的导航子路线。但是,这种存储将会占用巨大空间,对现有计算机而言是不可接受的。因此,本步骤中选择临时在目标路网子网格中搜索参与计算的虚拟边对应的导航子路线。并且,由于目标路网子网格相比于全地图而言范围大大缩小,该搜索速度也是很快的。
3)、若所述车辆信息未触发所述目标路网子网格的生效的限行规则,则根据所述第二算路策略,在所述目标路网子网格中搜索与所述参与计算的虚拟边对应的导航子路线;
具体地,针对每一目标区域,如果判断车辆信息未触发目标区域的限行条件,则根据第二算路策略,在目标区域中搜索与所述参与计算的虚拟边对应的导航子路线。
根据上述步骤可知,每一目标路网子网格或者是根据第一算路策略搜索得到参与计算的虚拟边对应的导航子路线,或者是根据第二算路策略搜索得到参与计算的虚拟边对应的导航子路线。
4)、按照自所述起点至所述终点的顺序,将各目标路网子网格中搜索得到的导航子路线顺序组织成一条导航路线,并输出。
具体地,在确定了各目标路网子网格中的导航子路线之后,按照自起点至终点的顺序,将各导航子路线顺序组织成一条完整的导航路线,输出。
接下来的实施例中,参照图5,通过一个具体实施例对本申请方案进行介绍。
图5示例的是对电子地图层次划分后的某一层,其中各个矩形框标识划分后的路网子网格。
用户发起的导航路线规划请求的起点为A,终点为B。A位于路网子网格cell1中,B位于路网子网格cell4中。车辆信息为车牌xxxx。
假设cell1的两个驶出节点为X11和X12。cell2的两个驶入节点为X11和X12,cell2的两个驶出节点为X13和X14。cell3的两个驶入节点为X13和X14,cell3的两个驶出节点为X15和X16。Cell4的两个驶入节点为X15和X16。
假设用户t1时刻发起的导航路线规划请求对应的非限行算路规则为躲避拥堵。
t1时刻:cell1、cell2、cell4均不存在生效的限行规则,cell3存在生效的限行规则1。
躲避拥堵算路规则与生效的限行规则1组合为算路策略1;躲避拥堵算路规则作为算路策略2。
cell2维护一个算路策略2权值表,cell3维护一个算路策略1权值表和一个算路策略2权值表。
其中,cell2维护的算路策略2权值表如下表3,cell3维护的算路策略1权值表如下表4:
驶入节点 |
驶出节点 |
虚拟边的通行权值 |
X11 |
X13 |
5 |
X11 |
X14 |
4 |
X12 |
X13 |
4 |
X12 |
X14 |
2 |
表3
驶入节点 |
驶出节点 |
虚拟边的通行权值 |
X13 |
X15 |
5 |
X13 |
X16 |
4 |
X14 |
X15 |
1 |
X14 |
X16 |
2 |
表4
在算路时,假设从A点至X11点的虚拟边通行权值为10(由于cell1不存在生效的限行规则,因此该通行权值为按照算路策略2计算得到的通行权值),从A点至X12的虚拟边的通行权值为2。则此时算路队列中存在两条候选导航路线,分别为候选导航路线1:A-X11;候选导航路线2:A-X12。
由于候选导航路线2的通行权值总和2小于候选导航路线1的通行权值总和10,因此优先以X12点向下继续搜索。在cell2中搜索路线时,由于cell2不存在生效的限行规则,查询cell2对应的算路策略2权值表,查询驶入节点X12至驶出节点X13和X14的虚拟边的通行权值:根据上表3可知,X12至X13的虚拟边的通行权值为4,X12至X14的虚拟边的通行权值为2。此时算路队列中共计存在3条候选导航路线,分别为:候选导航路线1:A-X11;候选导航路线21:A-X12-X13;候选导航路线22:A-X12-X14。
候选导航路线1、21、22的通行权值总和分别为:10、2+4、2+2。
选择通行权值总和最小的候选导航路线22的末尾节点X14,继续向下搜索。在cell3中搜索路线时,由于cell3存在生效的限行规则1,且判断车牌xxxx触发该生效的限行规则1,因此,查询cell3对应的算路策略1权值表,查询驶入节点X14至驶出节点X15和X16的虚拟边的通行权值:根据上表4可知,X14至X15的虚拟边的通行权值为1,X14至X16的虚拟边的通行权值为2。此时,算路队列中共计存在4条候选导航路线,分别为:候选导航路线1:A-X11;候选导航路线21:A-X12-X13;候选导航路线221:A-X12-X14-X15;候选导航路线222:A-X12-X14-X16。
候选导航路线1、21、221、222的通行权值总和分别为:10、2+4、2+2+1、2+2+2。
选择通行权值总和最小的候选导航路线221的末尾节点X15,继续向下搜索。在cell4中搜索路线时,假设X15至B点的虚拟边的通行权值为1(由于cell4不存在生效的限行规则,因此该通行权值为按照算路策略2计算得到的通行权值),则候选导航路线221变更为候选导航路线221B:A-X12-X14-X15-B。
候选导航路线221B的通行权值总和为:2+2+1+1。
显然,此时算路队列中四个候选导航路线1、21、221B、222的通行权值总和分别为:10、2+4、2+2+1+1、2+2+2,即:10、6、6、6。
由于候选导航路线221B已经搜索到终点,且此时该候选导航路线的通行权值之和与候选导航路线21和222的通行权值之和并列最小。而候选导航路线21和222均还未搜索到终点B,因此可以确定将候选导航路线221B确定为最终结果。
候选导航路线221B所经过的各路网子网格以及虚拟边如下:
cell1(A-X12)-cell2(X12-X14)-cell3(X14-X15)-cell4(X15-B)。
在上述所经过的各路网子网格中,再次计算自路网子网格中参与计算的虚拟边的实际导航子路线,由各路网子网格计算得到的实际导航子路线依序组织成一条完整的导航路线,输出。
其中,每一路网子网格计算导航子路线时,根据车辆信息是否触发该路网子网格的生效的限行规则1,决定采用算路策略1或算路策略2进行导航子路线的计算。具体为:若车辆信息触发路网子网格的生效的限行规则1,则采用算路策略1计算导航子路线,若车辆信息未触发区域的生效的限行规则1,则采用算路策略2计算导航子路线。
下面对本申请实施例提供的权值表维护装置进行描述,下文描述的权值表维护装置与上文描述的权值表维护方法可相互对应参照。
参见图6,图6为本申请实施例公开的一种权值表维护装置结构示意图。如图6所示,权值表维护装置包括:
限行确定单元11,用于在满足设定的虚拟边权值表更新条件时,判断路网子网格是否存在生效或失效的限行规则;
算路策略确定单元12,用于若路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
第一通行权值计算单元13,用于根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
第一权值表更新单元14,用于用所述通行权值对所述路网子网格对应的第一算路策略权值表进行更新。
可选的,本申请的装置还可以包括:
第二通行权值计算单元,用于利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
第二权值表更新单元,用于利用依据第二算路策略计算的通行权值,对所述路网子网格对应的第二算路策略权值表进行更新。
本申请的装置仅需对存在生效的限行规则的路网子网格维护包含相应限行规则的算路策略对应的权值表,对于不存在生效的限行规则的路网子网格,不需要维护包含限行规则的算路策略权值表,相比于现有CRP算法,每一个网格必须针对每一种算路策略维护一张权值表而言,本申请不仅改变了本领域技术人员对CRP算法的常规认知及可能存在的技术偏见,而且大大降低了权值表的维护成本,减少了权值表的存储量,对于实施限行规则的区域,保证了CRP算法的有效实施。
进一步,对本申请实施例提供的导航路线规划装置进行描述,下文描述的导航路线规划装置与上文描述的导航路线规划方法可相互对应参照。
参见图7,图7为本申请实施例公开的一种导航路线规划装置结构示意图。如图7所示,导航路线规划装置包括:
限行规则判断单元21,用于根据导航路线规划请求携带的起点、终点和车辆信息,计算自所述起点至所述终点的至少一条导航路线,其中,在计算过程中若搜索到预设了限行规则的路网子网格时,基于所述车辆信息判断所述路网子网格是否存在对所述车辆生效的限行规则;
第一权值表查找单元22,用于在所述限行规则判断单元判断存在时,在预设的所述路网子网格对应的权值表中,查找第一算路策略对应的权值表,所述第一算路策略包括所述生效的限行规则及所述导航路线规划请求对应的非限行算路规则;
第一导航路线计算单元23,用于利用所述第一算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算;
第二权值表查找单元24,用于在所述限行规则判断单元判断不存在时,在预设的所述路网子网格对应的权值表中,查找第二算路策略对应的权值表,所述第二算路策略包括所述导航路线规划请求对应的非限行算路规则;
第二导航路线计算单元25,用于利用所述第二算路策略对应的权值表中记录的虚拟边的通行权值参与导航路线的计算。
可选的,本申请的导航路线规划装置还可以包括:
第一权值表更新单元,用于对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新,该过程包括:
在确定满足权值表更新条件时,判断所述路网子网格是否存在生效或失效的限行规则;
若所述路网子网格存在生效的限行规则,则将所述生效的限行规则与预设的所述路网子网格的非限行算路规则分别进行组合,得到至少一个包含所述生效的限行规则及非限行算路规则的算路策略,作为第一算路策略;
根据所述第一算路策略,计算所述路网子网格的虚拟边的通行权值;
用所述通行权值对所述路网子网格对应的权值表中,第一算路策略对应的权值表进行更新。
可选的,本申请的导航路线规划装置还可以包括:
第二权值表更新单元,用于对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新,该过程包括:
在确定满足权值表更新条件时,利用预设的所述路网子网格的非限行算路规则作为第二算路策略,计算路网子网格的虚拟边的通行权值;
利用依据第二算路策略计算的通行权值,对所述路网子网格对应的权值表中,第二算路策略对应的权值表进行更新。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。