路径规划方法和装置与流程

文档序号:11249070阅读:818来源:国知局
路径规划方法和装置与流程

本发明涉及电子地图技术,尤其涉及一种路径规划方法及路径规划装置。



背景技术:

在电子地图技术中,经常会存在规划起点和终点之间的路径的需求。

目前,使用较为广泛的一种路径规划方法的实现原理为:从起点和终点同时向外进行扩展计算,当基于起点计算出的最短路径和基于终点计算出的最短路径中包含有道路属性完全相同的同一路段时,不再执行最短路径的计算操作,合并基于起点计算出的最短路径和基于终点计算出的最短路径即可确定出起点和终点之间的路径。

发明人在实现本发明过程中发现,在路网数据采集过程中,一条实际道路往往会由于红绿灯、收费站、交叉路口、车道数量以及出入口等多种因素而被划分为具有不同道路属性的多个路段,如北京的二环路会由于车道数量以及出入口等多种因素而被划分为数十条甚至上百个路段;由于现有的确定起点和终点之间的路径过程是在基于起点计算出的最短路径和基于终点计算出的最短路径都包含具有完全相同道路属性的同一路段时,才会停止最短路径的计算过程,因此,现有的路径规划方法的计算量必然会包括:对寻找到的最短路径所包含的各路段的计算量以及对寻找到的路径所包含的各路段的周围路段的计算量。虽然路径规划的算法在被不断的优化,但是,现有的路径规划的实现原理导致其路径规划的计算量仍然较大,路径规划的效率有待于进一步提高。



技术实现要素:

本发明的目的是提供一种路径规划方法和装置。

根据本发明的一个方面,提供一种路径规划方法,其中,该方法主要包 括以下步骤:获取起点和终点;从所述起点和所述终点分别进行最短路径计算,并在最短路径计算过程中,执行以下获取步骤:当判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识时,从道路数据库中获取连通所述路段一和路段二的中间路段,并将该中间路段连接为中间路径,其中所述中间路段的道路标识与所述路段一和路段二的道路标识相同;根据所述第一最短路径、中间路径和第二最短路径,生成从所述起点到所述终点的路径。

根据本发明的另一个方面,还提供一种路径规划装置,其中,该装置包括:获取模块,用于获取起点和终点;计算模块,用于从所述起点和终点分别进行最短路径计算,并在最短路径计算过程中,执行以下获取步骤:当判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识时,从道路数据库中获取连通所述路段一和路段二的中间路段,并将该中间路段连接为中间路径,其中所述中间路段的道路标识与所述路段一和路段二的道路标识相同;路径生成模块,用于根据所述第一最短路径、中间路径以及第二最短路径,生成从所述起点到所述终点的路径。

与现有技术相比,本发明具有以下优点:本发明通过在从起点和终点分别进行最短路径计算的过程中,一旦在当前计算获得的基于起点的第一最短路径中的路段一和基于终点的第二最短路径中的路段二具有相同道路标识时,由于可以从道路数据库中获取到连通路段一和路段二的具有与路段一和路段二相同的道路标识的中间路段,并利用第一最短路径、第二最短路径以及由中间路段拼接而成的中间路径来形成从起点到终点的路径,因此,本发明可以立即停止最短路径的计算操作,从而本发明不仅可以避免对上述连通第一最短路径和第二最短路径的具有相同道路标识的多个中间路段进行最短路径计算的计算量,还可以避免对上述具有相同道路标识的多个中间路段的周围道路进行最短路径计算的计算量。由此可知,本发明提供的技术方案能够在较大程度上减小最短路径的计算量,有效提高了路径规划效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明实施例一的路径规划方法流程图;

图2为本发明实施例二的路径规划的一个具体例子的示意图;

图3为本发明实施例三的路径规划的一个具体例子的示意图;

图4为本发明实施例四的路径规划装置示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然本发明的流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

所述智能电子设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能移动电话以及pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或者基于云计算(cloudcomputing)的由大量计算机或者网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述智能电子设备可以接入网络并与网络中的其他智能电子设备进行信息交互操作。其中,所述智能电子设备所能够接入的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。

需要说明的是,所述用户设备、网络设备以及网络等仅为举例,其他现有的或今后可能出现的智能电子设备或者网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。

后面描述所讨论的方法(其中一些通过流程图示出)实施例可以通过硬 件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合的形式来实施。当用软件、固件、中间件或者微代码来实施时,用以实施必要任务的程序代码或者代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的,但是,本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或者耦合到所述另一个单元,也可以存在中间单元。与此相对的,当一个单元被称为“直接连接”或者“直接耦合”到另一个单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如,“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

