著录项信息
专利名称 | 一种导航方法和装置 |
申请号 | CN200910003009.7 | 申请日期 | 2009-01-08 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2010-07-14 | 公开/公告号 | CN101776457A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01C21/34 | IPC分类号 | G;0;1;C;2;1;/;3;4查看分类表>
|
申请人 | 厦门高德软件有限公司 | 申请人地址 | 浙江省杭州市滨江区长河街道网商路699号4号楼5楼508室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 阿里巴巴(中国)有限公司 | 当前权利人 | 阿里巴巴(中国)有限公司 |
发明人 | 李秋标 |
代理机构 | 中国商标专利事务所有限公司 | 代理人 | 万学堂 |
摘要
本发明的实施例提供了一种导航方法和装置,可解决现有技术中导航效率较低的问题。所述方法包括:在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;根据确定的路径导航。所述装置包括确定单元和导航单元。根据本发明实施例,通过在分层道路网络上确定源节点至目的节点之间路径,由于上层道路网络的数据量远远小于底层道路网络节点的数据量,故可提高计算效率,从而方便导航。
1.一种导航方法,其特征在于,包括:
在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;
根据确定的路径导航;
其中,所述在分层道路网络上确定源节点至目的节点之间路径,具体包括: 获得源节点和目的节点,并将底层道路网络作为当前道路网络;
分别以源节点和目的节点为中心,在当前道路网络进行计算;
判断是否满足层次停止计算条件或者得到贯通路径,若满足层次停止计算条件,则根据节点的属性获得上一层次的同一节点,然后分别在源节点和目的节点为中心,在当前道路网络的上一层道路网络进行计算,重复本步骤,所述层次停止计算条件为在当前道路网络计算的节点数目达到第一预定值,或者在当前道路网络中计算的计算节点数目达到第二预定值且计算半径达到第三预定值;若得到贯通路径则返回;否则,则在当前道路网络进行计算,并重复本步骤。
2.根据权利要求1所述的方法,其特征在于,所述在道路网络进行计算具体为:采用狄杰斯特算法进行计算。
3.根据权利要求1所述的方法,其特征在于,在执行所述获得源节点和目的节点,并将底层道路网络作为当前道路网络之前,还对每一层划分为多个区域,其中,对于同一地区区域的道路网络,下层每一区域为上层区域的细分。
4.根据权利要求1所述的方法,其特征在于,所述根据预定规则将整个道路网络划分的至少两层道路网络具体包括:按不同道路等级进行分层。
5.根据权利要求2至4其中之一所述的方法,其特征在于,当得到贯通路径后,将所述路径还原为最低层道路网络的路径。
6.一种导航装置,其特征在于,包括:
确定单元,用于在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;
导航单元,用于根据确定的路径导航;
其中,前述确定单元包括:
获得单元,用于获得源节点和目的节点;
设定单元,用于将分层道路网络的底层道路网络设为当前道路网络;
计算单元,用于分别以源节点和目的节点为中心,在当前道路网络进行计算,并启动判断单元;
判断单元,用于判断是否满足层次停止计算条件或者得到贯通路径,若满足层次停止计算条件,则启动计算单元根据节点的属性获得上一层次的同一节点,然后分别在源节点和目的节点为中心在当前道路网络的上一层道路网络进行计算,所述层次停止计算条件为在当前道路网络计算的节点数目达到第一预定值,或者在当前道路网络中计算的计算节点数目达到第二预定值且计算半径达到第三预定值;若得到贯通路径则返回;否则启动计算单元分别以源节点和目的节点为中心,在当前道路网络进行计算。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括划分单元,用于根据预定规则将整个道路网络划分为至少两层道路网络。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括还原单元,用于当得到贯通路径后,将所述路径还原为最低层道路网络的路径。
一种导航方法和装置 \n技术领域\n[0001] 本发明涉及一种导航技术,尤其涉及一种导航方法和装置。 \n背景技术\n[0002] 在传统的导航过程中,通过GPS(Global Position System,全球定位系统)获取车辆的当前位置,然后手动设置目的地,导航系统在后台采用路径搜索算法,如Dijkstra算法(狄杰斯特,荷兰科学家),查找出一条或几条从当前位置到目的地的最经济的路线,如时间花费最短或费用最低等。上述路径搜索方法,都基于Dijkstra算法。Dijkstra算法包含了一个有权重的有向图G,以及G中的一个源顶点S。我们以V表示G中所有顶点的集合。每一个图中的边,都是两个顶点所形成的有序元素对。(u,v)表示从顶点u到v有路径相连。我们假定E为所有边的集合,而边的权重则由权重函数w:E→[0,∞]定义。因此,w(u,v)就是从顶点u到顶点v的非负花费值(cost)。边的花费可以想像成两个顶点之间的距离。任两点间路径的花费值,就是该路径上所有边的花费值总和。已知V中有顶点s及t,Dijkstra算法可以找到s到t的最低花费路径(如,最短路径)。这个算法可以在一个图中找到从一个顶点s到任何其他顶点的最短路径。 \n[0003] 现有的dijstra算法总是把道路网络视作一个层面。在搜索A,B两点之间的最短路径时不管它们相距多远,总是要计算出介于它们之间和周边的所有节点的最短路径,如果两点之间相距很远就会存在以下缺点:(a)计算数据量大,占用内存大。(b)计算时间长,效率低。(c)除了上述两个缺点外,由于不同道路的质量有很大不同,尽管求得最短路径,但综合多方因素,该最短路径往往不是最优、最佳线路。因此,运用现有的dijstra算法进行导航时,会导致导航效率不高,降低了用户的满意度。\n发明内容\n[0004] 本发明的实施例提供了一种导航方法和装置,可解决现有技术中导航效率较低的问题。 \n[0005] 本发明的实施例提供了一种导航方法,包括:在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;根据确定的路径导航; [0006] 其中,所述在分层道路网络上确定源节点至目的节点之间路径,具体包括: [0007] 获得源节点和目的节点,并将底层道路网络作为当前道路网络; [0008] 分别以源节点和目的节点为中心,在当前道路网络进行计算; [0009] 判断是否满足层次停止计算条件或者得到贯通路径,若满足层次停止计算条件,则根据节点的属性获得上一层次的同一节点,然后分别在源节点和目的节点为中心,在当前道路网络的上一层道路网络进行计算,重复本步骤,所述层次停止计算条件为在当前道路网络计算的节点数目达到第一预定值,或者在当前道路网络中计算的计算节点数目达到第二预定值且计算半径达到第三预定值;若得到贯通路径则返回;否则,则在当前道路网络进行计算,并重复本步骤。 \n[0010] 本发明实施例还公开了一种导航装置,包括:确定单元,用于在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;导航单元,用于根据确定的路径导航; \n[0011] 其中,前述确定单元包括: \n[0012] 获得单元,用于获得源节点和目的节点; \n[0013] 设定单元,用于将分层道路网络的底层道路网络设为当前道路网络; [0014] 计算单元,用于分别以源节点和目的节点为中心,在当前道路网络进行计算,并启动判断单元; \n[0015] 判断单元,用于判断是否满足层次停止计算条件或者得到贯通路径,若满足层次停止计算条件,则将当前道路网络的上一层道路网络设定为当前道路网络,并启动计算单元根据节点的属性获得上一层次的同一节点,然后分别在源节点和目的节点为中心在当前道路网络的上一层道路网络进行计算,所述层次停止计算条件为在当前道路网络计算的节点数目达到第一预定值,或者在当前道路网络中计算的计算节点数目达到第二预定值且计算半径达到第三预定值; 若得到贯通路径则返回;否则,启动计算单元分别以源节点和目的节点为中心,在当前道路网络进行计算。 \n[0016] 根据本发明实施例,通过在分层道路网络上确定源节点至目的节点之间路径,由于上层道路网络的数据量远远小于底层道路网络节点的数据量,故可提高计算效率,从而方便导航。 \n[0017] 附图说明\n[0018] 图1示出本发明实施例一道路网络的层次; \n[0019] 图2示出了本发明实施例一的导航方法; \n[0020] 图3示出了本发明实施例二的导航装置。 \n[0021] 具体实施方式\n[0022] 为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。 \n[0023] 实施例一 \n[0024] 为了实现本发明,首先在分层道路网络上确定源节点至目的节点之间路径,接着在确定的路径上进行导航。在分层道路网络上确定源节点至目的节点之间路径之前,首先对道路网络进行分层。所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集。 \n[0025] 对一个复杂且数据量大的道路网络按照某些原则构造多个空间层。使得各个层的网络的拓扑关系是相互独立的。上层道路网络总是下层道路网络的子集。其中,最低层道路网络(也称为底层道路网络)是道路网络数据的全集,而高层道路网络是低层道路网络的子集。图1示出了本发明的道路网络层次,其可分为底层道路网络、第一层道路网络、...、第n层道路网络。层次可以按照道路等级、构网重要性、交通流量或行车速度等因素进行划分。例如,假设将道路网络分为三层,按照道路等级和路段在构造网络的重要性方面进行层次划分时,最高层的道路网络由高等级道路组成,中间层的道路网络由次干道和最高层的道路网络的组成,最低层由全部道路组成。 \n[0026] 对于每层道路网络,分别划分成若干区域,以方便计算。为了更方便地向上层过渡,加快确定两点之间路径的效率,对于同一地区区域的道路网络,低层次区域道路网络总是高层次区域道路网络的细分。这样,就可将划分的每个区域作为道路计算的基本操作单元。每一个区域可以按照数据量进行划分。如每个区域内的路段保持在1000条左右,这主要取决于计算时间。区域的形状不受限制,但考虑到制作的便利性经常取矩形或近似矩形,区域的边界以等级较高的道路划界较合理。同层的每个区域大小和形状不要求相同,只要保持对上层区域的细分。 \n[0027] 层之间通过节点属性实现数据链接,该属性表征在当前节点是否存在于更高道路网络上,该属性的值表示该节点所能达到的最高层层数。在同一位置上 [0028] 如图2所示,下面描述在分层道路网络上确定源节点至目的节点之间路径的方法,包括如下步骤: \n[0029] 步骤11、获得源节点和目的节点,并将底层道路网络作为当前道路网络。 [0030] 步骤12、分别以源节点和目的节点为中心,在当前道路网络的区域上运用某种算法(如dijstra算法)计算最短路径。 \n[0031] 步骤13、判断是否满足预定条件,若是,执行步骤15,否则,执行步骤14。所述预定条件包括层次停止计算条件或者得到贯通路径,所述层次停止计算条件为在当前道路网络中计算的节点数目达到第一预定值(如200),或者在当前道路网络中计算的节点数目达到第二预定值(如10)且计算半径达第三预定值(如10公里)。 \n[0032] 步骤14、根据节点的属性获得上一层次的同一节点。并分别在源节点和目的节点为中心,在当前道路网络进行计算,并返回步骤13。 \n[0033] 步骤15、判断预定条件是否为层次停止计算条件,若是,则执行步骤16,否则执行步骤17。 \n[0034] 步骤16、将当前道路网络的上一层道路网络设定为当前道路网络;返回步骤12。 [0035] 步骤17、最后将各个层次上的结果路径连接起来以得到最终的结果路径。 [0036] 由于结果路径是由在各层上分别得出的路径之和。其中除了底层之外,其他层的路径可能消除了节点,从而掩盖了路段之间的路口特征。为了得到详尽的路径,需要该结果路径还原成最低层的路段形态。这样,就可根据上述方法确定的路径进行导航。 [0037] 实施例二 \n[0038] 如图3所示,本实施例公开了一种导航装置,包括: \n[0039] 确定单元31,用于在分层道路网络上确定源节点至目的节点之间路径,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;导航单元32,用于根据确定的路径导航;划分单元33,用于根据预定规则将整个道路网络划分为至少两层道路网络;还原单元34,用于当得到贯通路径后,将所述路径还原为最低层道路网络的路径。 \n[0040] 所述确定单元31包括:获得单元311,用于获得源节点和目的节点;设定单元\n312,用于将分层道路网络的底层道路网络设为当前道路网络,所述分层道路网络为根据预定规则将整个道路网络划分的至少两层道路网络,分别称为底层道路网络和上层道路网络,其中,底层道路网络为道路网络全集,对于相邻两层网络,上一层道路网络是当前道路网络的子集;计算单元313,用于分别以源节点和目的节点为中心,在当前道路网络进行计算,并启动判断单元;判断单元314,用于判断是否满足层次停止计算条件或者得到贯通路径,若满足层次停止计算条件,则将当前道路网络的上一层道路网络设定为当前道路网络,并启动计算单元;若得到贯通路径则停止,否则启动计算单元。本实施例中各个单元的工作原理可参照实施例一中描述的内容。 \n[0041] 根据本发明实施例,通过在分层道路网络上确定源节点至目的节点之间路径,由于上层道路网络的数据量远远小于底层道路网络节点的数据量,故可提高计算效率,从而方便导航。 \n[0042] 虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。
法律信息
- 2020-06-05
专利权的转移
登记生效日: 2020.05.18
专利权人由厦门高德软件有限公司变更为阿里巴巴(中国)有限公司
地址由361008 福建省厦门市软件园望海路59号701单元变更为310052 浙江省杭州市滨江区长河街道网商路699号4号楼5楼508室
- 2013-05-29
- 2011-08-03
实质审查的生效
IPC(主分类): G01C 21/34
专利申请号: 200910003009.7
申请日: 2009.01.08
- 2010-07-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-04-18
|
2006-10-31
| | |
2
| |
2005-08-24
|
2005-02-21
| | |
3
| |
2008-03-26
|
2007-10-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |