闭合路线的获取方法和装置与流程

文档序号:15489310发布日期:2018-09-21 20:18阅读:272来源:国知局

本发明涉及电子地图技术领域,尤其涉及一种闭合路线的获取方法和装置。



背景技术:

随着导航技术的不断发展,可提供的服务也越来越多,比如:在用户输入起点位置和终点位置后,可为用户发送两点之间驾车、公交、骑行、步行和火车等出行路线,为用户的工作和生活带来极大的便利。

现有技术中,在用户设置了起点位置和终点位置的基础上,可以计算出两点之间的最短路线。

然而,在一些特定的场景下,比如跑步场景,用户可能需要的不是最短路线,而是符合预设长度的闭合路线,例如“圈”状路线。



技术实现要素:

本发明提供一种闭合路线的获取方法和装置,用于获取满足用户所需长度的闭合路线。

第一方面,本发明提供一种闭合路线的获取方法,包括:

接收用户输入的路线请求消息,所述路线请求消息中包含用户位置以及用户所需的路线长度;

根据所述用户位置,在地图上确定距离所述用户位置最近的路段的起点和终点;

在所述地图上确定从所述起点到所述终点之间的第一路线,所述第一路线的长度等于所述用户所需的路线长度与所述最近的路段长度之间的差值;

将所述第一路线与所述最近的路段形成闭合路线;

向所述用户输出所述闭合路线。

可选的,所述在所述地图上确定从所述起点到所述终点之间的第一路线,包括:

采用启发式搜索处理过程,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,所述采用启发式搜索处理过程,在所述地图上确定从所述起点到所述终点之间的第一路线,包括:

从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理,并且,从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理;

根据所述正向搜索处理得到的路线和所述反向搜索处理得到的路线,确定所述第一路线。

可选的,从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理,并且,从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理,包括:

将所述起点插入正向开启列表;

根据所述正向开启列表,以及预设代价计算公式,在所述地图上执行所述正向搜索处理;

将所述终点插入反向开启列表;

根据所述反向开启列表,以及所述预设代价计算公式,在所述地图上执行所述反向搜索处理;

相应的,所述根据所述正向搜索处理得到的路线和所述反向搜索处理得到的路线,确定所述第一路线,包括:

若所述正向搜索处理与所述反向搜索处理均处理到相同的节点,并且所述正向搜索处理得到的路线长度与所述反向搜索处理得到的路线长度之和满足第一路线的长度要求,则确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线。

可选的,所述确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线之后,还包括:

确定所述第一路线的路线形状是否满足平滑曲线要求;

若不满足,则重新进行所述启发式搜索处理过程。

可选的,若所述路线请求消息为用户输入的更换路线请求消息,则所述确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线之后,还包括:

确定所述第一路线是否与用户发送的前一次路线请求消息所得到的第一路线相同;

若相同,则重新进行所述启发式搜索处理过程。

可选的,所述用户位置为位置关键字;

相应的,所述根据所述用户位置,在地图上确定距离所述用户位置最近的路段的起点和终点,包括:

对所述位置关键字进行地图检索处理,得到与所述位置关键字对应的兴趣点poi的坐标;

根据所述poi的坐标,在地图上确定距离所述用户位置最近的路段的起点和终点。

可选的,所述在所述地图上确定从所述起点到所述终点之间的第一路线,包括:

根据所述用户的历史习惯,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,所述路线请求消息为导航请求消息、跑步路线请求消息。

第二方面,本发明提供一种闭合路线的获取装置,包括:

接收模块,用于接收用户输入的路线请求消息,所述路线请求消息中包含用户位置以及用户所需的路线长度;

第一确定模块,用于根据所述用户位置,在地图上确定距离所述用户位置最近的路段的起点和终点;

第二确定模块,用于在所述地图上确定从所述起点到所述终点之间的第一路线,所述第一路线的长度等于所述用户所需的路线长度与所述最近的路段长度之间的差值;