这里所使用的术语仅仅是为了描述具体实施例,而不是意图限制示例性实施例。除非上下文中明确地另有所指,否则,这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定了所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或者添加一个或更多的其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本发明的技术方案作进一步详细描述。

实施例一、路径规划方法。

图1为本实施例的路径规划方法流程图。如图1所示,本实施例的方法主要包括:步骤s100、步骤s110以及步骤s120。本实施例所记载的方法既可以在网络侧的智能电子设备中执行,也可以在用户侧的智能电子设备中执行,如在实现在线路径规划或者在线导航等过程中,本实施例所记载的路径规划方法可以由网络侧的服务器(如云端服务器)等执行;再如在实现离线路径规划或者离线导航等过程中,本实施例所记载的路径规划方法可以由用户侧的智能移动电话、平板电脑或者计算机等用户设备执行。本实施例不限制实现路径规划方法的智能电子设备的具体表现形式,即本实施例不限制路径规划方法所适用的硬件环境。

下面对图1中的各步骤分别进行详细描述。

s100、获取起点和终点。

具体的,本实施例中的起点和终点(如可以是需要进行最短路径计算的起点和终点)可以是在用户通过相应的用户交互界面执行相应的操作(如在用户交互界面输入框中进行的文字输入操作或者在电子地图界面的选点操作等)而获取到的起点和终点;如在用户进入电子地图的app(应用)后,应用为用户展示相应的电子地图主界面,用户可以在电子地图主界面进行选点操作得到起点和终点,用户还可以在电子地图主界面点击“路线”或者“导航”后跳转到相应的路径规划页面,用户在路径规划页面的输入框中输入相应的起点以及终点。当然用户可以在路径规划页面的起点输入框中输入起点关键词,应用会在下拉框中展示与该起点关键词相关的多个地名,在用户从下拉框中选择一个地名时,该地名被作为起点,同样的,用户可以在相应的路径规划页面的终点输入框中输入终点关键词,应用会在下拉框中展示与该终点关键词相关的多个地名,在用户从该下拉框中选择一个地名时,该地名被作为终点。另外,本实施例也可以根据用户的相应操作将用户的当前所在地作为起点。再有,本实施例可以将用户以前曾经搜索过的多个终点信息展示给用户,从而本实施例可以根据用户在该展示出的多个终点信息中的选择来获取终点。本实施例不限制获取起点和终点的具体实现方式。

s110、从上述起点和终点分别进行最短路径计算,并在最短路径计算过程中,执行以下获取步骤:当判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识时,从道路数据库中获取连通路段一和路段二的多个中间路段,并将多个中间路段连接为中间路径,其中,中间路段的道路标识与路段一和路段二的道路标识相同。

本实施例判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识,可采取以下两种方式实现:

方式1、从起点进行最短路径计算的过程中,每计算得到一条构成所述第一最短路径的新路段时,将该新路段的道路标识与第二最短路径中包含的路段的道路标识进行比较;当第二最短路径中包含与所述新路段的道路标识相同的路段时,将该路段作为路段二,将所述新路段作为路段一;当第二最短路径中不包含与所述新路段的道路标识相同的路段时,从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算,并在最短路径计算过程中继续执行所述获取步骤。

方式2、从终点进行最短路径计算的过程中,每计算得到一条构成所述第二最短路径的新路段时,将该新路段的道路标识与第一最短路径中包含的路段的道路标识进行比较;当第一最短路径中包含有与所述新路段的道路标识相同的路段时,将该路段作为路段一,将所述新路段作为路段二;当第一最短路径中不包含与所述新路段的道路标识相同的路段时,从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算,并在最短路径计算过程中继续执行所述获取步骤。

在前述方式1和方式2中,当在第一最短路径与第二最短路径之间存在道路标识相同的路段时,此时应该先停止当前的最短路径的计算过程;如果第一最短路径与第二最短路径之间不存在道路标识相同的路段时,则不应打断当前的最短路径的计算过程,即继续进行最短路径的计算过程,直到基于起点的第一最短路径和基于终点的第二最短路径中包含具有相同道路标识的路段为止。

本实施例在判断出当前计算获得的基于起点的第一最短路径和基于终点的第二最短路径中包含有具有相同道路标识的路段时,应获取用于连通当前计算获得的第一最短路径中的路段一之前的路径(包含路段一)和当前计算获得的第二最短路径中的路段二之前的路径(包含路段二)的所有具有路段一/路段二的道路标识的中间路段。

本实施例的获取该中间路段的一种具体实现方式可以为:

