本申请涉及导航技术领域,具体而言,涉及一种行程时长预测方法及装置。
背景技术
导航软件通常是指利用电子地图在车载、手持终端等设备上进行路线引导的服务软件,其可以随时为用户提供较为快速的导航服务,因此被广泛应用。
现有的导航软件对于行程时长的预测,主要是根据用户当前行驶路线的实际路况和当前行驶路线上的红绿灯等待时长来确定的。具体的,导航软件对于行程时长的预测主要是根据用户在查询预测时长的时刻的路况来预测行程时长的,没有考虑到路况随时变化的情况。所以这种预测行程时长的方式可能会存在预测的行程时长不准确的问题。
技术实现要素:
有鉴于此,本申请实施例的目的在于提供一种行程时长预测方法及装置,通过确定行驶路段的行驶时长系数预测完成所述当前行驶路线的行程时长,以提高导航预估行程时长的准确性。
第一方面,本申请实施例提供了一种行程时长预测方法,其中包括:
获取当前行驶路线的当前路况信息;
根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段;
基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段,包括:
根据所述当前路况信息确定所述当前行驶路线的拥堵程度;
基于所述当前行驶路线的拥堵程度,将所述当前行驶路线划分为至少一个行驶路段。
结合第一方面第一中可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,根据以下步骤确定所述行驶路段对应的行驶时长系数,包括:
获取任意时刻对应的完成预设行驶路程所需要的历史行驶时长;
基于任意时刻对应的历史行驶时长,确定任意时刻对应的行驶时长的变化趋势;
基于任意时刻对应的历史行驶时长的变化趋势以及预测的所述行驶路段对应的开始行驶时刻,确定所述行驶路段对应的行驶时长系数。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长,包括:
根据所述行驶路段的路程和所述行驶路段对应的预测行驶速度,确定完成所述行驶路段的行驶路段行驶时长;
确定至少一个对所述行驶路段的行驶时长和该行驶路段对应的行驶时长系数的乘积;
根据所述至少一个行驶路段分别确定的乘积之和,预测完成所述当前行驶路线的行程时长。
结合第一方面的第二种实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段,包括:
当所述行驶路段对应的所述行驶时长的变化趋势相反时,根据所述行驶时长的变化趋势和所述当前行驶路段的拥堵程度,将所述当前行驶路段划分为至少一个行驶路段。
第二方面,本申请实施例还提供一种行程时长预测装置,包括:
获取模块,用于获取当前行驶路线的当前路况信息;
分析模块,用于根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段;
处理模块,用于基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述分析模块包括:
第一确定单元,用于根据所述当前路况信息确定所述当前行驶路线的拥堵程度;
分析单元,用于基于所述当前行驶路线的拥堵程度,将所述当前行驶路线划分为至少一个行驶路段。
结合第二方面,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述处理模块包括:
获取单元,用于获取任意时刻对应的完成预设行驶路程所需要的历史行驶时长;
第二确定单元,用于基于任意时刻对应的历史行驶时长,确定任意时刻对应的行驶时长的变化趋势;
处理单元,用于基于任意时刻对应的历史行驶时长的变化趋势以及预测的所述行驶路段对应的开始行驶时刻,确定所述行驶路段对应的行驶时长系数。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器在执行所述机器可读指令时实现上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
本申请实施例提供的行程时长预测方法及装置,首先获取当前行驶路线的当前路况信息,其次根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段,最后基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。采用上述方案,可以对当前行驶路线按照预先确定的每段行驶路段对应的行驶时长系数进行规划,并对行驶路线所包含的每一段行驶路段将要花费的时间进行预测,提升整段当前行驶路线的预测时间的准确度,明显改善行程时长的预估结果。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种行程时长预测方法的流程图;
图2示出了本申请实施例所提供的确定行驶路段对应的行驶时长系数的流程图;
图3示出了本申请实施例所提供确定任意时刻对应的行驶时长的变化趋势的散点图的示意图;
图4示出了本申请实施例所提供的确定任意时刻对应的行驶时长的变化趋势的示意图;
图5示出了本申请实施例所提供的导航实际路况分析预计时间的示意图;
图6示出了本申请实施例所提供的一种行程时长预测装置的结构示意图;
图7示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的方法和装置主要应用于任何需要对行程时长进行预测的场景,如应用于导航软件中,这里的导航软件可以安装在手机或者其他移动终端上。
现有的导航软件一般是通过实际路况需要的等待时间和红绿灯的等待时间来预计完成行驶路线的时间的。但在实际应用时,因为导航软件对于行程时长的预测主要是根据用户在查询预测时长的时刻的路况来预测行程时长的,没有考虑到路况随时变化的情况。这就可能导致出现导航预计时间与实际行驶时间相差较大的情况。基于此,本申请提供的一种行程时长预测方法和装置,可以提高导航软件预计时间的准确性。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种行程时长预测方法进行详细介绍。
如图1所示,为本申请实施例提供的一种导航预计方法的流程图,其中:
s101,获取当前行驶路线的当前路况信息。
这里,当前路况信息可以是从导航软件获取的从当前行驶路线的起点到当前行驶路线的终点的实际路况信息。当前路况信息可以包括当前行驶路线的交通状况,如当前行驶路线的交通拥堵程度。另外,当前路况信息还可以包括当前行驶路线的车流量、交通信号灯位置及状态等信息。
通常情况下,导航软件可以通过以下几种方式获取当前行驶路线的当前路况信息:
第一种方式,通过与出租车公司或者公交公司合作,在车上安装全球定位系统(globalpositioningsystem,gps)和数据回传系统,将车辆的行驶状况数据回传到服务器,导航软件从服务器中获取这些行驶状况数据作为确定当前行驶路线的当前路况信息的数据源之一;
第二种方式,导航软件可以与交通部门的流量检测系统联动,实时获取各个路段的路况信息;
第三种方式,利用通过导航软件用户获取的用户原创内容(usergeneratedcontent,ugc)数据来实现对当前行驶路线的当前路况信息的实时监控。具体来说,数以亿计的导航软件用户在使用导航软件时,利用手机自带的gps、水平仪等收集的数据可以作为确定当前行驶路线的当前路况信息的因素之一。
通过上述方式中的一种或者多种结合即可确定当前行驶路线的当前路况信息。
s102,根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段。
根据前述步骤s101中已经获取的当前行驶路线的当前路况信息,比如拥堵程度,将当前行驶路线划分为至少一个行驶路段。当前行驶路线的拥堵信息可以根据红绿灯的密集程度和时长、所行驶道路的硬件条件和天气情况等因素来确定。
这里可以使用道路的拥堵程度作为划分标准,比如将拥堵程度超过一定阈值的连续时间内的道路划分为一段行驶路段,诸如此类,将当前行驶路线至少划分出一段行驶路段,如果当前行驶路线的拥堵程度比较单一时,整条当前行驶路线可以作为一段行驶路段。
s103,基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。
根据前述步骤为当前行驶路线划分出至少一条行驶路段后,获取每一条行驶路段的路程,以及行驶完成每段行驶路段的预测行驶速度。行驶完成每段行驶路段的预测行驶速度是由导航软件根据历史数据采集的不同的历史行驶速度,每段行驶路段的预测行驶速度可以取历史行驶速度的平均值或中值。行驶时长系数可以反映对应的行驶路段的预计行驶时长变化。
根据上述确定的行驶路段的路程、行驶路段对应的预测行驶速度以及行驶路段对应的行驶时长系数,来预测所述当前行驶路线的行程时长。则导航软件最后的预计时间为红绿灯数量×平均时间+行驶路段1÷预测行驶速度1×行驶时长系数1+行驶路段2÷预测行驶速度2×行驶时长系数2+……+行驶路段n÷预测行驶速度n×行驶时长系数n,其中,n为正整数。
采用上述行程时长预测方法,通过导航软件获取当前行驶路线的当前路况信息,并根据当前路况信息将当前行驶路线进行划分,对当前行驶路线按照拥堵程度进行划分可以更准确的预计整段当前行驶路线的导航时间。同时,再根据各段行驶路段对应的行驶时长系数,使各段行驶路段的预计行驶时间更为准确,并确定最终导航软件对当前行驶路线的预计时间。利用每段行驶路段对应的行驶时长系数,明显的改善了导航软件的行程时长预估结果。
如图2所示,为本申请实施例提供的确定行驶路段对应的行驶时长系数的流程图,其中:
s201,获取任意时刻对应的完成预设行驶路程所需要的历史行驶时长。
这里的预设行驶路程可以是任意选择的一段路程,预设行驶路程需要要满足以下几个约束条件:
首先是行驶路程的距离应当合适。如果路程太短,进行多项式拟合的样本不够丰富,就不能体现出确定行驶时长系数来预计行程时长的优势;如果选择的路程太长,可能会出现路况单一的状况(比如,大部分的行驶路段是高速路程),这样就无法通过行驶时长系数来体现出城市早晚高峰路况的变化过程;
其次,选择的预设行驶路程的路况种类应当比较丰富,这样更容易确定行驶时长系数;
最后,预设行驶路线从起点到目的地的路线选择应当多样,即从起点有多条不同的路线可到达目的地。
当选择一条预设行驶路线后,通过导航软件获取任意时刻对应的完成预设行驶路程所需要的历史行驶时长。任意时刻可以是一天中的任一时刻,可以记录多天的任意时刻的完成该预设行驶路线的历史行驶时长。在获取了任意时刻对应的完成预设行驶路程所需要的历史行驶时长之后,进行如下步骤。
s202,基于任意时刻对应的历史行驶时长,确定任意时刻对应的行驶时长的变化趋势。
在获取了任意时刻对应的历史行驶时长后,可以根据任意时刻和对应的历史行驶时长绘制数据点的散点图,任意时刻和对应的历史行驶时长是各个数据点的横纵坐标。在获得各个数据点的坐标后,可以利用多项式拟合的方式得出各个数据点的线性拟合结果,并绘制拟合曲线。
具体的,对数据点进行多项式拟合的方式如下:
给定数据点(xi,yi),(i=0,1,…,m),其中,xi和yi数据点的横纵坐标,m是正整数,φ为所有次数不超过n(n≤m)的多项式构成的函数类,n为多项式拟合次数,现求
当拟合函数为多项式时,称为多项式拟合,满足公式1的pn(x)称为最小二乘拟合多项式。特别地,当n=1时,称线性拟合或直线拟合。
显然
即
公式3是关于a0,a1,…,an的线性方程组,用矩阵表示如下:
可以证明,公式4的系数矩阵是一个对称正定矩阵,故存在唯一解。从公式4中解出ak(k=0,1,…,n),从而可得多项式
可以证明,
根据公式5可以绘制拟合曲线,根据拟合曲线可以确定任意时刻的曲线斜率,即任意时刻对应的行驶时长的变化趋势。在得到行驶时长的变化趋势后,接着进行以下步骤。
s203,基于任意时刻对应的历史行驶时长的变化趋势以及预测的所述行驶路段对应的开始行驶时刻,确定所述行驶路段对应的行驶时长系数。
根据每段行驶路段的开始行驶时刻,对应到已经确定的拟合曲线,确定开始行驶时刻的行驶时长的变化趋势,行驶时长的变化趋势就是拟合曲线中开始时刻对应的斜率,再根据行驶时长的变化趋势为每一段行驶路段确定行驶时长系数。
将第一段行驶路段的开始行驶时刻的行驶时长系数定为1,然后根据每一段行驶路段对应的开始行驶时刻的行驶时长的变化趋势,判断每一段行驶路段对应的行驶时长系数,如果路况好转,则行驶时长系数小于1,反之亦然。行驶时长系数的大小可根据当前路况信息调整。
通过上述步骤确定了当前行驶路线所包含的行驶路段的行驶时长系数后,通过导航软件采集每一段行驶路段的路程,以及行驶完成该行驶路段的路程的预测行驶速度。这里的预测行驶速度可以由导航软件采集获得,也可以接收汽车服务商在汽车上安装的数据回传系统传回的数据,最后选择的预测行驶速度可以是完成该段行驶路段的平均行驶速度。根据行驶路段的路程和行驶路段对应的预测行驶速度,确定该段行驶路段的行驶时长。
在确定各段行驶路段的行驶时长后,将各段行驶路段的行驶时长和与该段行驶路段对应的行驶时长系数相乘,然后将组成该段当前行驶路段的所有行驶路段的行驶时长和对应的行驶时长系数的乘积相加,即可确定当前行驶路线的行程时长。
另外,如果当前行驶路段对应的行驶时长的变化趋势相反时,即根据拟合曲线确定当前行驶路段对应的行驶时长的变化趋势存在不一致,具体的,即完成当前行驶路段的行驶时间内出现斜率正负不一致的情况,此时根据行驶时长的变化趋势和行驶当前行驶路段的拥堵程度,将当前行驶路段再划分为至少一个行驶路段。
综上,导航软件最后的预计时间为红绿灯数量×平均时间+行驶路段1÷预测行驶速度1×行驶时长系数1+行驶路段2÷预测行驶速度2×行驶时长系数2+……+行驶路段n÷预测行驶速度n×行驶时长系数n。
关于预测完成所述当前行驶路线的行程时长具体过程,现举例如下:
以起始地点北京首都国际机场t3航站楼,终止地点北京南站进站口的路线为预设行驶路线。
通过导航软件采集任一时刻完成上述两个地点间的预设行驶路线的历史行驶时长,并绘制如图3所示的本申请实施例提供的确定任意时刻对应的行驶时长的变化趋势的散点图的示意图。下一步,确定拟合多项式的次数n,由于阶数越高,拟合曲线的误差越小,因此,为了能体现城市交通早晚高峰路况的变化,以及计算量的综合考虑,n取值为6。然后列表计算
多项式拟合的结果显示在早上8点左右和晚上5点左右会出现峰值,这个时间点恰恰是早晚高峰路况较拥堵的时间段,说明通过多项式拟合的结果可靠,可以反映实际路况变化。
如果计划13点出发驾车从北京首都国际机场t3航站楼到北京南站进站口。按照导航实际路况分析预计所需时间,如图5所示的本申请实施例提供的导航实际路况分析预计时间的示意图,其中,导航预计时间为56分钟,预计到达时间为13点56分。但是根据多项式拟合结果可知,13点到14点路况变差(见图4),此时分段路程应当选取大于1的系数,如预计绿色路况变成黄色路况时,系数取1.2,预计绿色路况变成红色路况时,系数取1.5。
综上,本申请实施例通过采集任意时刻对应的完成预设行驶路程所需要的历史行驶时长,并利用多项式拟合来绘制拟合曲线,以确定行驶路段对应的行驶时长系数,并根据当前路况信息将当前行驶路线划分为至少一条行驶路段,将最后要预测的行程时长精确到每段行驶路段的预计时长,提高了确定当前行驶路线的行程时长的准确性。同时,根据当前路况信息划分当前行驶路段和多项式拟合的方式将随时间推进路况变化的因素考虑确定行驶时长系数的过程中,改进了导航软件预计时间的结果,提高了行程时长预测的精度。
基于同一发明构思,本申请实施例中还提供了与行程时长预测方法对应的行程时长预测装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述行程时长预测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。如图6所示,为本申请实施例提供的一种行程时长预测装置的结构示意图,包括:
获取模块601,用于获取当前行驶路线的当前路况信息;
分析模块602,用于根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段;
处理模块603,用于基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。
可选地,分析模块具体用于根据下述方式将当前行驶路线划分为至少一个行驶路段:
根据当前路况信息确定所述当前行驶路线的拥堵程度;
基于当前行驶路线的拥堵程度,将所述当前行驶路线划分为至少一个行驶路段。
可选地,处理模块具体用于根据如下方式预测完成当前行驶路线的行程时长:
获取任意时刻对应的完成预设行驶路程所需要的历史行驶时长;
基于任意时刻对应的历史行驶时长,确定任意时刻对应的行驶时长的变化趋势;
基于任意时刻对应的历史行驶时长的变化趋势以及预测的所述行驶路段对应的开始行驶时刻,确定所述行驶路段对应的行驶时长系数。
本实施例中,获取模块601、分析模块602和处理模块603的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
如图7所示,为本申请实施例提供的电子设备的结构示意图,该装置包括处理器71、存储器72和总线73,所述存储器72存储执行指令,当所述装置运行时,所述处理器71与所述存储器72之间通过总线73通信,所述处理器71执行所述执行指令使得所述装置执行如下方法:
获取当前行驶路线的当前路况信息;
根据所述当前路况信息将所述当前行驶路线划分为至少一个行驶路段;
基于所述行驶路段的路程、所述行驶路段对应的预测行驶速度及所述行驶路段对应的行驶时长系数,预测完成所述当前行驶路线的行程时长。
对应于图1中的行程时长预测方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述行程时长预测方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述行程时长预测方法,从而解决导航软件预计时间不准确的问题,进而达到提升导航预估时间准确性的效果。
本申请实施例所提供的行程时长预测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。