输出模块,用于将所述第一路线与所述最近的路段形成闭合路线;向所述用户输出所述闭合路线。

可选的,所述第二确定模块,具体用于采用启发式搜索处理过程,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,所述第二确定模块包括:执行单元和确定单元;

所述执行单元,具体用于从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理,并且,从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理;

所述确定单元,用于根据所述正向搜索处理得到的路线和所述反向搜索处理得到的路线,确定所述第一路线。

可选的,所述执行单元,具体用于将所述起点插入正向开启列表;

根据所述正向开启列表,以及预设代价计算公式,在所述地图上执行所述正向搜索处理;

将所述终点插入反向开启列表;

根据所述反向开启列表,以及所述预设代价计算公式,在所述地图上执行所述反向搜索处理;

所述确定单元,具体用于若所述正向搜索处理与所述反向搜索处理均处理到相同的节点,并且所述正向搜索处理得到的路线长度与所述反向搜索处理得到的路线长度之和满足第一路线的长度要求,则确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线。

可选的,所述第一确定模块,还用于确定所述第一路线的路线形状是否满足平滑曲线要求;

若不满足,则重新进行所述启发式搜索处理过程。

可选的,若所述路线请求消息为用户输入的更换路线请求消息;

所述第一确定模块,还用于确定所述第一路线是否与用户发送的前一次路线请求消息所得到的第一路线相同;

若相同,则重新进行所述启发式搜索处理过程。

可选的,所述用户位置为位置关键字时;

所述第一确定模块具体用于对所述位置关键字进行地图检索处理,得到与所述位置关键字对应的兴趣点poi的坐标;

根据所述poi的坐标,在地图上确定距离所述用户位置最近的路段的起点和终点。

可选的,所述第二确定模块还用于根据所述用户的历史习惯,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,所述路线请求消息为导航请求消息、跑步路线请求消息。

第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述闭合路线获取方法。

第三方面,本发明提供一种终端,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来实现上述闭合路线获取方法。

本发明提供的闭合路线的获取方法,在获取到用户位置和用户所需路线长度的基础上,确定距离用户位置最近的路段的起点和终点,然后根据该起点和终点确定第一路线,该第一路线和上述最近路段组成一个闭合曲线,该闭合曲线的长度正好为用户所需要的路线长度,满足了用户在需要闭合路线的场景,比如跑步场景下的需求。

附图说明

图1为本发明提供的闭合路线的获取方法的应用场景图;

图2为本发明提供的闭合路线的获取方法的实施例一的流程图;

图3为本发明提供一用户界面图;

图4为本发明提供另一用户界面图;

图5为本发明提供的闭合路线的获取方法的实施例二的流程图;

图6为本发明提供的闭合路线的获取方法的实施例二的另一流程图

图7为本发明提供的闭合路线的获取方法的实施例三的流程图;

图8为本发明提供的闭合路线的获取方法的实施例三的另一流程图;

图9为本发明提供的闭合路线的获取装置的实施例一的结构示意图;

图10为本发明提供的闭合路线的获取装置的实施例二的结构示意图;

图11为本发明提供的终端的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

现有技术中,在用户设置了起点位置和终点位置的基础上,可以计算出两点之间的最短路线。然而,在一些特定的场景下,比如跑步场景,用户可能需要的不是最短路线,而是符合预设长度的闭合路线,例如“圈”状路线。而现有技术并未公开例如“圈”状路线的闭合路线的具体获取方法。

本发明提供了一种闭合路线的获取方法,可根据用户位置和用户所需的路线长度,计算出符合该路线长度的闭合路线,满足了用户在需要闭合路线的场景,比如跑步场景下的需求。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图1为本发明提供的闭合路线的获取方法的应用场景图,可选的,本发明提供的方法可由安装有导航/定位软件的终端的处理设备如处理器执行相应的软件代码实现,也可由该终端的处理设备在执行相应的软件代码的同时,通过和服务器进行数据交互来实现。其中,终端可以是台式电脑、笔记本、个人数字助理(personaldigitalassistant,简称:pda)、智能手机和平板电脑等设备,下面的实施例均以终端为执行主体进行说明。

图2为本发明提供的闭合路线的获取方法的实施例一的流程图,如图2所示,本实施例提供的闭合路线的获取方法,包括:

s101、接收用户输入的路线请求消息,所述路线请求消息中包含用户位置以及用户所需的路线长度。

其中,用户位置可以为用户当前的位置,也可以是用户通过导航终端指定的位置。用户所需的路线长度是指用户想要获取的闭合路线的总长度。

可选的,用户可通过用户界面(userinterface,简称ui)输入上述用户位置和所需的路线长度。

s102、根据所述用户位置,在地图上确定距离所述用户位置最近的路段的起点和终点。

其中,用户的位置在地图上对应一个点,地图上每个路段都对应一条线,可根据点到线的距离的计算方法确定距离用户位置最近的路段l。

可选的,上述起点和终点的确定方法可以为:假设距离用户位置最近的路段l的两个端点为a和b,计算用户位置和端点a和距离,以及用户位置和端点b的距离,可将距离用户位置较近的端点作为起点,将距离用户位置较远的端点作为终点。

参见图3所示,o点表示用户位置,在地图上确定的与o最近的路段l的两个端点为分别a和b,经计算,端点a距离o点较近,端点b距离o点较远,因此,可将端点a作为该路段l的起点,将端点b作为该路段l的终点。

s103、在所述地图上确定从所述起点到所述终点之间的第一路线,所述第一路线的长度等于所述用户所需的路线长度与所述最近的路段长度之间的差值。

s104、将所述第一路线与所述最近的路段形成闭合路线。

参见图4所示,在地图上确定的起点a和终点b之间的第一路线为r,该第一路线r和路段l形成一个闭合的曲线,该闭合曲线的长度为用户所需要的路线长度,即第一路线的长度为用户所需的路线长度减去路段l的长度。

s105、向所述用户输出所述闭合路线。

在s104得到经过端点a和端点b的闭合曲线后,将该闭合曲线通过ui输出给用户。

本实施例提供的闭合路线的获取方法,在获取到用户位置和用户所需路线长度的基础上,确定距离用户位置最近的路段的起点和终点,然后根据该起点和终点确定第一路线,该第一路线和上述最近路段组成一个闭合曲线,该闭合曲线的长度正好为用户所需要的路线长度,满足了用户在需要闭合路线的场景,比如跑步场景下的需求。

图5为本发明提供的闭合路线的获取方法的实施例二的流程图,本实施例是进一步对上述实施例中s103的一种可实现方式的描述,如图5所述,s103具体可以包括:

s201、采用启发式搜索处理过程,在所述地图上确定从所述起点到所述终点之间的第一路线。

其中,在确定了起点和终点的基础上,采用启发式搜索可减小搜索范围,降低从起点到终点搜索过程的复杂度。

参见图6所示,可选的,采用启发式搜索处理过程确定上述第一路线的方法可以为:

s2011、从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理,并且,从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理。

s2012、根据所述正向搜索处理得到的路线和所述反向搜索处理得到的路线,确定所述第一路线。

作为一种可实现的方式,从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理中,可将所述起点插入正向开启列表,然后获取与上述起点相邻的所有节点,并将所有相邻节点也在插入正向开启列表中,然后将所述起点从正向开启列表中删除,采用预设的代价计算公式计算当前正向开启列表中所有节点的代价,取代价最小的作为待处理节点。在下次执行正向搜索处理过程中,获取上述待处理节点的所有相邻节点,并插入上述正向开启列表中,然后将上述待处理节点从正向开启列表中删除,再次采用预设的代价计算公式计算当前正向开启列表中所有节点的代价,取代价最小的作为下一个待处理节点,以此类推地进行正向搜索处理,其中预设的代价计算公式可采用现有技术的公式,在此不再赘述。