道路数据库中预先存储有多条整合道路信息,每一条整合道路均由具有相同道路标识的多个路段形成(即整合道路是指由道路标识相同且具有连通关系的多个路段拼接而成的道路),且整合道路的道路标识与其所包含的多个路段所具有的道路标识相同;另外,不同整合道路的道路标识不相同。具体的,本实施例可以将北京市二环路内环以及北京市二环路外环分别作为一条整合道路,也可以将北京市三环路内环以及北京市三环路外环分别作为一条整合道路,还可以将北京市西直门大街上行方向或者北京市西直门大街下行方向分别作为一条整合道路。

本实施例中的每一条整合道路所包含的所有路段均设置有索引信息,且存储有路段id号与其索引信息的对应关系;且一条整合道路所包含的所有路段各自对应的索引信息的顺序排序位置可以表示出所有路段在整合道路中顺序排列位置,即各路段的索引信息的排序可以表示出整合道路中的各路段的实际衔接顺序,更具体而言,本实施例可以通俗的将一条整合道路所包含的所有路段分别对应的索引信息理解为一条公交线路中的顺序排列的站号。另外,本实施例中的预先存储的整合道路信息可以包括该整合道路中的每一个路段的索引信息以及各路段的坐标信息等。

由此,本实施例可以先根据路段一的id号、路段二的id号,从预先存储的整合道路信息中与该路段一/路段二的道路标识相同的整合道路中的路段id与索引信息的对应关系中确定出路段一和路段二分别对应的索引信息,再将路段一的索引信息与路段2的索引信息之间的路段确定为中间路段,该多个中间路段构成的路径即为中间路径。

如对于高速公路而言,路段一和路段二对应的索引信息可以具体为进入高速的入口标识信息或者驶出高速的出口标识信息等;再如对于城市环路而 言,路段一和路段二对应的索引信息可以为由辅路进入主路的入口标识信息或者由主路到辅路的出口标识信息等。本实施例不限制路段一和路段二对应的索引信息的具体表现形式。

本实施的一个具体的例子,北京市二环路由于红绿灯、收费站、交叉路口、车道数量以及出入口等多种因素而被划分为具有不同道路属性的数十条甚至上百个路段,本实施例可以将北京市二环路内环/外环作为一条整合道路,并存储该整合道路信息,如存储组成该整合道路的所有路段的索引信息等;在判断出当前计算获得的第一最短路径中的路段一和第二最短路径的路段二的道路名称均为北京市二环路内环/外环时,获取第一最短路径中的路段一所对应索引信息(如索引值为3),并获取第二最短路径中的路段二所对应的索引信息(如索引值为10),然后,利用这两个索引信息从预先存储的北京市二环路内环/外环的整合道路信息中获取这两个索引信息之间的所有路段,即索引值为4-9的所有路段,索引值为4-9的所有路段即为上述用于连通当前计算获得的第一最短路径中的路段一之前的路径和第二最短路径中的路段二之前的路径的所有具有北京市二环路内环/外环这一道路名称的中间路段,本实施例可以将索引值为4-9的各中间路段拼接为中间路径。

具体的,本实施例可以从起点和终点分别在预置的道路集合中包含的路段进行最短路径计算。优选地,在一个实施例中,道路集合包含的路段可以是某区域内的主干路网的路段,主干路网的路段可包括:城市快速公路、环路、高速公路、国道以及省道等;本实施例规划出的起点到终点的路径所包含的路段均是主干路网路段。

在另一个实施例中,道路集合包含的路段也可以是某区域内的全路网路段,即本实施例中的道路集合中存储的路段是某区域内包含的所有路段。

本实施例中的某区域可以是指一个行政区划或者多个行政区划,甚至全国范围或者多个国家范围,或者还可以是自定义的一个地理范围等。本实施例不限制道路集合的具体表现形式。

本实施例在根据道路集合中的路段从起点和终点分别进行最短路径计算的过程中,可以基于优先级高于预置级别阈值的优先原则从起点和终点分别进行最短路径计算,也就是说,本实施例在进行最短路径计算过程中可以优 先选取优先级高于预置级别阈值的路段进行最短路径的计算,在路径计算失败时再选择优先级低于或等于预置级别阈值的路段进行最短路径的计算。采用该种方式使得确保规划出的路径时高优先级路段组成的路径,以尽可能的满足用户的实际需求。

本实施例中的预置级别阈值可以具体包括:城市快速公路级别、环路级别或者高速公路级别等。另外,本实施例中的预置级别阈值可以是根据用户的选择而设置的预置级别阈值,如用户在选择起点和终点时,可以同时选择一个预置级别阈值;一个具体的例子,在用户在相应的用户界面中选择了“城市快速公路优先”这一选项时,本实施例将城市快速公路级别作为预置级别阈值。另外,本实施例中的预置级别阈值也可以是根据缺省设置信息而设置的预置级别阈值,例如,当前缺省设置信息为城市快速公路级别,在用户不修改该缺省设置信息的情况下,本实施例将城市快速公路级别作为预置级别阈值。

