技术领域
[0001] 本发明涉及一种基于完全轨迹与不完全轨迹的城市道路行程时间估计方法,属于智能交通技术领域。
相关背景技术
[0002] 实时、准确的行程时间估计是智能交通管理及信息服务系统的基础。既有估计方法多基于固定检测器,其安装和维护的费用高,覆盖面有限,因此,场景多局限于城市道路网络中的特定路段。随着网络通信技术、卫星定位技术的迅速发展,具有更大广域空间、连续时间的海量车辆轨迹数据逐渐成为智能交通领域的重要数据源。这类数据描述了配置有GPS设备的浮动车,如出租车、公共汽车和滴滴网约车等,在路网中运动时所留下的时空“印记”,可称之为浮动车数据。
[0003] 目前,我国大部分城市的浮动车应用系统中均采用基于大样本的空间平均法计算道路行程时间。然而,由于浮动车在城市道路网络中时空分布的波动性与不均衡性,在不同时段、不同路段上经过的浮动车数量分布差异化过大,观测得到的样本量过少或零样本,导致采用传统的基于大样本的行程时间估计方法无法达到满意的效果。
[0004] (1)专利“基于浮动车数据和线圈流量融合的间断流路段行程时间估计方法(CN 102930718A)”公开了一种针对间断流环境的路段平均行程时间估计方法,该方法有效融合了浮动车数据与线圈流量数据,并基于历史同时段最大浮动车覆盖率进行路段行程时间估计,相较于传统浮动车行程时间估计,该方法能取得较好的效果。然而,该方法需要较大的样本量作为输入,在FCD时空稀疏条件下难以保证较高的准确度。
[0005] (2)专利“基于建成环境和低频浮动车数据的路段行程时间估计方法(CN 106781468 A)”加入建成环境作为路段运行时间的解释量,并通过算例证明了建成环境对路段运行时间的解释性,该方法能够反映路段不同部分运行速度之间的差异,有效提高了路段行程时间的精度。同样地,FCD的时空稀疏性问题极大可能影响到这类方法的估计精准度。
[0006] (3)专利“基于低采样历史轨迹的行程时间估计方法(CN 106156531 B)”公开了一种基于低采样历史轨迹的行程时间估计方法,该方法对历史数据采样率不敏感,能够在低采样率数据下具有较好的效果。但该方法采用路段中大量的完全轨迹,在较低的完全轨迹覆盖率的情况下该方法无法体现出优越性。
[0007] 综合上述专利的局限性可以发现,现有专利行程时间估计方法大多针对大样本量的FCD进行路段行程时间估计,未能有效克服现有FCD的时空稀疏性问题,进而在间断流环境中直接影响到行程时间的估计精准度。因此,如何在浮动车时空覆盖受限的区域,利用稀疏的FCD估计行程时间并获取高可靠的行程时间信息是目前亟待解决的核心问题,对于提高现有交通信息资源利用效率与交通信息服务水平有着重要现实意义。
具体实施方式
[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 实施例1:如图1所示,一种基于完全轨迹与不完全轨迹的城市道路行程时间估计方法,具体步骤如下:
[0057] Step1:对原始FCD进行数据预处理与地图匹配。具体步骤为:
[0058] Step1.1:对原始FCD进行数据清洗,解决存在的重复记录、数据异常、方向角异常等问题;
[0059] Step1.2:对清洗后的轨迹数据使用拓扑加权的地图匹配算法,将浮动车GPS点映射并关联到城市道路网中,形成行驶路径。具体的地图匹配算法如下:
[0060] (a)输入轨迹数据,包括时间戳(t)、经度(x)、纬度(y)、速度(spe)、方向角(dir);
[0061] (b)输入路网数据,包括链路ID号,起始节点(SN)和结束节点(EN)及它们的x,y坐标;
[0062] (c)计算候选路段的接近分数和航向分数,并计算匹配分数,选择匹配分数最高的候选路段作为GPS定位的正确路段。每一个候选路段的匹配分数可以定义为:
[0063]
[0064] 式中,P是一个待匹配的GPS点和某一个候选路段之间的垂直距离,B是GPS点提供的车辆行驶方向和候选路段方向形成的角度,wp为匹配因素p对匹配分数的影响权重值,Perr为GPS定位所允许的最大误差值;
[0065] Step2:构建浮动车轨迹,随后结合轨迹和目标路段的空间覆盖关系,对轨迹进行分类,并对存在GPS点缺失的轨迹进行修复。具体步骤如下:
[0066] Step2.1:根据浮动车经过目标路段的长度,将浮动车轨迹细分为4种类型,即:
[0067] (1)完全轨迹,即通过了路段上下游交叉口的浮动车轨迹;
[0068] (2)不完全轨迹类型1,即从上游路段驶入,但在下游交叉口之前驶离目标路段的浮动车轨迹;
[0069] (3)不完全轨迹类型2,即在上游交叉口之后驶入,通过下游交叉口的浮动车轨迹;
[0070] (4)不完全轨迹类型3,即在上游交叉口之后驶入,在下游交叉口之前驶离的浮动车轨迹。
[0071] Step2.2:丢失GPS点修复,具体方法如下:
[0072] (a)输入轨迹 计算相邻点 和 的采样间隔Δt秒(1
[0073] (b)界定数据修复程序触发条件为:60秒≤Δt≤300秒;
[0074] (c)如果60秒≤Δt≤300秒,则根据平均采样间隔划分H(如果Δt/30的余数为0,则H=Δt/30;否则,H=H+1)个时间片,且有 最后1个时间片dtH应满足dtH≤30秒;
[0075] (d)设置初始累积距离与时间戳:S=0米, 秒,在h=1至H‑1个时间片的范围内,从轨迹数据库中搜索一组GPS点,其时间范围为[T,T+30],空间范围为当前轨迹链上和
[0076] (e)使用所选GPS点集的瞬时速度计算平均速度(标记为aveSpeed(dth)),并更新累积距离和时间戳:
[0077] S=S+avespeed(dth)×30
[0078] T=T+30
[0079] (f)如果 则添加一个新GPS点: 若否,则停止计算,并返回S24寻找新GPS点集,直至第H‑1个时间片结束。
[0080] Step3:针对单条完全轨迹数据的路段行程时间估计,具体算法如下:
[0081] TT(Tri)=Δt2,3+TT2(Tri)+TT3(Tri)
[0082] 式中,TT(Tri)为单车路段行程时间;TT2(Tri)为上游交叉口到路段第1个GPS点的行程时间;TT3(Tri)为路段最后1个GPS点到下游交叉口的行程时间;Δt2,3为路段的第1个GPS点与最后1个GPS点之间的行程时间差,即Δt2,3=t3‑t2。
[0083] Step4:构建KNN模型估计不完全轨迹数据的行程时间,步骤如下:
[0084] Step4.1:构建时空完全轨迹数据集,确定匹配机制的时空搜索范围;
[0085] (a)确定时间搜索范围,选择与当前行程时间具有较高相关性的时间段作为匹配机制的时间范围;
[0086] (b)确定空间搜索范围,选择不完全轨迹所覆盖的当前路段及其空间相关联的上下游路段作为匹配机制的空间范围;
[0087] Step4.2:进行轨迹间的相似性测量,根据当前输入的不完全轨迹数据,从时空完全轨迹数据集中找到与不完全轨迹最匹配的K条近邻完全轨迹。轨迹相似度测量方法如下:
[0088] 将不完全轨迹与完全轨迹在空间重叠部分的行程长度设为L米,并划分成F个等距的子路段,通过计算不完全轨迹与完全轨迹在多个子路段上所花费的行程时间的差异,量化两条轨迹的相似度,可表示为:
[0089]
[0090] 式中,Tr0为不完全轨迹,Trk为轨迹数据集中第k条完全轨迹,TTf(Tr0)为不完全轨迹在f子路段上所花费的行程时间,TTf(Trk)为完全轨迹在f子路段上所花费的行程时间。
[0091] Step4.3:将K条完全轨迹的行程时间进行加权,最终获得单条基于不完全轨迹数据的路段行程时间,达到增加行程时间样本量的目的。具体计算公式如下:
[0092]
[0093] 式中,Tr0为不完全轨迹,Trk为轨迹数据集中第k条完全轨迹,TT(Tr0)为不完全轨迹的行程时间,TT(Trk)为第k条完全轨迹的行程时间,wk为第k条完全轨迹的权重,计算公式如下:
[0094]
[0095] Step5:将完全轨迹与不完全轨迹的行程时间进行算术平均,得到路段平均行程时间。具体计算公式如下:
[0096]
[0097] 式中,TTave为路段平均行程时间,TT(Trm)为第m条完全轨迹路段行程时间,TT(Trn)为第n条不完全轨迹路段行程时间,M和N分别表示路段中完全轨迹与不完全轨迹的条数。
[0098] 实施例2:如图1所示,一种基于完全轨迹与不完全轨迹的城市道路行程时间估计方法,包括如下步骤:
[0099] Step1:对得到的原始FCD进行数据预处理与地图匹配。具体步骤如下:
[0100] Step1.1:本发明以南京市区域内2011年11月1日‑12月6日采集的7700多辆出租车的GPS轨迹数据为例进行分析,针对原始数据存在重复记录、速度异常、方向角异常等问题,按照如下步骤对原始FCD进行清洗:
[0101] (1)删除不在南京市域范围内的数据;
[0102] (2)删除重复或信息缺失的数据;
[0103] (3)删除速度小于0或高于120km/h的数据;
[0104] (4)删除方向角大于360度的数据;
[0105] (5)删除方向角为0度,且速度为0~3km/h的数据。
[0106] 针对第5条数据处理步骤,需要说明的是,这部分异常数据主要是由于车辆在低速行驶状态下GPS定位发生静态漂移,无法准确判断车辆行驶方向而造成的。另外,由于原始FCD的经纬度坐标系为地理坐标系(单位为度),需要转换成投影坐标系(单位为米)。
[0107] Step1.2:基于GPS点提供的方向角信息和位置信息,实现拓扑加权的地图匹配算法,将FCD与南京市主要城区的路网数据进行匹配。具体算法步骤如下:
[0108] (a)输入轨迹数据,包括时间戳(t)、经度(x)、纬度(y)、速度(spe)、方向角(dir);
[0109] (b)输入路网数据,包括链路ID号,起始节点(SN)和结束节点(EN)及它们的x,y坐标;
[0110] (c)计算候选路段的接近分数和航向分数,并计算匹配分数每一个候选路段的匹配分数,选取匹配分数最高的候选路段作为最终匹配路段。匹配分数可以定义为:
[0111]
[0112] 式中,P是一个待匹配的GPS点和某一个候选路段之间的垂直距离,B是GPS点提供的车辆行驶方向和候选路段方向形成的角度,wp为匹配因素p对匹配分数的影响权重值,Perr为GPS定位所允许的最大误差值,在本研究中设定为30米。通过随机抽取2011年12月1日的100条原始GPS数据作为测试样本,成功还原其行驶轨迹的平均正确率达91.8%。
[0113] Step2:构建浮动车轨迹,随后结合轨迹和目标路段的空间覆盖关系,对轨迹进行分类,并对存在GPS点缺失的轨迹进行修复。具体步骤如下:
[0114] Step2.1:构建浮动车轨迹,记 为第i辆浮动车在路网中产生的轨迹Tri,其中, 为轨迹链中第n个GPS点,包括的信息有车辆编
号id,经度(x)、纬度(y),时间戳(t),向角(dir),速度(spe)和载客状态(sta),且有n=
1,…,N。
[0115] Step2.2:根据浮动车经过目标路段的长度,将浮动车轨迹细分为4种类型,如图2所示,即:
[0116] (1)完全轨迹,即通过了路段上下游交叉口的浮动车轨迹;
[0117] (2)不完全轨迹类型1,即从上游路段驶入,但在下游交叉口之前驶离目标路段的浮动车轨迹;
[0118] (3)不完全轨迹类型2,即在上游交叉口之后驶入,通过下游交叉口的浮动车轨迹;
[0119] (4)不完全轨迹类型3,即在上游交叉口之后驶入,在下游交叉口之前驶离的浮动车轨迹。
[0120] Step2.3:丢失GPS点修复,如图4所示,具体方法如下:
[0121] (a)输入轨迹 计算相邻点 和 的采样间隔Δt秒(1
[0122] (b)界定数据修复程序触发条件为:60秒≤Δt≤300秒;
[0123] (c)如果60秒≤Δt≤300秒,则根据平均采样间隔划分H(如果Δt/30的余数为0,则H=Δt/30;否则,H=H+1)个时间片,且有 最后1个时间片dtH应满足dtH≤30秒;
[0124] (d)设置初始累积距离与时间戳:S=0米, 秒,在h=1至H‑1个时间片的范围内,从轨迹数据库中搜索一组GPS点,其时间范围为[T,T+30],空间范围为当前轨迹链上和
[0125] (e)使用所选GPS点集的瞬时速度计算平均速度(标记为aveSpeed(dth)),并更新累积距离和时间戳:
[0126] S=S+avespeed(dth)×30
[0127] T=T+30
[0128] (f)如果 则添加一个新GPS点: 若否,则停止计算,并返回S24寻找新GPS点集,直至第H‑1个时间片结束。
[0129] Step3:针对单条完全轨迹数据的路段行程时间估计,具体算法如下:
[0130] TT(Tri)=Δt2,3+TT2(Tri)+TT3(Tri)
[0131] 式中,TT(Tri)为单车路段行程时间;TT2(Tri)为上游交叉口到路段第1个GPS点的行程时间;TT3(Tri)为路段最后1个GPS点到下游交叉口的行程时间;Δt2,3为路段的第1个GPS点与最后1个GPS点之间的行程时间差,即Δt2,3=t3‑t2;
[0132] Step4:计算不完全轨迹数据的路段行程时间
[0133] 构建KNN模型生成额外的行程时间样本,根据当前输入的不完全轨迹数据,从时空轨迹数据集中找到与不完全轨迹相匹配的近邻,最终获得基于不完全轨迹数据的路段行程时间。步骤为:
[0134] Step4.1:构建时空轨迹数据集。图5描述了KNN模型的时空搜索范围,在时间搜索层面,假设分析的开始时刻为ti(以9:00为例),选择的时段集合包括:当前时段ti~ti+1(9:00~9:15)、当前时段前1期ti‑1~ti(8:45~9:00)、当前时段前2期ti‑2~ti‑1(8:30~8:45),以及历史时段ti~ti+1(9:00~9:15)、历史时段前1期ti‑1~ti(8:45~9:00)、历史时段前2期ti‑2~ti‑1(8:30~8:45)、历史时段后1期ti+1~ti+2(9:15~9:30)。在空间搜索层面,假设当前路段为Link(xj+1→xj),结合3种不完全轨迹类型的特点,选择的路段集合包括:当前路段Link(xj+1→xj)、上游路段Link(xj+2→xj+1)和下游路段Link(xj→xj‑1)。
[0135] Step4.2:轨迹间的相似性测量。通过分析不完全轨迹与完全轨迹在多个路段上重叠部分所经历的行程时间的接近程度,完成两者之间的相似性比较。计算不完全轨迹与完全轨迹在多个子路段上所花费的行程时间的差异,量化两条轨迹的相似度,其可表示为:
[0136]
[0137] 式中,Tr0为不完全轨迹,Trk为轨迹数据集中第k条完全轨迹,TTf(Tr0)为不完全轨迹在f子路段上所花费的行程时间,TTf(Trk)为完全轨迹在f子路段上所花费的行程时间。完全轨迹和不完全轨迹在子路段的行程时间计算方法均采用图6描述的行程时间分解方法。
[0138] Step4.3:基于不完全轨迹的路段行程时间具体计算公式如下:
[0139]
[0140] 式中,Tr0为不完全轨迹,Trk为轨迹数据集中第k条完全轨迹,TT(Tr0)为不完全轨迹的行程时间,TT(Trk)为第k条完全轨迹的行程时间,wk为第k条完全轨迹的权重,计算公式如下:
[0141]
[0142] Step5:将完全轨迹与不完全轨迹的行程时间进行算术平均,得到路段平均行程时间。具体计算公式如下:
[0143]
[0144] 式中,TTave为路段平均行程时间,TT(Trm)为第m条完全轨迹路段行程时间,TT(Trn)为第n条不完全轨迹路段行程时间,M和N分别表示路段中完全轨迹与不完全轨迹的条数。
[0145] 以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。