从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理中,可将所述终点插入反向开启列表,然后获取与上述终点相邻的所有节点,并将所有相邻节点也在插入反向开启列表中,然后将所述终点从反向开启列表中删除,采用预设的代价计算公式计算当前反向开启列表中所有节点的代价,取代价最小的作为待处理节点。在下次执行反向搜索处理过程中,获取上述待处理节点的所有相邻节点,并插入上述反向开启列表中,然后将上述待处理节点从反向开启列表中删除,再次采用预设的代价计算公式计算当前反向开启列表中所有节点的代价,取代价最小的作为下一个待处理节点,以此类推地进行反向搜索处理。

可选的,上述正向搜索处理和反向搜索处理的过程可交替进行。

若所述正向搜索处理与所述反向搜索处理均处理到相同的节点,并且所述正向搜索处理得到的路线长度与所述反向搜索处理得到的路线长度之和满足第一路线的长度要求,则确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线。

本实施例提供的闭合路线的获取方法,提供了一种在地图上确定从所述起点到所述终点之间的第一路线的可实现方式,即采用启发式搜索处理过程,确定第一路线;减小了搜索范围,降低了从起点到终点搜索过程的复杂度。

在沿着闭合路线跑步、骑行或者驾车时,用户往往不愿意走折返路,因此,在为用户计算闭合路线时,需尽量保证闭合路线的平滑性。

图7为本发明提供的闭合路线的获取方法的实施例三的流程图,如图7所示,在上述实施例的基础上,本实施例提供的闭合路线的获取方法,还包括:

s301、确定所述第一路线的路线形状是否满足平滑曲线要求;

s302、若不满足,则重新进行所述启发式搜索处理过程。

可选的,可以预先设置一个路线曲率,然后判断得到的第一路线的曲率是否小于该路线曲率,若是,则表明所确定的第一路线是满足平滑曲线要求的;若否,则表明所确定的第一路线不能满足平滑曲线要求的。

在判断得到第一路线不能满足平滑曲线的要求的情况下,需重新进行所述启发式搜索处理过程。

在s105中向用户输出闭合路线后,用户可能会对该闭合路线不满意,想要换一条可选的闭合路线。

图8为本实施例的另一流程图,为了使用户能够挑选到满意的闭合路线,本实施例中的路线请求消息可为用户输入的更换路线请求消息,在确定正向搜索处理得到的路线和反向搜索处理得到的路线组成所述第一路线之后,本实施例提供的方法,还包括:

s303、确定所述第一路线是否与用户发送的前一次路线请求消息所得到的第一路线相同;

s304、若相同,则重新进行所述启发式搜索处理过程。

如果用户对输出的闭合路线不满意,可以输入更换路线请求消息,终端接收到该更换路线请求消息后,可判断当前确定的第一路线是否和前一次输出的闭合路线中的第一路线是否相同,如果相同,则表明由当前确定的第一路线组成的闭合路线已经向用户输出过,需重新进行启发式搜索处理过程,以得到一条与前一次不同的第一路线。

其中,用户输入用户位置时,可输入用户位置的关键字,这种情况下,上述实施例中s102具体可以包括:

s1021、对所述位置关键字进行地图检索处理,得到与所述位置关键字对应的兴趣点poi的坐标;

s1022、根据所述poi的坐标,在地图上确定距离所述用户位置最近的路段的起点和终点。

可选的,根据poi的坐标确定距离所述用户位置最近的路段的起点和终点的方法和上述实施例类似,在此不再赘述。

可选的,除了上述实施例中根据用户的位置确定第一路线,还可根据用户的历史习惯,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,上述路线请求消息可为导航请求消息,还可为跑步路线请求消息。

本实施例提供的闭合路线的获取方法,通过确定所述第一路线的路线形状是否满足平滑曲线要求,若不满足,则重新进行所述启发式搜索处理过程,保证了输出的闭合路线的平滑度。在路线请求消息为用户输入的更换路线请求消息时,通过确定所述第一路线是否与用户发送的前一次路线请求消息所得到的第一路线相同;若相同,则重新进行所述启发式搜索处理过程,可使用户能够挑选到满意的闭合路线。

图9为本发明提供的闭合路线的获取装置的实施例一的结构示意图,如图9所示,本实施例提供的闭合路线的获取装置,包括:

接收模块801,用于接收用户输入的路线请求消息,所述路线请求消息中包含用户位置以及用户所需的路线长度;

第一确定模块802,用于根据所述用户位置,在地图上确定距离所述用户位置最近的路段的起点和终点;

第二确定模块803,用于在所述地图上确定从所述起点到所述终点之间的第一路线,所述第一路线的长度等于所述用户所需的路线长度与所述最近的路段长度之间的差值;

输出模块804,用于将所述第一路线与所述最近的路段形成闭合路线;向所述用户输出所述闭合路线。

本实施例提供的闭合路线的获取装置,可用于执行图1所示实施例中的方法,其实现原理和技术效果类似,在此不再赘述。

图10为本发明提供的闭合路线的获取装置的实施例二的结构示意图,如图10所示,本实施例提供的闭合路线的获取装置,所述第二确定模块803,具体用于采用启发式搜索处理过程,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,第二确定模块803包括:执行单元901和确定单元902;

所述执行单元901,具体用于从所述起点开始朝向所述终点方向在所述地图上执行正向搜索处理,并且,从所述终点开始朝向所述起点方向在所述地图上执行反向搜索处理;

所述确定单元902,用于根据所述正向搜索处理得到的路线和所述反向搜索处理得到的路线,确定所述第一路线。

可选的,所述执行单元901,具体用于将所述起点插入正向开启列表;

根据所述正向开启列表,以及预设代价计算公式,在所述地图上执行所述正向搜索处理;

将所述终点插入反向开启列表;

根据所述反向开启列表,以及所述预设代价计算公式,在所述地图上执行所述反向搜索处理;

所述确定单元902,具体用于若所述正向搜索处理与所述反向搜索处理均处理到相同的节点,并且所述正向搜索处理得到的路线长度与所述反向搜索处理得到的路线长度之和满足第一路线的长度要求,则确定所述正向搜索处理得到的路线和所述反向搜索处理得到的路线组成所述第一路线。

可选的,所述第一确定模块802,还用于确定所述第一路线的路线形状是否满足平滑曲线要求;

若不满足,则重新进行所述启发式搜索处理过程。

可选的,若所述路线请求消息为用户输入的更换路线请求消息,所述第一确定模块802,还用于确定所述第一路线是否与用户发送的前一次路线请求消息所得到的第一路线相同;

若相同,则重新进行所述启发式搜索处理过程。

可选的,所述用户位置为位置关键字时;

所述第一确定模块802具体用于对所述位置关键字进行地图检索处理,得到与所述位置关键字对应的兴趣点poi的坐标;

根据所述poi的坐标,在地图上确定距离所述用户位置最近的路段的起点和终点。

可选的,所述第二确定模块903还用于根据所述用户的历史习惯,在所述地图上确定从所述起点到所述终点之间的第一路线。

可选的,所述路线请求消息为导航请求消息、跑步路线请求消息。

本实施例提供的闭合路线的获取装置,可用于执行图2-图7所示任一实施例中的方法,其实现原理和技术效果类似,在此不再赘述。

图11为本发明提供的终端的硬件结构示意图。如图11所示,本实施例的终端可以包括:

输入/输出接口1001,该输入/输出接口1001可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据,上述输出的数据为上述方法实施例中输出的统称,输入的数据为上述方法实施例中输入的统称。

存储器1002,用于存储程序指令。

所述处理器1003,用于在所述程序指令被执行时实现上述任一实施例描述的方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。

本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的闭合路线的获取方法。

本发明还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得终端实施上述的闭合路线的获取方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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