本实施例可以采用现有的多种最短路径算法从起点和终点分别进行最短路径计算,本实施例不限制所采用的最短路径算法的具体实现方式。

本实施例中的具有相同道路标识的路段通常是指具有相同道路名称的路段,即本实施例中的道路标识可以为道路名称;道路集合中的每一个路段都具有该路段所在道路的道路名称。

s120、根据第一最短路径、中间路径和第二最短路径,生成从起点到终点的路径。

具体的,本实施例可以将上述第一最短路径中的路段一之前的路径(包含路段一)、中间路径和第二最短路径中的路段二之前的路径(包含路段二)顺序连接(如基于各路段的坐标将路段一之前的路径中的所有路段、中间路径中的所有路段以及路段二之前的路径中的所有路段顺序连接起来),从而形成规划出的从起点到终点的完整路径。

另外,为了使最终获得的从起点到终点的路径更为合理,本实施例中的根据第一最短路径、中间路径和第二最短路径,生成从起点到终点的路径也可以采用如下两种方式来实现:

方式一、将第一最短路径中的路段一之前的路径(包含路段一)、中间 路径、第二最短路径中的路段二之前的路径(包含路段二)顺序连接来的从起点到终点的完整路径作为待定路径;计算起点与终点之间的直线距离,并计算待定路径的长度;之后,判断待定路径的长度与直线距离的比值是否大于预置的比例阈值,如果比值大于预置的比例阈值,则继续进行基于起点的第一最短路径的计算过程以及基于终点的第二最短路径的计算过程,并在最短路径的计算过程中执行上述s110所记载的获取步骤;而如果比值不大于预置的比例阈值,则将该待定路径确定为本次规划出的从起点到终点的路径。

方式二、计算中间路径的长度,并判断中间路径的长度是否大于等于预置的长度阈值,如果中间路径的长度大于等于预置的长度阈值,则继续进行基于起点的第一最短路径的计算过程以及基于终点的第二最短路径的计算过程,并在最短路径的计算过程中执行上述s110所记载的获取步骤;如果中间路径的长度小于预置的长度阈值,则将第一最短路径中的路段一之前的路径(包含路段一)、中间路径、第二最短路径中的路段二之前的路径(包含路段二)进行顺序连接(如基于各路段的坐标将路段一之前的路径中的所有路段、中间路径中的所有路段以及路段二之前的路径中的所有路段顺序连接起来),从而形成本次规划出的从起点到终点的完整路径。前述长度阈值可以根据起终点直线距离的长短设置为不同的取值,如起终点直线距离越短设置的长度阈值取值越小,起终点直线距离越长设置的长度阈值取值越大。

实施例二、路径规划方法。下面结合图2对本实施例的方法进行说明。

本实施例中,假设预先存储有京通快速公路上行/下行这一整合道路的信息,在该整合道路信息中,包括京通快速公路名称、京通快速公路上行道路包含的所有路段的id与索引信息、京通快速公路下行道路包含的所有路段的id与索引信息(包括索引值)。整合道路上的路段按照行车方向其对应的索引值连续且按照从大到小或者从小到大的顺序依次排序。如整合道路按照行车方向依次包括路段1、路段2、路段3、路段4、…、路段n,则对应的索引值依次为1、2、3、…、n。

在需要进行城市快速公路优先的最短路径计算时,设定本次最短路径计算的起点和终点分别为图2中的两个五星标志处,例如起点为北京工人体育 馆,终点为通州区的某一具体位置。首先,本实施例应从起点以及终点分别进行最短路径的计算,在基于起点的第一最短路径中的路段一的道路名称为京通快速公路上行/下行,且基于终点的第二最短路径中包含有道路名称为京通快速公路的道路上行/下行的路段二时,本实施例暂且可以不再继续进行基于起点的最短路径计算以及基于终点的最短路径计算,而是获取路段一对应的索引值以及路段二对应的索引值,并从预先存储的基于京通快速公路上行/下行的整合道路信息中获取这两个索引值之间的所有中间路段;这两个索引值之间的所有路段构成中间路径,中间路径连通第一最短路径中的路段一之前的路径(包含路段一)以及第二最短路径中的路段二之前的路径(包含路段二);拼接第一最短路径中的路段一之前的路径、中间路径和第二最短路径中的路段二之间的路径,得到待定路径;以前面例子为例,假设路段一为路段4,路段二为路段8,则路段4的索引值4和路段8的索引值之间的索引值5,6,7对应的路段5、路段6和路段7为中间路段,则路段5、路段6、路段7构成的路径为中间路径;之后,计算北京工人体育馆和通州区的某一具体位置的直线距离以及待定路径的长度(即待定路径包含的所有路段的长度的和值),并判断待定路径的长度与该直线距离的比值是否大于预置的比例阈值,如果比值大于预置的比例阈值(如比例阈值为2.5),则继续进行第一最短路径的计算过程以及第二最短路径的计算过程,并在最短路径的计算过程中执行上述第一最短路径和第二最短路径是否包含有路段一和路段二的判断操作、获取索引值的操作、计算长度的操作以及判断操作;而如果比值不大于预置的比例阈值,则将该待定路径确定为本次规划出的从起点(如北京工人体育馆)到终点(如通州区的某一具体位置)的完整路径。

优选地,本实施例中,还可以针对起终点直线距离的长短,设置不同的比例阈值,如起终点直线距离越小比例阈值越大,起终点直线距离越大比例阈值越小。如比例阈值大于1小于等于2.5。

由上述描述可知,由于本实施例的最短路径的计算量包括:图2中起点周围路段的计算量(如对图2中的左侧圆圈所覆盖的路段进行计算的计算量)以及图2中终点周围路段的计算量(如对图2中的右侧圆圈所覆盖的路段进行计算的计算量),而不会包括对图2中的中部区域的椭圆所覆盖的路段进 行计算的计算量,因此,本实施例能够在较大程度上减小路径的计算量,有效提高了路径规划效率。

实施例三、路径规划方法。下面结合图3对本实施例的方法进行说明。

本实施例中,假设预先存储有北京市五环公路上行/下行这一整合道路的信息,在该整合道路信息中,包括北京市五环公路名称、五环路上行道路所包含的所有路段的id与索引信息、五环路下行道路所包含的所有路段的id与索引信息(包括索引值)等。

在需要进行城市快速公路优先的最短路径计算时,设定本次最短路径计算的起点和终点分别为图3中的两个五星标志处,如起点为北京东小口森林公园,终点为北京市南苑机场。首先,本实施例应从起点和终点分别进行最短路径的计算,在基于起点的第一最短路径中的路段一的道路名称为北京市五环公路上行/下行,且基于终点的第二最短路径中包含有道路名称为北京市五环公路上行/下行的路段二时,本实施例暂且不再继续进行基于起点的最短路径计算以及基于终点的最短路径计算,而是获取路段一对应的索引值以及路段二对应的索引值,并从预先存储的北京市五环公路上行/下行的整合道路信息中获取这两个索引值之间的所有中间路段;这两个索引值之间的所有路段构成中间路径,且中间路径连通第一最短路径中的路段一之前的路径(包含路段一)和第二最短路径中的路段二之前的路径(包含路段二);拼接第一最短路径中的路段一之前的路径、中间路径和第二最短路径中的路段二之间的路径,得到待定路径;之后,计算北京东小口森林公园和北京市南苑机场的直线距离以及待定路径的长度,并判断待定路径的长度与该直线距离的比值是否大于预置的比例阈值,如果比值大于预置的比例阈值,则继续进行第一最短路径的计算过程以及第二最短路径的计算过程,并在最短路径的计算过程中执行上述第一最短路径和第二最短路径是否包含有路段一和路段二的判断操作、获取索引值的操作、计算长度的操作以及判断操作;而如果比值不大于预置的比例阈值,则将该待定路径确定为本次规划出的从起点(如北京东小口森林公园)到终点(如北京市南苑机场)的完整路径。

由上述描述可知,由于本实施例的最短路径的计算量包括:图3中起点 周围路段的计算量(如对图3中的上侧圆圈所覆盖的路段进行计算的计算量)以及图3中终点周围路段的计算量(如对图3中的下侧圆圈所覆盖的路段进行计算的计算量),而不会包括对图3中的中部区域的椭圆所覆盖的路段进行计算的计算量,因此,本实施例能够在较大程度上减小路径的计算量,有效提高了路径规划效率。

实施例四、路径规划装置。

本实施例的路径规划装置通常设置于智能电子设备中,且该路径规划装置既可以设置于网络侧的智能电子设备中,也可以设置于用户侧的智能电子设备中,具体的,本实施例所记载的路径规划装置可以设置于用户侧的智能电子设备中(如移动电话、平板电脑或者计算机等),如设置于用户设备所安装的电子地图app中。本实施例不限制路径规划装置所适用的硬件环境。

