CN104596527B - 一种划分各级引导道路和细街路的方法 - Google Patents
一种划分各级引导道路和细街路的方法 Download PDFInfo
- Publication number
- CN104596527B CN104596527B CN201310532593.1A CN201310532593A CN104596527B CN 104596527 B CN104596527 B CN 104596527B CN 201310532593 A CN201310532593 A CN 201310532593A CN 104596527 B CN104596527 B CN 104596527B
- Authority
- CN
- China
- Prior art keywords
- road
- guiding
- strategy
- segmental arc
- newly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本发明实施例提供一种划分各级引导道路和细街路的方法,在各个格网内将所有道路初始化为原始细街路,在各个格网内确定新增引导结点;执行至少一次迭代,每一次迭代过程包括:每遍历一个格网,遍历该格网内所有的新增引导结点,从一个新增引导结点出发探索到达其余新增引导结点的引导道路,根据本次迭代对应的规划策略将遍历过程中抽取出来的引导道路设置为对应的等级;执行至少一次迭代之后,所有剩余未被抽取的道路作为细街路。每一次遍历格网进行所有路径规划策略的最优路径探索是一次迭代,当前一次迭代后更新引导结点,每次最优路径探索都是在新增加的引导结点间进行,经过至少一次迭代后,所有剩余未被抽取的道路是细街路。
Description
技术领域
本发明涉及电子地图技术,特别是指一种划分各级引导道路和细街路的方法。
背景技术
道路网络的数据量非常庞大,而导航应用的硬件环境是受限的,将数据全部读入内存是不现实的。因此地理信息系统中往往将一个较大的地理区域按地理位置或道路网络的疏密分成多个不同的部分,分别对每个部分进行I/O处理。道路网络可采用“层-区集-区-格网”4级结构,每一级中的地图数据通过区集进行管理,区集包含了不同的区,一个区中包含了实际拥有地图数据的若干个格网,格网具有一个基准大小-即各层的标准格网。
路径规划与策略,路径规划是依据特定的数字道路网信息和实时交通信息为车辆规划出到达目标点的最优路径,最优路径可以是指路程上的最短、时间上的最快、经济上的最省、拐弯数量最少或是其他意义上的最佳。目前通常有以下几种优先级模式:
时间优先(或高速优先),为使车辆行走道路时间最短而算出的路径;
距离优先,为使车辆行走道路距离最短而算出的路径;
经济模式,经济模式是介于时间优先和距离优先之间的一种模式。
道路规避,指定规划策略时可同时指定规避隧道、规避轮渡、规避高速等选项。其中,规避高速是指车辆行走尽量避开高速道路,例如在大雾天高速封闭时尽量不走高速道路并到达目的地。
道路封闭,用户可指定某些特定的道路为封闭道路,已有路径规划中的路段封闭、区域封闭。路径计算时尽量绕开封闭道路或封闭区域,达到避开封闭道路的目的。
引导道路与细街路,在导航路径规划时,通常倾向于选择较高等级的道路出行以更快捷到达目的地,道路网络中有部分较低等级的道路数据就不会出现在路径规划中。
现有技术存在如下问题:道路数据稠密地区的数据量日趋庞大,道路级别较低的细节道路(简称细街路)越来越多,导致在路径计算时加载的数据和搜索空间十分庞大,有必要标识出该部分细街路,以减少跨格网规划时对细街路不必要的加载和扩展;在实际导航时,用户通常使用单一策略的路径规划,如果不按规划策略对道路数据进行分级,则需要一次加载格网的全部数据,浪费了内存空间,降低了整体规划效率,特别在嵌入式系统中这个问题越发突出。
发明内容
本发明要解决的技术问题是提供一种划分各级引导道路和细街路的方法,
为解决上述技术问题,本发明的实施例提供一种划分各级引导道路和细街路的方法,包括:在各个格网内将所有道路初始化为原始细街路,在各个格网内确定新增引导结点;执行至少一次迭代,每一次迭代过程包括:每遍历一个格网,遍历该格网内所有的新增引导结点,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,根据本次迭代对应的规划策略将遍历过程中抽取出来的所述引导道路设置为对应的等级;执行所述至少一次迭代之后,所有剩余未被抽取的道路作为细街路。
所述的方法中,在各个格网内确定新增引导结点,具体包括:在第一次迭代之前或者第一次迭代开始时,初始设定格网所有的格网边界结点为新增引导结点。
所述的方法中,每一次迭代过程还包括:若当前为第一次迭代过程,则在开启规避策略后进行探索,所述规避策略中定义了不准备经过的道路;非第一次迭代过程中,抽取出的引导道路均记录为封闭等级。
所述的方法中,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,具体包括:加载当前路径规划策略的规划系数表;获取终止弧段列表,终止弧段列表执行扩展弧段与终止弧段的相遇判定;选定新增引导结点,将该新增引导结点接续的非引导道路加入到扩展队列作为扩展弧段;扩展步骤:依次从所述扩展队列取出具有最小代价的扩展弧段,接续到根据当前的所述路径规划策略形成的引导道路上;判定步骤:若最小代价的扩展弧段遇到的是终止弧段,将该扩展弧段归类为终止弧段,并加入到终止弧段列表;且判定扩展引导道路的过程已经结束,执行回溯步骤;回溯步骤:回溯所述引导道路,根据当前的所述路径规划策略设置引导道路的等级。
所述的方法中,生成所述终止弧段列表的方式包括:在一个格网内,搜索到不同新增引导结点接续的非引导道路,若所述新增引导结点是在前一次迭代过程中形成的,则将所述非引导道路作为终止弧段,将所述终止弧段加载到终止弧段列表。
所述的方法中,回溯步骤中,回溯引导道路,根据当前的所述规划策略设置引导道路的等级具体包括:遍历所有终止弧段,获取扩展过程中记录的所述引导道路包含的弧段,根据路径规划策略、规避策略、是否首次迭代,分别为所述引导道路经由的弧段设置对应的等级,所述经由的弧段的等级与引导道路的等级相同。
所述的方法中,路径规划策略包括:寻找时间优先道路、距离优先道路和经济模式道路。
所述的方法中,还包括:当路径规划策略包括时间优先策略、距离优先策略和经济优先策略时,时间优先策略中的引导道路标识为第一等级,排除时间优先策略选定的引导道路,距离优先策略中的引导道路标识为第二等级,排除时间优先策略、距离优先策略选定的引导道路,经济优先策略中的引导道路标识为第三等级;当有道路规避时,各路径规划策略之外抽取的道路,设置为第四等级。
所述的方法中,规划系数表,是指在各种路径规划策略中对经过的各种引导道路确定一个约定的经过代价,经过代价包括经过时间、经过距离和/或经过花费。
所述的方法中,执行迭代之后还包括:统一存储格网内各个路径规划策略的引导道路,建立各个路径规划策略之间的引导道路的包含关系,当第一策略的引导道路少于第二策略的引导道路时,所述第二策略在第一策略的基础上进行增量存储。
所述的方法中,还包括:在搜索阶段,应当按照时间优先策略、距离优先策略和经济模式策略的顺序加载对应的引导道路的数据,包括:当搜索策略是时间优先策略时,加载时间优先策略对应的引导道路的数据;当搜索策略是距离优先策略时,加载时间优先策略,以及距离优先策略对应的引导道路的数据;当搜索策略是经济优先策略时,加载时间优先道路策略、距离优先道路策略,以及经济优先策略对应的引导道路的数据。
本发明的上述技术方案的有益效果如下:每一次遍历格网进行所有路径规划策略的最优路径探索是一次迭代,当前一次迭代后更新引导结点,根据规划策略设置当前一次迭代中抽取出的道路等级,每次最优路径探索都是在新增加的引导结点间进行,已经探索过的引导道路无需再次探索,经过至少一次迭代后,所有剩余未被抽取的道路是细街路。
附图说明
图1表示起点和终点在同一格网的示意图;
图2表示跨格网的路径规划的示意图;
图3表示边界结点作为各格网间的连通结点的示意图;
图4表示引导道路和细街路的示意图;
图5表示一种划分各级引导道路和细街路的方法的流程图;
图6表示在起点、终点所在格网内加载全部的道路数据的示意图;
图7表示抽取边界结点间路径经由道路的示意图;
图8表示划分引导结点、普通结点的示意图;
图9表示构造出所有新增引导结点的终止弧段列表的示意图;
图10表示从新增引导结点出发探索到其余新增引导结点的道路的流程示意图;
图11表示从新增引导结点出发探索到其余新增引导结点的道路的流程示意图;
图12表示回溯路线,根据规划策略设定Link等级的流程示意图;
图13表示通过前接SrchLink回溯路线的示意图;
图14表示迭代次数不同的原理示意图;
图15表示抽取有封闭道路下的规划路线的示意图;
图16表示迭代次数不同的效果示意图;
图17表示在数据编译阶段将格网中的道路数据划分为不同等级的示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
原始的道路数据中,通过道路级别(RoadType)区分道路数据的重要性,道路级别由高到低包含以下几种:
相关技术术语的名词解释:
道路网络(Road Network),由节点和弧段构成的连通网络,抽象描述现实世界的道路。
格网(Parcel),对数据库进行分区的基本单元,由最南端纬线、最北端纬线和最西端经线、最东端经线所包围的范围界定。可以达到快速索引指定地理区域内地图数据的目的。如图1所示,起点S、终点G在同一格网,在起点、终止点所在的格网,起始点S、终点G所在格网内的任意道路都可作为起止弧段(Link),因此所有道路都需要加载并扩展。
如图2所示,是跨格网的路径规划,起点、终点之间存在其它格网,路径经由格网上的道路必须通过边界结点进行连接,因此边界结点间的连接道路才是规划中需要加载并扩展的道路。
物理存储格式(PSF,Physical Storage Format),基于效率和内存考虑,导航系统中用于快速访问存储数据而预定义的数据组织方式,典型物理存储格式有KIWI。
数据编译,原始道路网络数据转换为物理存储格式的过程称为数据编译。
结点(Node),表示两条或更多条弧段的交叉点或弧段的端点。
弧段(Link),两个结点之间的道路段,用以保存关于道路元素和运输交通元素的信息。现实世界中的道路用Link表示。SrchLink则用于表达路径扩展过程中的道路,记录扩展终止弧段的状态、方向、代价和前接等信息。通过遍历所有扩展终止弧段列表,循环查找前接Link就可以取出规划路线经由的所有Link。
边界结点(Boundary Node),两个相邻格网的边界结点,坐标位置完全相同,边界结点连接的两个格网中的两条道路弧段,属性应完全一致。如图3所示,边界结点作为各格网间的连通结点,各格网间的道路必须通过边界结点进行连通。
路径搜索(Route Planning),利用导航电子地图数据库提供的地图,帮助驾驶者在行驶前或行驶中规划路径的过程。
引导道路,如图4所示,从格网中抽取出的符合路径规划策略的道路,定义为引导道路,不符合任何路径规划策略的道路定义为细街路。
非引导道路,当前不属于引导道路的弧段组成的道路称为非引导道路,换言之,引导道路之外的其他道路均是非引导道路。在本发明实施例中,为方便描述,非引导道路可以是包含了多个弧段的道路,也可以是指一个弧段。
划分引导道路与细街路的原理包括:
原理一,划分的最小单位为格网,理论上,路网内所有的道路都可为引导道路,欲从中抽取出细街路,必须指定路径规划的关键点-即路径规划时必然或最可能经过的点,从这些关键点间进行模拟路径规划-即基于各种路径规划策略进行最优路径探索;最终,关键点间最优路径上的道路即为该路径规划策略的引导道路,在多次迭代后各个路径规划策略都没有经过的道路即为细街路;
原理二,路径规划总是从一个格网到另一个格网,因此路径规划的原始关键点是格网的边界结点;
原理三,在实际的导航路径规划时,由于某些原因或用户选择的趋向性,往往会封闭一些道路,这些封闭的道路可为任何道路,因此,在格网内部也要找出与封闭的道路相关的内部关键点,对内部关键点涉及的封闭的道路进行处理。
本发明实施例中,采用多次迭代和多次选择关键点的方式,多次抽取引导道路和细街路;迭代一次实现的是不考虑封闭道路的格网间路径规划,迭代无穷次则所有道路都为引导道路,通过配置迭代次数,保持部分最低重要性的道路为细街路,控制细街路的数据量。
本发明实施例提供一种划分各级引导道路和细街路的方法,如图5所示,方法包括:
步骤51,在各个格网内将所有道路初始化为原始细街路,在各个格网内确定新增引导结点;
步骤52,执行至少一次迭代,每一次迭代过程包括:每遍历一个格网,遍历该格网内所有的新增引导结点,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,根据本次迭代对应的规划策略将遍历过程中抽取出来的所述引导道路设置为对应的等级;
步骤53,执行所述至少一次迭代之后,所有剩余未被抽取的道路作为细街路。
应用所提供的技术,每一次遍历格网进行所有路径规划策略的最优路径探索是一次迭代,当前一次迭代后更新引导结点,根据规划策略设置当前一次迭代中抽取出的道路等级,每次最优路径探索都是在新增加的引导结点间进行,已经探索过的引导道路无需再次探索,经过至少一次迭代后,所有剩余未被抽取的道路是细街路。
起点和终点之间可为任何等级的引导道路,因此如图6所示,步骤51之前还包括:在起点、终点所在格网内加载全部的道路数据。
如图7所示,起点和终点在一个格网内,抽取边界结点间的经由道路,跨多个格网,多个格网均为经由路线上的格网,边界结点作为各格网间的连通结点,格网间的道路必须通过边界结点进行连通。本发明实施例中,由于是对编译阶段的格网进行处理,因此是对起点和终点在一个格网内的情形进行引导道路的扩展。
如图17所示,在一个优选实施例中,还包括:
在数据编译阶段将格网中的道路数据划分为不同等级:时间优先道路、距离优先道路、经济模式道路、规避道路、封闭道路和细街路。
时间优先道路、距离优先道路、经济模式道路和规避道路均为引导道路。
由于导航中包括各种的路径规划策略,路径规划引擎会根据来自用户的指定路径规划策略加载相应等级的道路数据进行扩展。
导航时的路径规划,总是基于一定的路径规划策略进行,每种路径规划策略会存在一定的路径探索趋向性:
时间优先,总是趋向选择能够使通行时间缩短的道路,这些道路具有满足一些道路属性,如道路等级高、红绿灯少,通行阻碍少等。因此在同一起点和终点的路径规划中,满足了时间最短的那条路径被选中,其余可达路径在时间路径规划策略时永远不会被选中。
如图8所示,细街路是具有最低重要性的道路,不会进入规划路线中成为引导道路,即细街路是非引导道路,车辆行驶中,导航引擎不引导车辆经由细街路,非引导道路两端结点为非引导结点。非细街路是除细街路以外的道路,定义为引导道路,引导道路两端结点为引导结点。一端连接引导道路,另一端连接非引导道路的结点,应该取较高的等级,即为引导结点。
格网中只会有部分道路被封闭,对于其他的大部分道路,通过多次迭代,可以抽取出不同等级的引导道路,迭代中越早被抽取出来的道路重要性等级越高,首次迭代扩展到的道路(弧段)标识为引导道路。通过控制迭代次数,可以定义出哪些道路应当被抽取出作为引导道路。
在一个优选实施例中,在各个格网内确定新增引导结点,具体包括:在第一次迭代之前或者第一次迭代开始时,初始设定格网所有的格网边界结点为新增引导结点。
初始的格网没有引导结点,编译阶段需要探索任意两个新增引导结点之间的规划路线并抽取出规划路线上的弧段和结点形成引导道路,且扩展引导道路的过程是对每一个格网进行探索,因此在初始时刻(首次迭代之前),设定格网的所有边界结点都为新增引导结点。
执行迭代的过程中,新增引导结点、新增引导道路包括:除现有引导结点外,在一次迭代中新增加的引导结点都为新增引导结点,在此次迭代中从原有非引导道路中抽取出来的道路,标识为引导道路。
在一个优选实施例中,每一次迭代过程中还包括:
若当前为第一次迭代过程,则在开启规避策略后进行探索,所述规避策略中定义了不准备经过的道路;
非第一次迭代过程中,抽取出的引导道路均记录为封闭等级。
多次迭代过程中,基于上一次迭代中产生的新增引导结点,可以再次依据如下探索策略进行探索:
探索策略一,只基于非引导道路进行扩展:在首次迭代中抽取出来的道路都为道路级别较高的道路,并已标识为引导道路,在后续迭代中不再基于这些引导道路包含的弧段进行扩展,这样规划路线就可扩展到其它的后备道路。
探索策略二,只在当前格网内进行扩展。
探索策略三,迭代终止条件:一次迭代中,当所有新增引导结点扩展完毕,扩展(OPEN)队列为空,扩展结束。
探索策略四,相遇条件判定:新增引导结点所接续的扩展弧段,如果为非引导道路即可作为终止弧段。如图9所示,探索过程中,如果当前扩展弧段遇到的弧段已经在终止弧段列表中,则判定为相遇,将该扩展弧段加入到终止弧段列表。在首次迭代时,格网的边界结点的连接弧段为终止弧段。
执行迭代的过程表明,第一次迭代过程中,新增引导结点包括格网边界结点,以及在第一次迭代过程中形成的新增引导结点;
第一次迭代完成后,将边界结点置为非新增引导结点。
若当前不是第一次迭代,则设置在前一次迭代过程中形成的新增引导结点所接续的非引导道路作为终止弧段,如此,则形成了终止弧段列表。
同理,在当前一次的迭代过程中,新增加的扩展弧段两端的结点,若该结点当前不是新增引导结点,则标识为新增引导结点。
编译阶段的道路分级处理,实际上是在模拟导航引擎的路径规划,找到在各种路径规划策略下所有可能经过的道路。模拟最重要的路径规划策略(可能为时间优先)时经过的道路就归为第一级,依此类推。而最次要的路径规划策略为封闭条件规划,这种方式与之前的规划方式都不同,之前的规划方式总是在格网的各个格网边界结点间进行,而封闭规划方式可能在任意的两个点间进行,所以模拟封闭规划方式时只能从现有已经被归为引导道路的格网边界结点间进行。
除了封闭规划方式以外,其他的规划方式只要一次迭代就可以得出正确结果,就可以对找到的引导道路定等级,其余的多次迭代都是针对封闭规划方式的,所以一次迭代后找到的道路就都被归为封闭道路等级。封闭规划方式在理论上可能经过格网内所有的道路,所以实际上多次迭代就是在一次次地找到这些道路,越先找到则这条道路越可能在封闭时被用到,所以迭代到一定次数即可,最终剩下的则是最不可能被用到的道路-细街路。
在一个优选实施例中,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,具体包括:
加载当前路径规划策略的规划系数表;
获取终止弧段列表,终止弧段列表执行扩展弧段与终止弧段的相遇判定;
选定新增引导结点,将该新增引导结点接续的非引导道路加入到扩展队列作为扩展弧段;
扩展步骤:依次从所述扩展队列取出具有最小代价的扩展弧段,接续到根据当前的所述路径规划策略形成的引导道路上;
判定步骤:若最小代价的扩展弧段遇到的是终止弧段,将该扩展弧段归类为终止弧段,并加入到终止弧段列表;且判定扩展引导道路的过程已经结束,执行回溯步骤;
回溯步骤:回溯引导道路,根据当前的所述路径规划策略设置引导道路的等级。
在一个应用场景中,在单个格网内实现道路分级,以及处理细街路的过程如图10所示,包括:
步骤101,在格网内实现道路分级、细街路处理之前,通过新增引导结点,取得格网内终止弧段列表用于执行相遇判定。
步骤102,判断是否遍历完所有引导结点,没有遍历完转步骤103,已经遍历完所有新增引导结点,转步骤108。
步骤103,判断当前的一个引导结点否是新增引导结点,如果是转步骤104,否则转步骤102。
步骤104,判断是否完成遍历所有的路径规划策略,如果是转步骤102,否则转步骤105。
步骤105,从当前的新增引导结点出发探索到其它新增引导结点的规划路线(NodeSearch)。
步骤106,判断是否首次迭代,如果是,转步骤107,否则转步骤102。
步骤107,开启各个规避策略进行Node Search,应当注意的是,首次迭代中需要开启规避策略进行结点探索。
步骤108,结束。
首次迭代完成后,将边界结点置为非新增引导结点。在后续的迭代过程中,则设置在前一次迭代过程中形成的新增引导结点所接续的非引导道路作为终止弧段。
在一个优选实施例中,生成所述终止弧段列表的方式包括:
在一个格网内,搜索到不同新增引导结点接续的非引导道路,将所述非引导道路作为终止弧段,将所述终止弧段加载到终止弧段列表。
在有封闭道路时,当最优路线上的道路被封闭时,原本不在最优规划路线上的道路会变更为最优路线。理论上任意道路都可能被封闭,除普通规划、规避策略外的道路都可划为封闭道路。但在现实生活中,格网中只会有部分道路被封闭,通过多次迭代可以抽取出不同重要性的道路,迭代中越早被抽取出来的道路具有越高重要性。
首次迭代之后,扩展到的道路标识为引导道路,通过控制迭代次数,可以定义出哪些道路应该抽取为引导道路。
其中,终止弧段列表是指保存终止弧段的列表,以用于回溯过程。若最小代价的扩展弧段不是终止弧段,则判定扩展弧段是引导道路,返回判断步骤,若判定扩展弧段不是引导道路,扩展当前的Link-是指对之做模拟路径规划,继续找当前Link的接续Link做最短路径判断,返回判断步骤。
路径规划策略的规划系数表,是指在各种路径规划策略时对经过的各种类型的道路定一个约定的经过代价,代价可以理解为经过时间,经过距离等。道路的类型通常为道路的属性、道路等级、是否经过红绿灯、转向是否方便等等,在各种路径规划策略下的约定代价可能不同,比如一条道路上红灯很多,路面条件不好,在时间优先时可能就不适宜走,那么在时间优先时这条路的代价就定的大一些,而这条路如果是个捷径,车也可以过去,那么在距离优先时这条路的代价就会小一些,规划系数表实际上就记载了对道路代价的约定,在导航路径规划前必须加载。导航路径规划(也就是找最适合走的道路)就是计算新增引导结点和终点间可能经过的各种路线的代价,哪条路线在当前路径规划策略下的代价最小就作为该策略下的建议行走路线。
上述实施例是典型的起止点间的路径规划的过程,扩展步骤和判定步骤是一个循环过程,直到起止点最终相遇才结束。相遇后那些形成最小代价引导道路的弧段被最终选择,作为导航时可能经过的引导道路,按策略对这些引导道路定级。这里的新增引导结点在第一次迭代时是格网边界结点,但是不只包括格网边界结点,还包括引导结点与非引导道路的连接点。每次只将非引导道路的弧段加入扩展队列,已经作为引导道路的弧段因为已经被定级了,因此无需再次扩展,每次扩展都是取OPEN队列中的当前接续的具有最小代价的扩展弧段,如果该扩展弧段在扩展中遇到的是终止弧段,则该扩展弧段也归为终止弧段,终止弧段就是作为最终形成的引导道路的弧段,终止弧段首先必须是非引导道路,其次代价当前最小,因此,最小代价的扩展弧段遇到了(与之接续)作为最小代价的终止弧段,则该扩展弧段也必然可以为最小代价的终止弧段,然后在回溯时最终形成一条最小代价的引导道路。
在一个应用场景中,从新增引导结点出发探索到其余新增引导结点的道路的流程,如图11所示,包括:
步骤111,加载当前路径规划策略的规划系数表。
步骤112,将新增引导结点接续的非引导道路加入到OPEN队列,作为扩展弧段。
步骤113,判断结点扩展是否结束,如果是转步骤119,否则转步骤114。
步骤114,从OPEN队列取出具有最小代价的扩展弧段。
步骤115,判断是否相遇到终止弧段,即最小代价的扩展弧段是否是终止弧段,如果是转步骤116,否则转步骤117。
步骤116,将新增引导结点加入到终止弧段列表,转步骤113。
步骤117,判断最小代价的扩展弧段是否引导道路,如果是转步骤113,否则转步骤118。
步骤118,扩展当前的Link,返回步骤113。
步骤119,回溯路线,根据规划策略设定Link等级。
步骤1110,结束。
编译阶段设置各个Link的道路等级,是仅在一个格网内扩展的。编译阶段设置道路等级,也是只需要在各个格网中分别设置即可,不需要跨格网探索。在引擎应用时,虽然会跨多个格网,实际上仍是分解为一个个独立的格网分别探索的。
扩展当前路径规划策略的过程已经结束,如图12所示,回溯引导道路,根据规划策略设定Link等级,具体包括:
遍历所有终止扩展弧段,
回溯当前扩展弧段路线,
根据当前路径规划策略、规避策略、是否首次迭代,分别设置相应的Link等级、Node等级,
将经由Link设置为新增引导Link,
根据新增引导Link生成两端新增引导结点。
如图13所示,现实世界中的道路用Link表示,相对Link而言,SrchLink则用于表达路径扩展过程中的道路,记录扩展弧段的状态、方向、代价、前接等信息。通过遍历所有扩展终止弧段列表,循环查找前接Link就可以取出规划路线上的所有经由Link。
在一个优选实施例中,回溯步骤中,回溯引导道路,根据当前的所述规划策略设置引导道路的等级具体包括:
遍历所有终止弧段,
获取扩展过程中记录的所述引导道路包含的弧段,
根据路径规划策略、规避策略、是否首次迭代,分别为所述引导道路经由的弧段设置对应的等级,所述经由的弧段的等级与引导道路的等级相同。
还可以包括:将规划路线上经由的弧段设置为新增的引导道路,
新增引导弧段两端的结点,如果该结点当前不是新增引导结点,则标志为新增引导结点
在一个应用场景中,回溯路线,根据规划策略设定Link等级的流程,如图12所示,包括:
步骤121,取得终止弧段列表。
步骤122,判断是否完成遍历所有终止扩展弧段,如果是转步骤128,否则转步骤123。
步骤123,取出当前的终止扩展弧段,
步骤124,判断是否为回到出发结点的路线,如果是转步骤122,否则转步骤124。
步骤125,判断前接SrchLink是否为空,如果是转步骤122,否则转步骤126。
步骤126,取出经由Link,根据当前路线规划策略、有无规避策略、是否首次迭代,对经由Link分别设置相应的Link等级,将经由Link设置为新增引导Link。
步骤127,根据新增引导Link,在该新增引导Link的两端生成新增引导结点。
步骤128,结束。
各个路径规划策略的引导道路应单独划分为该路径规划策略下的道路,各策略间应严格区分。然而,由于各种路径规划策略之间具有的关联性,出于编译结果数据量的考虑,可对格网内道路数据统一存储。
在一个优选实施例中,统一存储格网内各个路径规划策略的引导道路,建立各路径规划策略之间的引导道路的包含关系,
当第一策略的引导道路少于第二策略的引导道路时,所述第二策略在第一策略的基础上进行增量存储。
第一策略的引导道路为0->N1,第二策略的引导道路为0->N1->N2,第三策略的引导道路为0->N1->N2->N3。建立各路径规划策略间的引导道路的包含关系,根据包含关系划分各路径规划策略的道路数据范围,某路径规划策略的引导道路通常最少,则其余策略的引导道路可在该策略的基础上作为增量划分。
在一个优选实施例中,当时间优先、距离优先和经济优先时,包括:
时间优先规划中的道路标识为第一等级,
排除时间优先中已抽取的道路,距离优先条件下的道路标识为第二等级,
排除时间优先、距离优先中已抽取的道路,经济优先下的道路标识为第三等级。
当有道路规避时,如规避高速、规避隧道、规避轮渡和/或者规避收费道路,排除以上各策略下的抽取的道路,设置为第四等级。
用户最常使用的时间优先规划,只需要使用最小的道路数据集,后续的规划策略在上面规划策略的基础上再追加后续的规划策略中需要额外使用的道路数据,例如,在距离优先策略时需要加载时间优先道路和距离优先道路,在经济模式时则要同时加载时间、距离、经济三策略的道路数据。对道路分级减少了使用搜索引擎时加载的数据。
如图14所示,迭代次数越多,剩余未被抽取的细街路越少,因此可通过迭代次数控制细街路的精度。如果只进行一次迭代,则后续两次迭代中抽取的道路数据都定义为细街路。
关于抽取有封闭道路下的规划路线:理论上任意道路都可能被封闭,换言之,除普通规划、规避策略外的道路都可划为封闭道路的范畴。
在一个优选实施例中,如图15所示,在有封闭道路时,当最优路线上的道路被封闭时,原本不在最优规划路线上的道路会变更为最优路线。
在有封闭道路时,当最优路线上的道路被封闭时,原本不在最优规划路线上的道路会变更为最优路线。理论上任意道路都可能被封闭,除普通规划、规避策略外的道路都可划为封闭道路的范畴。但在现实生活中,格网中只会有部分道路被封闭,通过多次迭代,可以抽取出不同重要性的道路,迭代中越早被抽取出来的道路具有越高重要性。
在一个优选实施例中,规划系数表,是指在各种路径规划策略中对经过的各种引导道路确定一个约定的经过代价,经过代价包括经过时间、经过距离和/或经过花费。
在一个优选实施例中,执行迭代之后还包括:
统一存储格网内各个路径规划策略的引导道路,建立各个路径规划策略之间的引导道路的包含关系,
当第一策略的引导道路少于第二策略的引导道路时,所述第二策略在第一策略的基础上进行增量存储。
首次迭代之后,扩展到的道路标识为封闭道路,通过控制迭代次数,可以定义出哪些道路应该抽取为封闭道路。经由足够多的迭代后,除普通规划和规避策略外的所有道路都会被设置为封闭道路,因此哪些道路被当作细街路,实际上是一种控制封闭道路数据量的方法。
通过迭代次数控制细街路的精度,迭代次数越多,剩余未被抽取的细街路越少,因此可通过迭代次数控制细街路的精度。因为细街路在路径规划中不会使用到,所以无论是单一策略规划还是多策略同时规划,无论有无道路规避和封闭,路径规划的效率都有大幅的提高。形成细街路数据的过程中,遍历了所有在路径规划中可能使用的道路,最终不被使用的道路划分为细街路,所以在导航的路径规划过程中,所有细街路的数据都不会进入搜索空间,大大裁剪了扩展数据量,因此提高了规划的效率。
在一个优选实施例中,还包括:
在搜索阶段,应当按照时间优先策略、距离优先策略和经济模式策略的顺序加载对应的引导道路的数据,包括:
当搜索策略是时间优先策略时,加载时间优先策略对应的引导道路的数据;
当搜索策略是距离优先策略时,加载时间优先策略,以及距离优先策略对应的引导道路的数据;
当搜索策略是经济优先策略时,加载时间优先道路策略、距离优先道路策略,以及经济优先策略对应的引导道路的数据。
采用本方案之后的优势是:导航时,如图16所示,总是基于一定的路径规划策略探索路径,每种规划策略会存在一定的路径探索趋向性,找到各种路径规划策略下被使用的道路并保存在该种策略的道路数据中,那些被放弃的道路则不会在导航时的路径规划中搜索到,因此减少了导航路径规划时的数据加载量与搜索空间。除新增引导结点、终点所在格网外,路径规划过程中不需加载和扩展细街路。主干道路会抽取为各级引导道路,而具有较低级别,仅用于局部连接或相对孤立的细节道路抽取为细街路。根据路径规划策略分级划分原始道路后,在实际导航时只需加载和使用当前路径规划策略需要的道路数据,即使因为某些功能的使用加载了路径规划策略外数据-如在导航选点时可能会加载细街路,但在路径探索时也不会使用这些数据;而且,在数据密集地区,格网内大量的细街路数据无需使用,极大地降低了各种规划策略下的道路搜索空间,大幅提高规划效率,减少路径规划时的数据加载量与搜索空间。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种划分各级引导道路和细街路的方法,其特征在于,包括:
在各个格网内将所有道路初始化为原始细街路,在各个格网内确定新增引导结点;
执行至少一次迭代,每一次迭代过程包括:每遍历一个格网,遍历该格网内所有的新增引导结点,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,根据本次迭代对应的路径规划策略将遍历过程中抽取出来的所述引导道路设置为对应的等级,所述路径规划策略包括:寻找时间优先策略、距离优先策略和经济优先策略;
执行所述至少一次迭代之后,所有剩余未被抽取的道路作为细街路。
2.根据权利要求1所述的方法,其特征在于,在各个格网内确定新增引导结点,具体包括:
在第一次迭代之前或者第一次迭代开始时,初始设定格网所有的格网边界结点为新增引导结点。
3.根据权利要求1所述的方法,其特征在于,每一次迭代过程还包括:
若当前为第一次迭代过程,则在开启规避策略后进行探索,所述规避策略中定义了不准备经过的道路;
非第一次迭代过程中,抽取出的引导道路均记录为封闭等级。
4.根据权利要求1所述的方法,其特征在于,从一个所述新增引导结点出发探索到达其余新增引导结点的引导道路,具体包括:
加载当前路径规划策略的规划系数表,规划系数表是指在各种路径规划策略中对经过的各种引导道路确定一个约定的经过代价,经过代价包括经过时间、经过距离和/或经过花费;
获取终止弧段列表,终止弧段列表执行扩展弧段与终止弧段的相遇判定;
选定新增引导结点,将该新增引导结点接续的非引导道路加入到扩展队列作为扩展弧段;
扩展步骤:依次从所述扩展队列取出具有最小代价的扩展弧段,接续到根据当前的所述路径规划策略形成的引导道路上;
判定步骤:若最小代价的扩展弧段遇到的是终止弧段,将该扩展弧段归类为终止弧段,并加入到终止弧段列表;且判定扩展引导道路的过程已经结束,执行回溯步骤;
回溯步骤:回溯所述引导道路,根据当前的所述路径规划策略设置引导道路的等级。
5.根据权利要求4所述的方法,其特征在于,获取终止弧段列表的方式包括:
在一个格网内,搜索到不同新增引导结点接续的非引导道路,若所述新增引导结点是在前一次迭代过程中形成的,则将所述非引导道路作为终止弧段,将所述终止弧段加载到终止弧段列表。
6.根据权利要求4所述的方法,其特征在于,回溯步骤中,回溯所述引导道路,根据当前的所述路径规划策略设置引导道路的等级具体包括:
遍历所有终止弧段,
获取扩展过程中记录的所述引导道路包含的弧段,
根据路径规划策略、规避策略、是否首次迭代,分别为所述引导道路经由的弧段设置对应的等级,所述经由的弧段的等级与引导道路的等级相同。
7.根据权利要求4或6所述的方法,其特征在于,还包括:
当路径规划策略包括时间优先策略、距离优先策略和经济优先策略时,时间优先策略中的引导道路标识为第一等级;
排除时间优先策略选定的引导道路,距离优先策略中的引导道路标识为第二等级;
排除时间优先策略、距离优先策略选定的引导道路,经济优先策略中的引导道路标识为第三等级;
当有道路规避时,各路径规划策略之外抽取的道路,设置为第四等级。
8.根据权利要求1所述的方法,其特征在于,执行迭代之后还包括:
统一存储格网内各个路径规划策略的引导道路,建立各个路径规划策略之间的引导道路的包含关系,
当第一策略的引导道路少于第二策略的引导道路时,所述第二策略在第一策略的基础上进行增量存储。
9.根据权利要求1所述的方法,其特征在于,还包括:
在搜索阶段,应当按照时间优先策略、距离优先策略和经济优先策略的顺序加载对应的引导道路的数据,包括:
当搜索策略是时间优先策略时,加载时间优先策略对应的引导道路的数据;
当搜索策略是距离优先策略时,加载时间优先策略,以及距离优先策略对应的引导道路的数据;
当搜索策略是经济优先策略时,加载时间优先策略、距离优先策略,以及经济优先策略对应的引导道路的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310532593.1A CN104596527B (zh) | 2013-10-31 | 2013-10-31 | 一种划分各级引导道路和细街路的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310532593.1A CN104596527B (zh) | 2013-10-31 | 2013-10-31 | 一种划分各级引导道路和细街路的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104596527A CN104596527A (zh) | 2015-05-06 |
CN104596527B true CN104596527B (zh) | 2017-08-11 |
Family
ID=53122463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310532593.1A Active CN104596527B (zh) | 2013-10-31 | 2013-10-31 | 一种划分各级引导道路和细街路的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104596527B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108204813B (zh) * | 2016-12-19 | 2021-02-23 | 北京四维图新科技股份有限公司 | 一种路径计算的方法、装置及导航系统 |
CN108572999B (zh) * | 2017-03-14 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 兴趣面aoi轮廓的搜索方法及装置 |
CN108515862A (zh) * | 2018-03-26 | 2018-09-11 | 唐天才 | 一种用于电动汽车的数据智能管理系统 |
CN109506669B (zh) * | 2018-12-28 | 2021-10-08 | 斑马网络技术有限公司 | 动态路径规划方法、装置、系统以及存储介质 |
CN112825211B (zh) * | 2019-11-20 | 2022-04-26 | 百度在线网络技术(北京)有限公司 | 路网确定方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754846A (en) * | 1990-10-01 | 1998-05-19 | U.S. Philips Corporation | Method of storing a topological network, and methods and apparatus for identifying series of 1-cells in a network stored by such a method |
CN101782399A (zh) * | 2009-01-21 | 2010-07-21 | 北京四维图新科技股份有限公司 | 导航电子地图中道路网络拓扑分区的方法及装置 |
CN102235873A (zh) * | 2010-04-21 | 2011-11-09 | 北京四维图新科技股份有限公司 | 导航电子地图的处理方法和装置、导航仪 |
CN102435200A (zh) * | 2011-09-05 | 2012-05-02 | 广东东纳软件科技有限公司 | 一种路径快速规划方法 |
CN103376116A (zh) * | 2012-04-16 | 2013-10-30 | 北京四维图新科技股份有限公司 | 车辆导航中的风景路线规划 |
-
2013
- 2013-10-31 CN CN201310532593.1A patent/CN104596527B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754846A (en) * | 1990-10-01 | 1998-05-19 | U.S. Philips Corporation | Method of storing a topological network, and methods and apparatus for identifying series of 1-cells in a network stored by such a method |
CN101782399A (zh) * | 2009-01-21 | 2010-07-21 | 北京四维图新科技股份有限公司 | 导航电子地图中道路网络拓扑分区的方法及装置 |
CN102235873A (zh) * | 2010-04-21 | 2011-11-09 | 北京四维图新科技股份有限公司 | 导航电子地图的处理方法和装置、导航仪 |
CN102435200A (zh) * | 2011-09-05 | 2012-05-02 | 广东东纳软件科技有限公司 | 一种路径快速规划方法 |
CN103376116A (zh) * | 2012-04-16 | 2013-10-30 | 北京四维图新科技股份有限公司 | 车辆导航中的风景路线规划 |
Non-Patent Citations (3)
Title |
---|
《基于道路网络知识的启发式层次路径寻找算法》;翁敏 等;《武汉大学学报·信息科学版》;20060430;第31卷(第4期);第360-363页 * |
基于Oracle拓扑模型的地块建模与变更;韦波 等;《地理空间信息》;20100228;第8卷(第1期);第26-28页 * |
基于路网分层策略的高校路径规划算法;钟慧玲 等;《西南交通大学学报》;20110831;第46卷(第4期);第645-650页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104596527A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104596527B (zh) | 一种划分各级引导道路和细街路的方法 | |
CN106225791B (zh) | 一种基于网格划分的gps定位与道路匹配方法 | |
CN109506669B (zh) | 动态路径规划方法、装置、系统以及存储介质 | |
CN107121146B (zh) | 基于路链深度的最优路径规划方法 | |
Ortega-Arranz et al. | The shortest-path problem: Analysis and comparison of methods | |
CN102538806B (zh) | 一种路径规划方法以及相关设备 | |
CN103376119B (zh) | 执行路网搜索的方法和用于估计车辆续航里程的系统 | |
CN109983304A (zh) | 一种用于地图上的道路网络中的电子路线导航方法 | |
CN107687859A (zh) | 基于a星算法的最短寻路方法 | |
CN109564099A (zh) | 用于地图匹配的方法及系统 | |
CN101358855B (zh) | 基于分层双向启发式路线规划方法的导航装置 | |
CN103376116B (zh) | 车辆导航中的风景路线规划 | |
JP2001507143A (ja) | ネットワーク内の領域の出口および入口を決定する方法 | |
CN112629533A (zh) | 基于路网栅格化道路车流预测的精细化路径规划方法 | |
CN110009906A (zh) | 基于交通预测的动态路径规划方法 | |
CN113449910B (zh) | 一种基于顺序存储二叉树的航线自动生成方法 | |
CN110095134A (zh) | 一种以用户的偏好为核心的路径规划和导航的方法及系统 | |
CN111337047B (zh) | 基于多任务点约束的非结构化道路宏观路径规划方法 | |
CN107917716A (zh) | 固定线路导航方法、装置、终端及计算机可读存储介质 | |
CN110136438A (zh) | 基于人工智能的道路切换方法、装置、设备及存储介质 | |
Bulitko et al. | Speeding up learning in real-time search via automatic state abstraction | |
CN113256013B (zh) | 一种在环境约束下的车辆路径智能搜索方法 | |
Tucnik et al. | Comparative analysis of selected path-planning approaches in large-scale multi-agent-based environments | |
CN104699791A (zh) | 一种用于有损浮动车轨迹的路径还原方法 | |
CN112384759A (zh) | 用于为车辆路线规划确定路线的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |