导航方法、导航终端和导航系统
技术领域
本发明涉及导航技术领域,尤其涉及一种导航方法、导航终端和导航系统。
背景技术
传统的导航方式是采用导航终端实现的,导航终端预先存储有地图数据,导航终端会根据预存的地图数据结合起点和目的地信息计算出导航路径,并根据导航路径通过地图匹配、路径推测等算法进行导航。可见,传统的导航方式需要导航终端具有大容量存储空间和较强的计算能力,导致导航终端成本高,且需用户经常对存储的地图数据进行更新,用户体验很差,使得导航技术的应用推广受到很多限制。
目前,采用导航服务端和导航终端相结合的架构实现网络导航将是一种趋势,但是如何具体实现目前还存在很多问题,导致网络导航还不能被真正的应用推广。
发明内容
本发明的实施例提供了一种导航方法、导航终端和导航服务器,以解决传统导航技术成本高、用户体验差的问题。
本发明实施例提供一种导航方法,预先从导航服务器获取导航路径,所述方法包括如下步骤:
按预置时间间隔,获取用户位置;
根据用户位置和所述导航路径之间的相对位置进行导航。
本发明实施例还提供了一种导航终端,包括:
路径获取模块,用于从导航服务器获取导航路径;
位置获取模块,用于按预置时间间隔,获取用户位置;
导航模块,用于根据用户位置和所述导航路径之间的相对位置进行导航。
本发明实施例还提供了一种导航系统,包括存储有地图数据的导航服务器,用于根据用户的目的地和当前位置信息结合所述地图数据计算导航路径;和,上述导航终端。
所述导航系统还包括呼叫中心,用于从所述导航终端接收包括用户目的地信息的用户请求,并将所述目的地信息发送至所述导航服务器。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
附图说明
图1示出了本发明实施例提供的导航方法流程图;
图2示出本发明实施例计算用户位置到几何道路匹配距离的方法流程图;
图3示出本发明实施例采用距离发散方法确定用户位置与几何道路之间的最优匹配几何道路的方法流程图;
图4示出了本发明实施例中采用距离发散方法确定用户位置与几何道路之间的最优匹配几何道路的方法实例流程图;
图5示出了本发明实施例中采用分段循环匹配的方法判断所述用户是否回到所述导航路径上的方法实例流程图;
图6示出了本发明实施例提供的导航终端结构框图;
图7示出了本发明实施例提供的一种导航系统结构框图;
图8示出了本发明实施例提供的另一种导航系统结构框图;
图9示出了本发明实施例提供的一种导航方法流程图;
图10示出了本发明实施例提供的一种导航方法流程图。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
如图1所示,本实施例提供了一种导航方法,该方法包括如下步骤:
S11、导航终端预先从导航服务器获取导航路径。
导航服务器存储有丰富的地图数据,其具备强大的计算能力,可以在获得用户的起始位置和目的地信息后,结合地图数据计算出导航路径。
需要说明的是,在一次导航之前导航服务器会根据用户的起始位置和目的地址结合地图数据计算出本次的导航路径,导航终端预先从导航服务器获取本次导航起始位置和目的地之间的导航路径,由于地图数据被放置在导航服务器端且由导航服务器计算导航路径,因此,导航终端无需具备大的存储空间及高的计算能力,降低了导航终端的成本。
S12、按预置时间间隔,导航终端获取用户位置。
在本发明实施例中,所述导航终端可以是集成在车辆上的导航终端,也可以是手持导航仪或者手机、PND等具备导航功能的导航终端。导航终端包括有GPS模块,实际应用中也可以是其它位置获取模块,它可以在导航过程中以固定的时间间隔获取用户的位置信息,也称GPS点。
S13、导航终端根据用户位置和所述导航路径之间的相对位置进行导航。
根据用户位置和所述导航路径之间的相对位置进行导航具体包括:
判断所述用户位置和导航路径之间的相对位置是否满足预定条件,如果是,则按照所述导航路径进行导航;否则,执行偏离处理。
偏离处理是指用户偏离上述导航路径时导航终端所作的处理,该处理过程的第一种实现方式是:
判断用户是否回到所述导航路径上,是则按照所述导航路径进行导航,否则,返回步骤S12在导航终端获取到用户位置后执行步骤S13。
偏离处理的第二种实现方式是:
显示提示信息,提示用户是否重新下载导航路径,若用户选择否,则执行前文所述第一种偏离处理方式,若用户选择是,则导航终端接收新的导航路径,并执行步骤S12及步骤S13。
在实际应用中,通常是在导航设备的触控屏上显示选择窗口,用户可以在 该选择窗口上选择“是”,即按现有导航路径继续进行导航,或者“否“,即重新下载新的导航路径。
当然,所述偏离处理还可以有第三种实现方式,与第二种实现方式的区别在于:不经用户选择,直接从导航服务器获取新的导航路径,然后再执行步骤S12及步骤S13。
在实际应用中,优选本发明实施例提供的前两种实现方式。
以上是本发明实施例提供的导航方法及导航过程中出现偏离情况时的处理方法,以下对本发明实施例提供的如何判断用户位置和导航路径之间相对是否满足预定条件的具体实现方式进行详细介绍。
一般来说,一条导航路径包括至少一条导航路段,一条导航路段包括至少一条几何道路。其中,几何道路是一条直线段向量,一条导航路段通常由一条或多条几何道路组成。
据此,本发明实施例提供的第一种判断用户位置和导航路径之间的相对位置是否满足预定条件的方法包括:
根据所述用户位置,确定所述用户位置对应的最优匹配几何道路;
判断所述用户位置与其最优匹配几何道路之间的匹配距离与预定距离的大小关系;
若连续判断得到预设第一数量个用户位置到其最优匹配几何道路之间的匹配距离大于预定距离,则确定用户偏离导航路径,否则确定所述用户位置和导航路径之间的相对位置满足预定条件。
在实际应用中,具体的实现方式可以是:
连续获取第一预设数量的用户位置(比如连续获取5个用户位置),确定各用户位置对应的最优匹配几何道路;
判断各用户位置与对应最优匹配几何道路之间的匹配距离是否均大于预定距离(预设距离比如可以是50米),是则确定用户位置和导航路径之间的相对位置不满足预定条件,否则确定用户位置和导航路径之间的相对位置满足预定条件。
本发明实施例提供的第二种判断用户位置和导航路径之间的相对位置满足预定条件的方法包括:
根据所述用户位置,确定所述用户位置对应的最优匹配几何道路;
判断所述用户位置与其最优匹配几何道路之间的角度差与预定角度的大小关系;
若连续判断得到预设第二数量个用户位置到其最优匹配几何道路之间的角度大于预定角度,则确定所述用户偏离导航路径,否则确定所述用户位置和导航路径之间的相对位置满足预定条件。
在实际应用中,具体的实现方式可以是:
连续获取第二预设数量的用户位置(比如连续获取8个用户位置),确定各用户位置对应的最优匹配几何道路;判断各用户位置与对应最优匹配几何道路之间的角度差是否均大于预定角度(预定角度比如可以是60度),是则确定用户位置和导航路径之间的相对位置不满足预定条件,否则确定用户位置和导航路径之间的相对位置满足预定条件。
在实际应用中,技术人员可以仅采用上述两种方法中的任意一种,实现判断用户和导航路径之间的相对位置是否满足预定条件,也可以对上述两种方法进行融合使用,比如,对部分导航路径按照第一种方法进行判断,对另一部分导航路径按照第二种方法进行判断,具体融合方式由技术人员按照技术需求进行组合,本发明实施例不再详述。
需要说明的是,第一预设数量、第二预设数量,以及预定距离、预定角度通常是根据导航所需的精确程度等信息进行确定,比如第一预设数量、第二预设数量如果越多,则说明判断结果越准确,但是判断效率会越低,预定距离、预定角度也存在同样的问题,因此,本领域技术人员可以根据导航设备的处理速度、导航技术指标等根据经验设置第一预设数量、第二预设数量,以及预定距离、预定角度的值,本发明实施例对此并不限制。
其中,所述匹配距离为:若用户位置向几何道路的投影点在几何道路上,则匹配距离为投影距离,若用户位置向几何道路的投影点在几何道路的延长线上,则匹配距离为用户位置到几何道路两端点中的最小的距离。
计算用户位置到几何道路的匹配距离具体包括:
计算用户位置到几何道路的投影长度,若所述投影长度小于等于0或所述投影长度大于所述几何道路长度,则所述用户位置的投影点为所述几何道路的 一个端点,所述一个端点到所述用户位置的距离小于所述最优匹配几何道路的另一个端点到所述用户位置的距离;否则,根据所述用户位置及所述几何道路两个端点坐标计算投影点;
计算所述用户位置到所述投影点的距离,所述距离为所述用户位置到所述几何道路的匹配距离。
举例说明:
如图2所示。ab是线段。c1、c2、c3分别表示三个不同的用户位置点。
如果把abc(其中c具体指c1、c2或c3)三个点看作是一个三角形的顶点,那么各个边可以用向量来表示。
向量积ac×ab的几何意义就是ac在ab方向上的投影长度,例如向量ac1×向量ab,那么投影长度就是ad。
所以如果投影长度小于0(ac3在ab方向上的投影长度和ab方向相反,所以长度小于0),则说明c投影在ba的延长线,例如c3;如果投影长度大于ab,则说明c投影在ab延长线,例如c2;否则投影点在ab之间,如c1。
所以计算过程如下:
设a(x0,y0)、b(x1,y1)为几何道路,c(x,y)为GPS点,则投影点为d。
那么:向量ab表示为(x1-x0,y1-y0),向量ac表示为(x-x0,y-y0)。
如果ab×ac=(y1-y0)×(y-y0)+(x1-x0)×(x-x0)小于等于零,则d的坐标为(x0,y0)。
如果ab×ac大于等于|ab|,即(y1-y0)×(y-y0)+(x1-x0)×(x-x0)>=(x1-x0)×(x1-x0)+(y1-y0)×(y1-y0),则d坐标为(x1,y1)。
否则,投影点落在ab之间,按照数学公式ad=a+投影距离进行计算。
如果投影距离为L,那么在x方向上的投影坐标为L×(x1-x0)/|ab|;
在Y方向上的投影坐标为L×(y0-y1)/|ab|;
则投影距离为(y1-y0)×(y-y0)+(x1-x0)×(x-x0)带入上面的公式,则d坐标为:
(x0+((y1-y0)×(y-y0)+(x1-x0)×(x-x0))×(x1-x0)/((x1-x0)×(x1-x0)+(y1-y0)×(y1-y0));
(y0+((y1-y0)×(y-y0)+(x1-x0)×(x-x0))×(y1-y0)/((x1-x0)×(x1-x0)+ (y1-y0)×(y1-y0))。
具体而言,确定用户位置对应的最优匹配几何道路具体包括:自初始匹配几何道路起,采用距离发散方法确定所述用户位置与几何道路之间的最优匹配几何道路;在用户初始启动时,所述初始匹配几何道路为导航路径中第一导航路段的第一几何道路,在其它时候,所述初始匹配几何道路为上一次最优匹配的几何道路。
所述距离发散方法确定用户位置与几何道路之间的最优匹配几何道路的方法为:
沿车行方向自初始匹配几何道路起,依次计算所述用户位置到几何道路的匹配距离,获得匹配距离的变化趋势,若所述变化趋势为递减或先递减后递增,则选择匹配距离最短的几何道路作为所述用户对应的最优匹配几何道路;若所述变化趋势为递增,则沿相反方向自初始匹配几何道路的下一条几何道路起依次计算所述用户位置到几何道路的匹配距离,获得该方向上自初始匹配几何道路的匹配距离的变化趋势,若所述变化趋势为递增,则选择初始匹配几何道路作为所述用户位置对应的最优匹配几何道路;若所述变化趋势为先递减后递增,则选择匹配距离最短的几何道路作为所述用户对应的最优匹配几何道路;
其中,在初始启动时,所述初始匹配几何道路为导航路径中第一导航路段的第一几何道路,在其它时候,所述初始匹配几何道路为上一次最优匹配几何道路。
如图3所示,采用距离发散方法确定用户位置与几何道路之间的最优匹配几何道路具体包括:
步骤A、将初始匹配几何道路确定为当前路径;
步骤B、确定用户与当前路径之间的匹配距离;
步骤C、判断确定匹配距离的次数是否达到预设次数,是则执行步骤D,否则当前路径的下一条路径存在时,将当前路径的下一条路径作为当前路径,执行步骤B,当前路径的下一条路径不存在时,执行步骤D;
步骤D、判断按查询顺序获得的匹配距离之间的关系,若关系为先递减再递增顺序,则将最优匹配几何道路确定为最短匹配距离对应的几何道路;若关系为递增顺序,则从初始匹配几何道路反向进行距离匹配,重复步骤A、步骤 B、步骤C,若按反向查询顺序获得的匹配距离之间的关系为递增顺序时,确定最优匹配几何道路为所述初始匹配几何道路;若按反向查询顺序获得的匹配距离之间的关系为先递减再递增顺序,则确定最优匹配几何道路为反向查询获得的最短匹配距离所对应的几何道路。
在确定用户位置与几何道路之间最优匹配几何道路的过程中,如果已经计算到某导航路段的最后一条几何道路,则下一条几何道路为下一条导航路段的第一条几何道路。
预设次数可以根据具体应用场景进行设置,比如可以设置为3次,即连续判断3条几何道路来确定最优匹配几何道路。当然,预设的次数也可以是不确定的,只要能够获得某方向上匹配距离的变化趋势即可。
需要说明的是,采用距离发散方法其主要核心思想是:如果连续三条(此处以3条为例)几何道路对应的匹配距离是递增的,则说明用户在逐渐远离;如果连续三条几何道路对应的匹配距离是先递减再递增,则说明用户先逐渐靠近再逐渐远离,以此来寻找最短的匹配距离,最短的匹配距离所对应的几何道路即为最优匹配几何道路。
为了方便在下一次匹配中确定初始匹配几何道路,优选地,本发明实施例还包括记录最短匹配距离对应的导航路段号和几何道路号。
下面通过具体的例子来说明本发明实施例采用距离发散方法确定用户位置与几何道路之间的最优匹配几何道路的方法。如图4所示。假设上一次匹配的道路为第三个导航路段最后一条几何道路r1,该方法包括如下步骤:
1、计算出GPS点与上一次匹配道路r1的匹配距离d1为11米。
2、GPS点与第四个导航路段第一条几何道路r2的匹配距离d2为9米。匹配距离小于d1,故记录下导航路段号为四,几何道路号为一。
3、GPS点与第四个导航路段第二条几何道路r3的距离d3为13米。该匹配距离大于d2,继续计算GPS点与下一条几何道路的距离。
4、GPS点与第四个导航路段第三条几何道路r4的匹配距离d4为24米,该匹配距离大d3,继续计算GPS点与下一条几何道路的距离。
5、GPS点与第四个导航路段第四条几何道路r5的距离d5为37米,该匹配距离大于d4。由于连续三次计算出的匹配距离是递增的情况,说明用户车辆与行 进方向几何道路之间的距离越来越远,没有必要继续计算下去,停止计算。记录第四个导航路段第一条几何道路r2为备选最优匹配道路。
由于连续的几何道路与GPS点的距离是先减小后递增,则说明计算过程中,先靠近最优匹配路径,然后远离最优匹配路径。那么r2为本次匹配的最优匹配道路。由于GPS点向r2的投影点在r2上,故GPS点到r2的投影点(即垂足)为当前匹配位置,在导航路径的相应位置上绘制用户车辆的图标,并进行导航播报。
本发明实施例中,判断所述用户位置和导航路径之间的相对位置满足预定条件时,按照所述导航路径进行导航,其中,按照所述导航路径进行导航的方法为:
将用户位置向所述最优匹配几何道路进行投影,若所述投影点落在所述几何道路上,则将所述投影点设为当前匹配位置进行导航;若所述投影点落在所述几何道路的延长线上,则将所述最优匹配几何道路的一个端点设为当前匹配位置进行导航,所述一个端点到所述用户位置的距离小于所述最优匹配几何道路的另一个端点到所述用户位置的距离。
具体的:
首先,确定当前匹配位置。当前匹配位置是指用户当前在所述导航路径的具体位置。
具体的,若用户位置向所述最优匹配几何道路的投影点在该几何道路上,则将用户位置到所述最优匹配几何道路的投影点设为当前匹配位置;若用户位置向所述最优匹配几何道路的投影点在该几何道路的延长线上,则将用户位置到所述最优匹配几何道路两端点中距离最小的端点设为当前匹配位置。
然后,按照所述当前匹配位置进行导航。比如,按照当前匹配位置进行语音导航,如“向左前方行驶”、“向右前方行驶”、“继续前行”等等。
本发明实施例中,当所述用户位置和导航路径之间的相对位置不满足预定条件时,执行偏离处理。
实际应用中,在偏离路径状态下,导航系统会停止导航播报,并发送偏离路径的消息给用户。用户此时有两种选择,第一种是按下“重新下载导航路径”按钮,通过无线网络,从导航路径服务器下载一条基于当前位置作为起点的新 的导航路径,然后程序重新进行道路匹配。第二种选择是需要程序根据接收到的GPS点信号(即用户位置信息)来判断用户是否有重新回到导航路径。如果是继续偏离状态,则继续等待接收GPS点信号再次判断,如果已经回到导航路径,则计算当前匹配位置,然后开始导航播报。
现有技术中,判断用户是否回到导航路径上的方法通常是需要对每一个GPS点与每一条几何道路进行匹配,找到最优匹配道路。由于导航终端的局限性,该操作可能占用大量的CPU时间,导致导航终端性能变慢。当导航路径较长时,该操作所需要的时间会大于GPS点接收的时间,从而造成GPS点信号延迟处理。为了解决现有技术中判断用户是否回到导航路径上所存在的上述问题,本发明实施例中,判断所述用户是否回到所述导航路径上,优选的,采用分段循环匹配的方法进行判断,包括:
按预设规则,对构成所述导航路径的导航路段进行分组;
根据所述用户位置,从所述分组中查找所述用户位置的最优匹配几何道路,若所述用户位置到所述最优匹配几何道路的匹配距离及角度符合预设的回归条件,则确定所述用户回到导航路径,否则,等待获取下一个用户位置。
具体的:
首先,按预设规则对整条导航路径进行分组,每一组作为搜索组。所述采用分组循环匹配方法判断所述用户端是否回到所述导航路径上包括如下步骤:
A、将用户偏离所述导航路径时的导航路段所在搜索组确定为当前搜索组;
B、获取用户位置,在当前搜索组中确定最优匹配几何道路;
C、当所述用户位置与所述最优匹配几何道路之间满足回归条件时,确定所述用户回到所述导航路径上,结束;否则,在行进方向和反方向上与当前搜索组相邻的搜索组存在时,分别将与当前搜索组相邻的两个搜索组确定为当前搜索组,执行步骤B,在行进方向和反方向上与当前搜索组相邻的搜索组不存在时,将用户偏离所述导航路径时的导航路段所在搜索组确定为当前搜索组,执行步骤B。
需要说明的是,在上述步骤中,在当前搜索组中确定最优匹配几何道路的方法如前所述确定最优匹配几何道路的方法,即自初始匹配几何道路起,采用距离发散方法确定所述用户位置与几何道路之间的最优匹配几何道路;在用户 初始启动时,所述初始匹配几何道路为导航路径中第一导航路段的第一几何道路,在其它时候,所述初始匹配几何道路为上一次最优匹配的几何道路。
其中,回归条件包括:
所述用户位置与所述最优匹配几何道路之间的匹配距离小于或等于所述预定距离;且,所述用户位置与所述最优匹配几何道路之间的角度差小于或等于所述预定角度。
具体的,判断用户是否回到导航路径上是通过计算GPS点对应的最优匹配道路,如果GPS点与最优匹配道路的距离小于50米,并且角度差小于60度,则认为用户重新回到导航路径上。
在实际应用中,上述过程具体为,首先需要对导航路段进行分段。车辆偏离路径时,记录下当前的导航路段。然后对整条导航路径进行分段,从记录下的导航路段开始,分别沿着车辆行进方向和反方向,每5个导航路段划分为一个搜索组,当划分到始端或者末端剩余不足五个导航路段,也作为一个搜索组。
在划分好搜索组以后,当导航终端接收到GPS点信号时,分别在车辆行进方向和反方向上的两个搜索组上进行路径匹配。在找到最优匹配的几何道路,并判断当所述导航终端位置与所述最优匹配几何道路之间的满足回归条件时,说明车辆回到导航路径上,则停止搜索。否则,继续等待下次GPS点信号的到来。
当下次GPS点信号到来时,在车辆行进方向和反方向搜索与上一次搜索组相邻的两个搜索组,找到最优匹配道路,判断是否满足回归条件,若不满足回归条件,则说明当前用户还未回到导航路径上,重复上面的过程,直到两个方向的搜索组都匹配一遍,此时从车辆偏离路径的地方开始重新执行上述步骤。
下面通过具体的例子来说明本发明实施例采用分段循环匹配的方法判断所述用户是否回到所述导航路径上。如图5所示。假设整个导航路径有28个导航路段,车辆行驶到第十三个导航路段的时候偏离当前导航路径。该方法包括如下步骤:
1、划分搜索组。从第十三个导航路段开始,分别在车辆行进方向和反方向上每五个导航路段作为一个搜索组。划分结果是:1、2;3、4、5、6、7;8、9、10、11、12;13、14、15、16、17;18、19、20、21、22;23、 24、25、26、27;28。它们分别对应的搜索组编号为:A、B、C、D、E、F、G。
2、接收到GPS点信号后,先在搜索组C、D中找到最优路径为第十三个导航路段的第二条几何道路。由于GPS点离最优路径的匹配距离为67米,大于预定距离,故停止搜索,等待下次GPS点信号的到来。
3、导航终端再次接受到GPS点信号。此时在B、E中搜索到得最优道路为第十八个导航路段的第一条几何道路。但由于GPS点离最优道路的匹配距离为138米,大于预定距离,停止本次搜索,等待下次GPS点信号的到来。
4、再次接收到GPS点信号后,在搜索组A、F中搜索得道最优道路为第二条导航路径的第一条几何道路。GPS点与最优匹配道路的匹配距离为362米,大于预定距离,停止本次搜索,等待下次GPS点信号的到来。
5、新的GPS点信号到来,由于搜索组已经找到头和尾。则从搜索组C、D重复上述搜索过程。
在某一次GPS点信号到来时,如,在搜索组C、D中,找到最优匹配道路为第十六个导航路段的第四条几何道路,并且GPS点与它的匹配距离为13米,满足正常匹配要求,说明用户车辆已经回到导航路径上,则退出搜索,开始正常导航,按照当前匹配位置进行导航播报。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
参见图6,本发明实施例提供了一种导航终端,包括:
路径获取模块601,用于从导航服务器获取导航路径。
导航服务器存储有丰富的地图数据,其具备强大的计算能力,可以在获得用户的起始位置和目的地信息后,结合地图数据计算出导航路径。
需要说明的是,在一次导航之前导航服务器会根据用户的起始位置和目的地址结合地图数据计算出本次的导航路径,导航终端会预先从导航服务器获取本次导航起始位置和目的地之间的导航路径,这样,在实际应用中,便可以在本次导航过程中,根据不同时刻获取的用户位置与该导航路径之间的相对位置进行导航,而无需每获取到用户位置前执行从导航服务器获取导航路径的操作。
位置获取模块602,用于按预置时间间隔,获取用户位置。
通常,导航终端会被设置在用户车辆上。导航终端包括有GPS模块,实际应用中也可以是其它位置获取模块,可以在导航过程中每隔固定时间间隔获取用户的当前位置信息,也称GPS点。
导航模块603,用于根据用户位置和所述导航路径之间的相对位置进行导航。
根据用户位置和所述导航路径之间的相对位置进行导航具体包括:
判断所述用户位置和导航路径之间的相对位置满足预定条件时,按照所述导航路径进行导航;否则,执行偏离处理。
在本发明的一个实施例中,所述导航模块603包括:
判断子模块,用于判断所述用户位置和导航路径之间的相对位置是否满足预定条件;
导航子模块,用于当所述判断子模块的判断结果为满足预定条件时,按照所述导航路径进行导航;
偏离子模块,用于当所述判断子模块的判断结果为不满足预定条件时,执行偏离处理。
可选的,所述偏离子模块包括:
回归查询单元,用于判断所述用户是否回到所述导航路径上,是则按照所述导航路径进行导航。
可选的,所述偏离子模块还包括:
选择导航单元,用于提示用户是否重新下载导航路径,若用户选择否,则启动所述回归查询单元,否则,从导航服务器获取新的导航路径并按照所述新的导航路径进行导航。
在本发明的一个实施例中,所述导航路径包括至少一条导航路段,所述导航路段包括至少一条几何道路,所述判断子模块包括:
确定子单元,用于根据所述用户位置,确定所述用户位置对应的最优匹配几何道路;
第一判断子单元,用于判断所述用户位置与其最优匹配几何道路之间的匹配距离与预定距离的大小关系;若连续判断得到预设第一数量个用户位置到其最优匹配几何道路之间的匹配距离大于预定距离,则确定用户偏离导航路径,否则确定所述用户位置和导航路径之间的相对位置满足预定条件。
在本发明的另一个实施例中,所述导航路径包括至少一条导航路段,所述导航路段包括至少一条几何道路,所述判断子模块包括:
确定子单元,用于根据所述用户位置,确定所述用户位置对应的最优匹配几何道路;
第二判断子单元,用于判断所述用户位置与其最优匹配几何道路之间的角度差与预定角度的大小关系;若连续判断得到预设第二数量个用户位置到其最优匹配几何道路之间的角度大于预定角度,则确定所述用户偏离导航路径,否则确定所述用户位置和导航路径之间的相对位置满足预定条件。
其中,所述匹配距离为:若用户位置向几何道路的投影点在几何道路上,则匹配距离为投影距离,若用户位置向几何道路的投影点在几何道路的延长线上,则匹配距离为用户位置到几何道路两端点中的最小的距离。
计算用户位置到几何道路的匹配距离具体包括:
计算用户位置到几何道路的投影长度,若所述投影长度小于等于0或所述投影长度大于所述几何道路长度,则所述用户位置的投影点为所述几何道路的一个端点,所述一个端点到所述用户位置的距离小于所述最优匹配几何道路的另一个端点到所述用户位置的距离;否则,根据所述用户位置及所述几何道路两个端点坐标计算投影点;
计算所述用户位置到所述投影点的距离,所述距离为所述用户位置到所述几何道路的匹配距离。
优选的,所述确定子单元具体采用距离发散方法确定所述用户位置与几何道路之间的最优匹配几何道路。
具体的,所述确定子单元具体用于:
沿车行方向自初始匹配几何道路起,依次计算所述用户位置到几何道路的匹配距离,获得匹配距离的变化趋势,若所述变化趋势为递减或先递减后递增,则选择匹配距离最短的几何道路作为所述用户对应的最优匹配几何道路;若所述变化趋势为递增,则沿相反方向自初始匹配几何道路的下一条几何道路起依次计算所述用户位置到几何道路的匹配距离,获得该方向上自初始匹配几何道路的匹配距离的变化趋势,若所述变化趋势为递增,则选择初始匹配几何道路作为所述用户位置对应的最优匹配几何道路;若所述变化趋势为先递减后递增,则选择匹配距离最短的几何道路作为所述用户对应的最优匹配几何道路;
其中,在初始启动时,所述初始匹配几何道路为导航路径中第一导航路段的第一几何道路,在其它时候,所述初始匹配几何道路为上一次最优匹配几何道路。
可选的,所述导航子模块包括:
当前匹配位置设置单元,用于当所述判断子模块的判断结果为满足预定条件时,将用户位置向所述最优匹配几何道路进行投影,若所述投影点落在该几何道路上,则将所述投影点设为当前匹配位置;若所述投影点落在该几何道路的延长线上,则所述最优匹配几何道路的一个端点设为当前匹配位置,所述一个端点到所述用户位置的距离小于所述最优匹配几何道路的另一个端点到所述用户位置的距离。
具体的,当前匹配位置设置单元用于当所述判断子模块的判断结果为满足预定条件时,若用户位置向所述最优匹配几何道路的投影点在该几何道路上,则将用户位置到所述最优匹配几何道路的投影点设为当前匹配位置;若用户位置向所述最优匹配几何道路的投影点在该几何道路的延长线上,则将用户位置到所述最优匹配几何道路两端点中距离最小的端点设为当前匹配位置。
以及,导航单元,用于按照所述当前匹配位置进行导航。
优选的,所述回归查询单元具体采用分段循环匹配的方法判断所述用户是否回到所述导航路径上,是则按照所述导航路径进行导航。
所述回归查询单元具体包括:
分组子单元,用于按预设规则,对构成所述导航路径的导航路段进行分组;
查询子单元,用于根据所述用户位置,从所述分组中查找所述用户位置的最优匹配几何道路,若所述用户位置到所述最优匹配几何道路的匹配距离及角度符合预设的回归条件,则确定所述用户回到导航路径,否则,等待获取下一个用户位置。
需要说明的是,本导航终端实施例中的各功能模块或者各功能单元的工作原理和处理过程可以参见上述方法实施例中的相关描述,此处不再赘述。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
参见图7,本发明实施例提供了一种导航系统,包括:
存储有地图数据的导航服务器701,用于根据用户的目的地和当前位置信息结合所述地图数据计算导航路径;和,上述实施例中所述的导航终端702。
导航服务器存储有丰富的地图数据,其具备强大的计算能力,可以在获得用户的起始位置和目的地信息后,结合地图数据计算出导航路径。
需要说明的是,在一次导航之前导航服务器会根据用户的起始位置和目的地址结合地图数据计算出本次的导航路径,导航终端会预先从导航服务器获取本次导航起始位置和目的地之间的导航路径,这样,在实际应用中,便可以在本次导航过程中,根据不同时刻获取的用户位置与该导航路径之间的相对位置进行导航,而无需每获取到用户位置前执行从导航服务器获取导航路径的操作。
本发明实施例中,导航终端预先从导航服务器获取导航路径,在导航过程中,获取用户位置;根据用户位置和所述导航路径之间的相对位置进行导航。具体的实现步骤和方式请参见方法实施例和装置实施例中的相关描述,此处不再赘述。
优选的,参见图8,本发明实施例提供的导航系统,还包括呼叫中心703,用于从所述导航终端702接收包括用户目的地信息的用户请求,并将所述目的地信息发送至所述导航服务器701。
相应的,所述导航服务器701具体包括:
获取单元,用于从所述呼叫中心获取用户的目的地信息,和从所述导航终端获取用户的当前位置信息;
计算单元,用于根据所述用户的目的地和当前位置信息结合所述地图数据计算导航路径。
基于导航服务端和导航终端相结合的架构,即网络导航,是一种成本低廉,基于GPS(Global Position System;全球定位系统)信号以及通过GPRS(GeneralPacketRadioService,通用分组无线业务)通讯实现车辆导航的方法。在本发明的一个实施例中,网络导航系统可以由导航服务器、导航终端、呼叫中心(Callcenter)三部分组成。其中,导航服务器拥有丰富的地图数据和较强的运算能力。Callcenter主要响应用户请求以及向导航服务器发送路径请求。导航终端主要完成GPS定位和导航播报,其上不需要存储地图数据,及对其运算能力的要求也不高,因此,网络导航的导航终端通常成本较低廉。
参见图9,本发明实施例还提供一种导航方法,其中导航服务器存储有地图数据,所述方法包括:
S901:导航服务器获取用户的目的地和当前位置信息。
S902:导航服务器结合所述地图数据计算导航路径,以便导航终端获取所述导航路径,并根据获取的用户位置和所述导航路径之间的相对位置进行导航。
其中,导航终端获取导航路径,并根据获取的用户位置和所述导航路径之间的相对位置进行导航的具体实施步骤和处理过程可以参见上述方法实施例中的相关描述,此处不再赘述。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务 器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
需要说明的是,在本发明的一个实施例中,网络导航系统可以由导航服务器、导航终端、呼叫中心(Callcenter)三部分组成。其中,导航服务器拥有丰富的地图数据和较强的运算能力。Callcenter主要响应用户请求以及向导航服务器发送路径请求。导航终端主要完成GPS定位和导航播报,其上不需要存储地图数据,及对其运算能力的要求也不高,因此,网络导航的导航终端通常成本较低廉。
进一步的,参见图10,本发明实施例还提供了一种基于导航服务器、导航终端、呼叫中心架构的导航方法,其中导航服务器存储有地图数据,所述方法包括:
S1001:导航终端向呼叫中心发起用户请求,所述用户请求中携带用户的目的地信息和导航终端的设备标识。
需要说明的是,每个导航终端后会具有唯一的设备标识,以示区分,通常,设备标识会采用设备号的形式实现。
S1002:呼叫中心在接收到用户请求后,向导航服务器发送路径请求,所述路径请求中携带有用户的目的地信息和导航终端的设备标识。
S1003:导航服务器在接收到上述路径请求后,向呼叫中心返回响应消息。
S1004:呼叫中心在接收到上述响应消息后,向导航终端返回响应消息。
在实际应用中,导航终端向呼叫中心发起用户请求具体可以是向呼叫中心打电话,而当导航终端接收到呼叫中心返回的响应消息后,挂机结束本次请求。当然,实际应用中还可以采用其它具体实现方式实现向呼叫中心发起用户请求,并结束本次请求,本发明实施例对此并不限制。
S1005:导航终端向导航服务器发送匹配消息,所述匹配消息中携带用户的当前位置信息和导航终端的设备标识。
S1006:导航服务器匹配设备标识,获取所述导航终端对应的目的地和当 前位置信息,并结合地图数据计算导航路径。
通常情况下,一个导航服务器会对应多个导航终端,相应的,导航终端在需要进行导航时,都会向其对应的导航服务器发起用户请求,以便获取导航路径。而对于导航服务器而言,导航服务器通常情况下会接收到多个导航终端的用户请求,故当导航服务器在接收到导航终端发送的用户的当前位置信息和导航终端的设备标识时,便会匹配当前导航终端的设备标识和之前从呼叫中心接收到的设备标识,从而获取到同一导航终端对应的目的地和当前位置信息,并结合地图数据计算当前导航终端请求的导航路径。
S1007:导航服务器将导航路径发送至该设备标识对应的导航终端。
S1008:导航终端获取用户位置,根据用户位置和所述导航路径之间的相对位置进行导航。
其中,导航终端获取用户位置,并根据用户位置和所述导航路径之间的相对位置进行导航的具体实施步骤和处理过程可以参见上述方法实施例中的相关描述,此处不再赘述。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
根据本发明实施例,基于导航服务端和导航终端相结合的架构,由导航服务器来计算导航路径,使得对导航终端的要求大大降低,不必要求其一定要具备高的计算能力,降低了导航终端的成本;另外,地图数据被放置在导航服务器端进行导航路径的计算,导航终端无需存储地图数据,仅需根据获取的用户位置和导航路径之间的相对位置便可以实现导航,使得导航终端无需具备大的存储空间,降低了导航终端的成本,同时也无需实时对地图数据进行更新,大大提高了用户体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以保存于一计算机可读取保存介质中。所述的保存介质,如:ROM/RAM、磁碟、光盘等。
以上对本发明所提供的导航方法、导航终端和导航系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。