图4中的装置主要包括:获取模块400、计算模块410以及路径生成模块420。

获取模块400,用于获取起点和终点。

具体的,获取模块400所获取到的起点和终点(如可以是需要进行最短路径计算的起点和终点)可以是在用户通过相应的用户交互界面执行相应的操作(如在用户交互界面输入框中进行的文字输入操作或者在电子地图界面的选点操作等)而获取到的起点和终点;如在用户进入电子地图的app(应用)后,应用为用户展示相应的电子地图主界面,用户可以在电子地图主界面进行选点操作得到起点和终点,用户还可以在电子地图主界面点击“路线”或“导航”后跳转到相应的路径规划页面,用户在路径规划页面的输入框中输入相应的起点和终点。当然用户可以在路径规划页面的起点输入框中输入起点关键词,应用会在下拉框中展示与该起点关键词相关的多个地名,在用户从下拉框中选择一个地名时,该地名被获取模块400作为起点,同样的,用户可以在相应的路径规划页面的终点输入框中输入终点关键词,应用会在下拉框中展示与该终点关键词相关的多个地名,在用户从下拉框中选择一个地名时,该地名获取模块400被作为终点。另外,本实施例也可以根据用户的相应操作将用户的当前所在地作为起点。再有,本实施例可以将用户以前搜 索过的多个终点信息展示给用户,从而本实施例可以根据用户在该展示出的多个终点信息中的选择来获取终点。本实施例不限制获取起点和终点的具体实现方式。

计算模块410,用于从起点和终点分别进行最短路径计算,并在最短路径计算过程中,执行以下获取步骤:当判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识时,从道路数据库中获取连通路段一和路段二的中间路段,并将该中间路段连接为中间路径,其中中间路段的道路标识与路段一和路段二的道路标识相同。

路径生成模块420,用于根据第一最短路径、中间路径以及第二最短路径,生成从起点到终点的路径。

路径生成模块420,具体地,将上述第一最短路径中的路段一之前的路径(包含路段一)、中间路径以及第二最短路径中的路段二之前的路径(包含路段二)顺序连接(如基于各路段的坐标将路段一之前的路径中的所有路段、中间路径中的所有路段以及路段二之前的路径中的所有路段顺序连接起来),从而形成规划出的从起点到终点的完整路径。

在一个实施例中,本实施例的路径生成模块420可以可选的包括:第一子模块、第二子模块以及第三子模块;其中:第一子模块,用于将所述第一最短路径中路段一以前的路径(包括路段一)、中间路径和第二最短路径中路段二以前的路径(包括路段二)拼接成一条待定路径;第二子模块,用于计算所述起点与终点之间的直线距离,以及所述待定路径的长度(待定路径中各个路段的长度的和值);第三子模块,用于判断所述待定路径的长度与所述直线距离的比值是否大于预置的比例阈值,若是则触发所述计算模块410从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算,并在最短路径计算过程中执行所述获取步骤;若否,则将所述待定路径确定为从所述起点到所述终点的路径。

在另一个实施例中,本实施例的路径生成模块420可以可选的包括:第四子模块以及第五子模块,其中,第四子模块,用于计算所述中间路径的长度;第五子模块,用于判断所述中间路径的长度是否大于等于预置的长度阈 值,若是,则触发所述计算模块410从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算并在最短路径计算过程中执行所述获取步骤;若否,则将所述第一最短路径中路段一以前的路径、中间路径和第二最短路径中路段二以前的路径拼接成一条从所述起点到所述终点的路径。

计算模块410在最短路径计算过程中,应不断的判断当前计算获得的基于起点的第一最短路径和基于终点的第二最短路径中是否包含有具有相同道路标识的路段,如通过最短路径计算每获得一个基于起点的第一最短路径中的新路段时,均应判断一下该新路段的道路标识是否出现在当前计算获得的基于终点的第二最短路径中,如果出现在当前计算获得的基于终点的第二最短路径中,则将该新路段作为路段一,而将第二最短路径中的与路段一具有相同道路标识的路段作为路段二,计算模块410可以暂且停止当前的最短路径的计算过程,而如果没有出现在当前计算获得的基于终点的第二最短路径中,则不应打断当前的最短路径的计算过程,即计算模块410继续进行最短路径的计算过程,直到确定出基于起点的第一最短路径和基于终点的第二最短路径中包含具有相同道路标识的路段为止。再如计算模块410通过最短路径计算每获得一个基于终点的第二最短路径中的新路段时,均应判断该新路段的道路标识是否出现在当前计算获得的基于起点的第一最短路径中,如果出现在当前计算获得的基于起点的第一最短路径中,则将该新路段作为路段二,将第一最短路径中的与路段二具有相同道路标识的路段作为路段一,计算模块410可以先停止当前的最短路径的计算过程,如果没有出现在当前计算获得的基于起点的第一最短路径中,则不应打断当前的最短路径的计算过程,即计算模块410继续进行最短路径的计算过程,直到判断出基于起点的第一最短路径和基于终点的第二最短路径中包含具有相同道路标识的路段为止。

