一种基于多元数据融合的公交车到站时间预测方法及系统
技术领域
本发明涉及智能交通领域,尤其涉及一种基于多元数据融合的公交车到站时间预测方法及系统。
背景技术
公共交通具有运载量大、运送效率高、能耗低、污染相对较小、平均运输成本低等优点,大力发展公共交通是缓解城市道路交通压力的有效途径。然而,对于目前的大多数城市而言,公交运力不足、发车间隔大,受路况和交通事故影响导致到站晚点等情况屡见不鲜,公交“等车难”已成为一个普遍的社会问题,公众对于获取实时公交到站信息来解决公交出行难问题的需求日益强烈。如果能够为出行者提供准确的公交到站时间等信息服务,可以使出行者灵活地选择出行线路,合理安排出行时间,从而吸引更多的公众使用公共交通,对于缓解城市交通拥堵具有重要的意义。
目前已有的公交到站时间预测方法主要以公交GPS数据作为数据来源,利用历史数据训练得到预测模型,再结合实时车辆运行信息对结果进行修正。公开号为CN104217605A的中国发明专利“一种公交车到站时间测算方法和装置”中,将公交车的运行过程划分为多个部分,针对不同的部分训练出不同的人工神经网络模型,由于需要对大量的历史数据进行训练才能达到一定的精度要求,因此难以保证预测结果的实时性。公开号为CN103828868A的中国专利“一种基于多公交线路运行数据融合的城市公交到站时间预测方法”中利用距离当前时刻最近一次通过该相邻两个站点的车辆的运行数据,提高了运行速度,但精度不高。公开号为CN103578267A的中国发明专利“一种基于公交GPS数据的公交到站预测方法及系统”按照设定的时间间隔获取拓扑关系中各线路公交车的站内时间、站间时间以及到下一站时间,考虑了GPS数据不能准确的提供公交车进站出站时刻的情形,通过设定一个圆形区域确定了车辆的进出站时刻。公开号为CN101388143A的中国发明专利“基于浮动车数据的公交到站时间预测方法及系统”则根据实时GPS数据中的车辆位置及速度信息来推算公交车的行程时间和到站时间,在对线路进行分区的基础上,根据公交车的实际到站时间统计分区到前方各站的历史到站时间,进而使预测结果能够不断更新,提高预测的准确度。
在实际中,由于公交车车辆少、发车间隔大,公交车GPS数据无法用来计算路况,现有的城市交通路况通常使用出租车的浮动车GPS数据来计算。由于很多城市建有公交专用道,传统方法计算的路况数据无法反应公交专用道上的车辆速度,导致预测的公交到站结果和时间差距很大。
发明内容
本发明提供了一种基于多元数据融合的公交车到站时间预测方法及系统,该方法融合出租车GPS数据和公交车GPS数据结合电子地图来构建路况信息表,根据路况信息计算公交车到站时间,通过手机、电子站牌等第三方终端进行发布。。
实现本发明目的的技术方案如下:
一种基于多元数据融合的公交车到站时间预测方法,包括以下步骤:
步骤一、接收出租车GPS终端、公交车GPS终端采集到的实时GPS数据并进行处理,结合电子地图构建路况信息表;
步骤二、从路况信息表中检索每个路段的距离,根据公交车的当前位置计算公交车到达预测站点X的距离;
步骤三、根据步骤一的路况信息表和步骤二的距离,计算公交车到达当前站点的时间Tx,其中:
公交车到达站点的时间Tx=路段行程时间Td+站点延迟时间Tr;
路段行程时间Td为公交车从当前位置到预测站点X的行驶时间,站点延迟时间Tr根据路段编号从路况信息表中检索获得。
本发明的路况信息表中包括的特征有路段编号、路段类型、路段方向、路段长度、起点经度、起点纬度、终点经度、终点纬度、星期特征日、时间段、速度、行驶时间、延迟时间。路况信息表保存在内存数据库中,用来实时计算路况信息。
作为本发明的进一步改进,计算路段行程时间Td时,根据路段编号从路况信息表中检索获得公交车从当前位置到达预测站点所经过每一个路段长度和每一路段的速度。
作为本发明的进一步改进,构建所述路况信息表的过程为:
步骤S1:接收出租车GPS终端、公交车GPS终端采集到的GPS数据,对GPS数据进行预处理;
步骤S2:将预处理后的GPS数据与电子地图进行匹配,构建车辆GPS轨迹与电子地图路段对应关系;
步骤S3:根据出租车GPS数据和公交车GPS数据,分别计算各路段行驶速度;若该路段属于公交专用道,采用公交车GPS历史数据,否则使用出租车GPS历史数据;
步骤S4:根据历史数据,计算路段延迟时间并更新。
作为本发明的进一步改进,所述步骤S1具体为:
步骤S11:丢弃经纬度坐标错误数据;判断接收到GPS数据的坐标是否在所属地区的经度和纬度范围以外,如果是则进行剔除;
步骤S12:对丢失的GPS数据进行填补,设点P(xp,yp)丢失,用相邻两点P1(xp1,yp1)和P2(xp2,yp2)进行计算填补,丢失点P(xp,yp)的坐标xp=(xp2-xp1)/2,yp=(yp2-yp1)/2;
步骤S13:对漂移的GPS数据进行处理,假设已知偏离路线的GPS定位数据两端的任意两点P1(xp1,yp1)和P2(xp2,yp2),建立直角坐标系,点P1(xp1,yp1)和P2(xp2,yp2)的横坐标之差为dx=xp1-xp2,点P1(xp1,yp1)和P2(xp2,yp2)的纵坐标之差dy=yp1-yp2,直线斜率a1=dy/dx,a2=dx/dy,直线截距b1=dy-a1dx,b1=dy-a2dx,则漂移点P(xp,yp)的横坐标纵坐标ypt=a1xpt+b1。
作为本发明的进一步改进,所述步骤S2具体为:
步骤S21:取一条处理过的GPS数据;
步骤S22:确定GPS定位点与它所在的线路,利用球面求距离公式求出所有误差符合条件的路段值,作为候选线路集;
步骤S23:在候选线路集中,选择和车辆行驶方向相似的路段作为候选路段,分别计算GPS定位点到候选路段的距离;
步骤S24:若GPS定位点到候选路段的距离小于地图匹配误差预定值100米的路段,则看作车辆行驶于此道路上;
若GPS定位点到候选路段的距离超过地图匹配误差预定值100米的路段,则认为车辆没有在这条道路上行驶,排除这条路段;
步骤S25:保存步骤S24得到的所有匹配路段作为车辆GPS定位点的地图匹配结果,实现GPS和电子地图路段的匹配。
作为本发明的进一步改进,所述步骤S3具体为:
步骤S31:分析过去一年的历史路况数据,建立包含路段号、星期特征日、时间段在内的路况数据库,用r(l,d,tp)表示一个路段单元;
r(l,d,tp)
={T1(l,d,tp),T2(l,d,tp),...,Tn(d)(l,d,tp)}
其中,l表示路段号,d表示星期特征日,tp表示时间段,Ti(l,d,tp)表示历史路况数据中路段号l在不同日期d和时间段tp的变化趋势,n(d)表示历史数据中具有相同的d的天数;
步骤S32:通过最大最小聚类算法对所述路况数据库中的相似数据进行合并,得到每一个路段l在每个星期特征日的d时间段tp中的速度、时间,将这些数据存入到路况信息表中;
步骤S33:采用多项式曲线对公交车GPS数据进行拟合,拟合的多项式为:
fi(x)=ai,mxm+ai,m-1xm-1+...+ai,1x+ai,0
其中,x表示时间段tp中的时间点;fi(x)表示第i条候选曲线在时间点x处对应的道路行驶速度,m为多项式的次数;
对于公交车GPS数据,数据划分后某些时间段tp的速度是缺失的,计算缺失的路段l在d时间段tp中速度,将计算结果更新到路况信息表中。
作为本发明的进一步改进,所述步骤S4具体为:
步骤S41:获取公交车在一个路段单元r(l,d,tp)中的实际运行时间Tl;
步骤S42:公交车在路段单元r(l,d,tp)中的预测运行时间为:
Li为路段的实际长度,从路段信息表中直接得到,Vi为通过该路段的预测速度,通过步骤S3计算获得;
步骤S43:路段l在日期d和时间段tp的划分r(l,d,tp)的延迟时间为Tl-Ti,更新路段延迟时间到路况信息表。
作为本发明的进一步改进,所述步骤二计算公交车到达预测站点X距离的过程是:
设公交车在路段n-1上,路段n-1的长度为Ln-1,公交车目前行驶在位置C,公交车在路段n-1上已经行驶的距离为λ1,则在路段n-1上未行驶的距离为λ2,该辆公交车到达站点X的距离为:
其中,λ2=Ln-1-λ1,Ln表示路段n的距离,可以从路况信息表中检索每一个路段Li的距离累加得到,Lns表示路段S上的站点X距离路段起点的距离。
一种基于多元数据融合的公交车到站时间预测系统,包括用户终端和服务器,所述用户终端请求公交车到达当前站点位置的预测时间和距离,所述服务器对每辆公交车和出租车的GPS数据进行计算,生成对应路段上公交车辆的近似行驶速度,根据客户端请求位置计算后续公交车到达站点的时间,并将计算结果反馈给用户终端;
所述服务器的计算采用上述的一种基于多元数据融合的公交车到站时间预测方法。
与现有技术相比,本发明的有益效果是:
本发明综合考虑公交专用道GPS数据和传统的出租车GPS数据,建立一种既能满足实时性应用需求又具有较高精度的公交到站时间预测方法,从而提高到站信息的可靠性。
附图说明
图1为本发明的公交车到站时间预测流程图;
图2为公交车到站时间预测示意图;
图3为公交车到站时间预测系统框图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
实施例1:
本实施例提供了一种路况信息表的构建过程。
路况信息表的构建包括以下步骤:
步骤一:接收出租车、公交车GPS终端采集到的实时GPS数据,对GPS数据进行预处理;
步骤1.1:丢弃经纬度坐标错误数据。西安市坐标范围为经度107.40~109.49度和纬度33.42~34.45度之间,对于接收到的GPS数据,如果坐标在此范围以外进行剔除;
步骤1.2:对丢失的GPS数据进行填补。设点P(xp,yp)丢失,用相邻两点P1(xp1,yp1)和P2(xp2,yp2)进行计算填补。丢失点P(xp,yp)的坐标xp=(xp2-xp1)/2,yp=(yp2-yp1)/2。
步骤1.3:对漂移的GPS数据处理。假设已知偏离路线的GPS定位数据两端的任意两点P1(xp1,yp1)和P2(xp2,yp2),建立直角坐标系,点P1(xp1,yp1)和P2(xp2,yp2)的横坐标之差为dx=xp1-xp2,点和的纵坐标之差dy=yp1-yp2,直线斜率a1=dy/dx,a2=dx/dy,直线截距b1=dy-a1dx,b1=dy-a2dx,则漂移点P(xp,yp)的横坐标纵坐标ypt=a1xpt+b1。
步骤二:将处理过的GPS数据与电子地图进行匹配,构建车辆GPS轨迹与电子地图路段对应关系。
步骤2.1:取一条处理过的浮动车GPS数据,该浮动车为公交车或出租车;
步骤2.2:确定GPS定位点与它所在的线路,利用球面求距离公式求出所有误差符合条件的路段值,作为候选线路集;
假设GPS点坐标为P(x,y,z),对应的球面坐标为
将所有误差值小于100米的作为候选线路。
步骤2.3:在所选择的线路中,选择和车辆行驶方向相似的路段作为候选路段,分别计算GPS定位点到这些路段的距离;
GPS点到路段的距离通过GPS点到路段的最短距离计算,如果这个GPS点到路段的投影点在路段上,则GPS点到路段的距离就是GPS点到投影点的距离;但如果GPS点到路段的投影点不在路段上,则用GPS点到路段起点的距离和GPS点到路段终点距离的最小值来代替GPS点到这条路段的距离。
步骤2.4:当定位点到路段的距离小于地图匹配误差预定值100米时,可以看作车辆行驶于此道路上。如果距离超过地图匹配误差预定值100米的路段,则认为这辆没有在这条道路上,排除这条路段;
步骤2.5:保存步骤2.4得到的所有匹配路段作为车辆GPS定位点的地图匹配结果。实现GPS和电子地图路段的匹配。
步骤三:根据历史数据,分别计算各路段行驶速度;根据路段属性表,判断该路段是否为公交专用道,RordType=1表示为公交专用道,RordType=0表示非公交专用道。当RordType=1并且公交车在当前路段上的GPS速度大于出租车在当前路段上的GPS速度1.2倍时,采用公交车GPS数据,否则使用出租车GPS数据,执行步骤3.1-3.3。该路段属于公交专用道,采用公交车GPS数据,否则使用出租车GPS数据,执行步骤3.1-3.3;
步骤3.1:历史数据划分。通常,路况运行速度具有规律性,周一到周五早晚高峰比较突出,早高峰在早上7:00-9:00;晚高峰在下午5:00-7:00点,通过分析过去一年的历史路况数据,可以找出一个时间段内路段速度变化规律,建立路况模式数据库。一个路段单元用道路号,星期特征日,时间段三元组r(l,d,tp)表示,
r(l,d,tp)
={T1(l,d,tp),T2(l,d,tp),...,Tn(d)(l,d,tp)}
其中,l表示路段号,d表示星期特征日,tp表示时间段。Ti(l,d,tp)表示历史数据中路段l在不同日期d和时间段的变化趋势。n(d)表示历史数据中具有相同的d的天数。
在实例中,选择5个时间点为一个划分。则每个Ti(l,d,tp)代表5分钟的线路状态。
步骤3.2:相似数据合并。通过以上步骤一划分的历史数据太多,需要通过聚类算法对相似数据进行合并,减少计算量。
本实施例采用最大最小聚类算法对r(l,d,tp)中的趋势T1(l,d,tp),T2(l,d,tp),...,Tn(d)(l,d,tp)进行聚类分析,通过分析这n(d)个向量中,向量和其他向量的欧几里得距离,通过不断的迭代计算出所有的聚类中心,将r(l,d,tp)中所有的Ti(l,d,tp)根据其和聚类中心的“偏离”程度划分到每个聚类中心所在的类中,并将每个类中的所有Ti(l,d,tp)的均值作为聚类后这个类的结果。
实例中,聚类中心采用最大距离原则选择新的聚类中心,将Ti(l,d,tp)中具有最大向量密度的趋势向量作为第一个聚类中心。然后计算未被做为聚类中心的Ti(l,d,tp)与各个类之间的距离,并求出它们中间的最小距离,按照最小距离原则进行模式归类。
步骤3.3:构建路况信息表,聚类后得到了每一个路段l在d时间段tp中速度、时间,将这些数据存入到路况信息表中。
对于公交车GPS数据,由于数据量较小,数据划分后某些时间段tp的速度是缺失的,需要通过步骤3.4-3.5进行缺失数据的补充。
步骤3.3:公交GPS数据拟合。通过分析可以发现,一天中的各个时间段内速度变化曲线更接近多项式曲线,考虑到交通高峰期内速度变化比较快,本实施例采用多项式曲线进行拟合。
本实施例定义拟合的多项式为:fi(x)=ai,mxm+ai,m-1xm-1+...+ai,1x+ai,0
x表示时间段tp中的时间点;fi(x)表示第i条候选曲线在时间点x处对应的道路行驶速度。m为多项式的次数。
实例中,多项式的次数m=4。
步骤3.4:缺失速度计算。通过拟合多项式,计算缺失的路段l在d时间段tp中速度,将计算结果更新到路况信息表中。
步骤四:根据历史数据,计算路段延迟时间并更新。
公交车在站点间运行,延迟时间主要是由于公交车等红绿灯、停站上下客等造成,本实施例采用历史的延误时间计算站点延误时间。
步骤4.1:获取公交车在一个路段单元r(l,d,tp)中的实际运行时间Tl;
步骤4.2:公交车在路段单元r(l,d,tp)中的预测运行时间,
Li为路段的实际长度,从路段信息表中直接得到,Vi为通过该路段的预测速度,通过步骤三计算获得。
步骤4.3:路段l在日期d和时间段tp的划分r(l,d,tp)的延迟时间为Tl-Ti,更新路段延迟时间到路况信息表。
实施例2:
在实施例1公开方案的基础上,本实施例利用实施例1的路况信息表计算公交车到达站点时间和距离。
公交车到达站点时间和距离计算过程是:
步骤一:用户端通过手机请求公交车到达当前站点位置的预测时间和距离,发送当前线路、站点信息后台,如{34路、xx村};
步骤二:服务器计算{34路}公交车距离xx村站的距离。
获取一个公交车位置C和它所在的路段n-1,路段n-1的长度为Ln-1,公交车在路段n-1上已经行驶的距离为λ1,则在路段n-1上未行驶的距离λ2,该辆公交车达到站点X的距离为:
其中,λ2=Ln-1-λ1,Ln表示路段n的距离,可以从路况信息表中检索每一个路段Li的距离累加得到,Lns表示路段S上的站点X距离路段起点的距离。
公交车到达站点的时间Tx包括路段行程时间Td和站点延迟时间Tr两部分,路段行程时间Td由公交车从当前位置C到路段n-1终点的时间、路上n上的行驶时间、路段S的起点到站点X的行驶时间组成。
其中,Vgps为公交车当前的行驶速度,Li和Vi为公交车从当前位置C到达站点X所经过每一个路段长度和每一路段的速度,根据路段编号从路况信息表中检索获得。Lns表示路段S上的站点X距离路段起点的距离,Vns表示路段S上的运行速度,根据路段编号从路况信息表中检索获得。Tsi为第i个路段的延迟时间,根据路段编号从路况信息表中检索获得。
步骤三:逐个计算{34路}上,{xx村}站点前的每辆公交的距离和预测时间,反馈给用户端。
步骤四:在用户手机上显示并定时更新。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。