计算模块410判断从起点进行最短路径计算得到的第一最短路径中的路段一与从终点进行最短路径计算得到的第二最短路径中的路段二具有相同道路标识,具体可通过以下两种方式实现:

方式1、从起点进行最短路径计算的过程中,每计算得到一条构成所述第一最短路径的新路段时,将该新路段的道路标识与第二最短路径中包含的 路段的道路标识进行比较;当第二最短路径中包含与所述新路段的道路标识相同的路段时,将该路段作为路段二,将所述新路段作为路段一;当第二最短路径中不包含与所述新路段的道路标识相同的路段时,从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算,并在最短路径计算过程中继续执行所述获取步骤;

方式2、从终点进行最短路径计算的过程中,每计算得到一条构成所述第二最短路径的新路段时,将该新路段的道路标识与第一最短路径中包含的路段的道路标识进行比较;当第一最短路径中包含有与所述新路段的道路标识相同的路段时,将该路段作为路段一,将所述新路段作为路段二;当第一最短路径中不包含与所述新路段的道路标识相同的路段时,从起点接续第一最短路径和从终点接续第二最短路径进行最短路径计算,并在最短路径计算过程中继续执行所述获取步骤。

优选地,本发明实施例中,计算模块410从所述起点和终点分别进行最短路径计算,具体用于:

基于优先选取预置的道路集合中包含的道路的路段原则,从所述起点和终点分别进行最短路径计算;其中,道路集合中的道路为道路级别不低于预置级别阈值的主干路。具体地,计算模块410可以从起点和终点分别在预置的道路集合中包含的路段进行最短计算。优选地,在一个实施例中,道路集合包含的道路可以是某区域内的主干路网的路段,该主干路网的路段可以包括:城市快速公路、环路、高速公路、国道以及省道等;本实施例规划出的起点到终点的路径所包含的路段均是主干路网路段。

在另一个实施例中,道路集合包含的道路也可以某区域内的全路网路段,即本实施例中的道路集合中存储的路段是某区域内包含的所有路段。

本实施例中的某区域可以是指一个行政区划或者多个行政区划,甚至全国范围或者多个国家范围,或者还可以是自定义的一个地理范围等。本实施例不限制道路集合的具体表现形式。

计算模块410在根据道路集合中的路段从起点和终点分别进行最短路径计算的过程中,可以基于优先级高于预置级别阈值的优先原则从起点和终点分别进行最短路径计算,也就是说,本实施例计算模块410在进行最短路径 计算过程中可以优先选取优先级高于预置级别阈值的路段进行最短路径的计算,在路径计算失败时再选择优先级低于或等于预置级别阈值的路段进行最短路径的计算。采用该种方式使得确保规划出的路径时高优先级路段组成的路径,以尽可能的满足用户的实际需求。

本实施例中的预置级别阈值可以具体包括:城市快速公路级别、环路级别或者高速公路级别等。另外,本实施例中的预置级别阈值可以是根据用户的选择而设置的预置级别阈值,如用户在选择起点和终点时,可以同时选择一个预置级别阈值;一个具体的例子,在用户在相应的用户界面中选择了“城市快速公路优先”这一选项时,本实施例将城市快速公路级别作为预置级别阈值。另外,本实施例中的预置级别阈值也可以是根据缺省设置信息而设置的预置级别阈值,例如,当前缺省设置信息为城市快速公路级别,在用户不修改该缺省设置信息的情况下,本实施例将城市快速公路级别作为预置级别阈值。

本实施例的计算模块410可以采用现有的多种最短路径算法从起点和终点分别进行最短路径计算,本实施例不限制所采用的最短路径算法的具体实现方式。计算模块410在判断出当前计算获得的基于起点的第一最短路径和基于终点的第二最短路径中包含有具有相同道路标识的路段时,应获取用于连通当前计算获得的第一最短路径中的路段一之前的路径(包含路段一)和当前计算获得的第二最短路径中的路段二之前的路径(包含路段二)的所有具有路段一/路段二的道路标识的中间路段。

该计算模块410从道路数据库中获取连通所述路段一和路段二的中间路段,具体包括:从道路数据库中预先存储的具有道路标识的整合道路中,获取道路标识与所述路段一和路段二的道路标识相同的整合道路;其中整合道路是指由道路标识相同且具有连通关系的多个路段拼接而成的道路;确定路段一和路段二在获取的整合道路中的位置,将该整合道路中位于所述路段一和路段二之间的路段确定为中间路段。

计算模块410获取中间路段的一种具体实现方式可以为:

本实施例的装置中的道路数据库中预先存储有多条整合道路信息,每一条整合道路均由具有相同道路标识的多个路段形成(即整合道路是指由道路 标识相同且具有连通关系的多个路段拼接而成的道路),且整合道路的道路标识与其所包含的多个路段所具有的道路标识相同;另外,不同整合道路的道路标识不相同。具体的,本实施例可以将北京市二环路内环以及北京市二环路外环分别作为一条整合道路,也可以将北京市三环路内环以及北京市三环路外环分别作为一条整合道路,还可以将北京市西直门大街上行方向或者北京市西直门大街下行方向分别作为一条整合道路。

本实施例中的每一条整合道路所包含的所有路段均设置有索引信息,且存储有路段id号与其索引信息的对应关系;且一条整合道路所包含的所有路段各自对应的索引信息的顺序排序位置可以表示出所有路段在整合道路中顺序排列位置,即各路段的索引信息的排序可以表示出整合道路中的各路段的实际衔接顺序,更具体而言,本实施例可以通俗的将一条整合道路所包含的所有路段分别对应的索引信息理解为一条公交线路中的顺序排列的站号。另外,本实施例的装置中的预先存储的整合道路信息可以包括该整合道路中的每一个路段的索引信息以及各路段的坐标信息等。

由此,计算模块410可以先根据路段一的id号、路段二的id号,从预先存储的整合道路信息中与该路段一/路段二的道路标识相同的整合道路中的路段id与索引信息的对应关系中确定出路段一和路段二分别对应的索引信息,再将路段一的索引信息与路段2的索引信息之间的路段确定为中间路段,该多个中间路段构成的路径即为中间路径。

如对于高速公路而言,路段一和路段二对应的索引信息可以具体为进入高速的入口标识信息或者驶出高速的出口标识信息等;再如对于城市环路而言,路段一和路段二对应的索引信息可以为由辅路进入主路的入口标识信息或者由主路到辅路的出口标识信息等。

本实施例不限制路段一和路段二对应的索引信息的具体表现形式。在确定出路段一和路段二分别对应的索引信息之后,计算模块410可以利用这两个索引信息从预先存储的整合道路信息中获取这两个索引信息之间的所有路段,这两个索引信息之间的所有路段即为上述用于连通当前计算获得的第一最短路径中的路段一之前的路径和第二最短路径中的路段二之前的路径的具有路段一/路段二的道路标识的中间路段,计算模块410将获取到的多个中间 路段连接为中间路径。

本实施的一个具体的例子,北京市二环路由于红绿灯、收费站、交叉路口、车道数量以及出入口等多种因素而被划分为具有不同道路属性的数十条甚至上百个路段,本实施例可以将北京市二环路内环/外环作为一条整合道路,并存储该整合道路信息,如本实施例的装置存储组成该整合道路的所有路段的索引信息等;在计算模块410判断出当前计算获得的第一最短路径中的路段一和第二最短路径的路段二的道路名称均为北京市二环路内环/外环时,计算模块410应获取第一最短路径中的路段一所对应索引信息(如索引值为3),并获取第二最短路径中的路段二所对应的索引信息(如索引值为10),然后,计算模块410利用这两个索引信息从预先存储的北京市二环路内环/外环的整合道路信息中获取这两个索引信息之间的所有路段,即索引值为4-9的所有路段,索引值为4-9的所有路段即为上述用于连通当前计算获得的第一最短路径中的路段一之前的路径和第二最短路径中的路段二之前的路径的所有具有北京市二环路内环/外环这一道路名称的中间路段,计算获取模块410可以将索引值为4-9的各中间路段拼接为中间路径。

本实施例中的具有相同道路标识的路段通常是指具有相同道路名称的路段,即本实施例中的道路标识可以为道路名称;道路集合中的每一个路段都具有该路段所在道路的道路名称。

需要注意的是,本发明的一部分可以被应用为计算机程序产品,例如计算机程序指令,当其被智能电子设备(如智能移动电话或者平板电脑等)执行时,通过该智能电子设备的操作可以调用或者提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或者可移动的记录介质中,和/或通过广播或者其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的智能电子设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明并不限于上述示范性实施例的细 节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将本发明实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此,旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。而不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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