车数量随时间变化且数量较少时采用算术平均方法的结果存在较大的估计误差。
上边所述的各个模型都各有优缺点,本文所采用的模型的实质:就是利用GPS数据中的经纬度信息以及瞬时速度信息,更加精确的估计出道路某个时间段内的路段平均速度,然后根据前边所述交通状态判别标准进行交通状态的判断,最根本的是要求得到某一时段内某一路段的路段平均速度。
当某路段的 GPS 数据量满足直接估计路段平均速度的要求时,首先分别估计 每辆GPS浮动车在该路段的区间速度即单车区间速度结果,再把该路段上所有GPS浮动车的单车区间速度结果通过数据融合方法得到多车区间速度结果,然后利用该路段所有GPS浮动车的全部瞬时速度估计得出多车瞬时速度结果,最后把多车区间速度结果和多车瞬时速度结果融合得到路段的平均速度。路段平均速度估计模型如4.1图所示。
图4.1 路段平均速度估计模型
GPS 浮动车在任意Ti时刻的采样数据的基本数据单元包括车辆ID、时间、车辆所处位置的经度、纬度、高度、瞬时速度及方向角,即:
{PLATENO,GPS_TIME,LONGITUDE,LATITUDE,HEIGHT,SPEED,DIRECTION} 浮动车首先将GPS数据传回数据处理中心,中心边接收数据边滤除异常数据,把正常数据存入数据库中,模型从数据库中读取某一路段的全部 N 辆浮动车在采样时间段Td 内的所有 GPS 数据,通过处理这些数据分析出该路段在此时间段内的交通拥挤状态。根据所有数据经纬度信息,将浮动车的离散数据系列按路段
共40页 第22页
进行划分,由车辆 ID 信息,可得第 j 辆浮动车的采样数据在路段 i 上的离散数据系列表示为Li,j(T) ,i=1,2,...,L,j=1,2...,Ni,其中,L 为需要估计路段的数量,Ni为时段Td内路段i上行驶的浮动车数量。Li,j(T)=[Li,j(T1),Li,j(T2),??,Li,j(Tz)],T1 区间速度指的是在特定的时间段内任意车辆 i 通过一定长度的区间时的平均速度。利用GPS数据估计单车的区间速度原理如图 4.2所示。 图4.2 利用GPS数据估计单车区间速度 本文的区间长度指的是在某一路段上,对于来自同一辆车 i的最靠近路段端点的两个 GPS 点之间的距离,时间段就是指这两个 GPS 点记录时间之差。第i辆公交GPS浮动车返回的第一个GPS点P1的时刻t1,返回的第二个 GPS 点P2的时刻为t2则区间速度为: Vi? L1T1 (4—11) 式中T1表示P1与P2的时间差,即: T1=t2—t1 (4—12) L1表示的是该浮动车在整个路段内的行驶距离之和,L1计算需要计算任意相邻的两个GPS数据点之间的距离,此距离的具体计算涉及到地球表面任意两个点之间的球面距离。 地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体, 共40页 第23页 那么它的半径就是地球的平均半径,记为R。如果以0度经线为基准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点A的经纬度为(LonA,LatA),第二点B的经纬度为(LonB,LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90减去纬度值(90- Latitude),南纬取90加上纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA,MLatA)和(MLonB,MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式: C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB) (4—13) Distance= R*Arccos(C)*Pi/180 (4—14) 这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile 如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是: C = sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB) (4—15) Distance= R*Arccos(C)*Pi/180 (4—16) 以上通过简单的三角变换就可以推出。 如果三角函数的输入和输出都采用弧度值,那么公式还可以写作: C=sin(LatA*Pi/180)*sin(LatB*Pi/180)+cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180) (4—17) Distance = R*Arccos(C)*Pi/180 (4—18) 也就是: C=sin(LatA/57.2958)*sin(LatB/57.2958)+cos(LatA/57.2958)*cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958) (4—19) Distance=R*Arccos(C)=6371.004*Arccos(C)kilometer=0.621371192*6371.004*Arccos(C) mile = 3958.758349716768*Arccos(C) mile (4—20) 根据上述一系列公式可以计算出任意两个相邻数据点之间的距离,进而计算出L1,然后计算出区间速度。 得到单车的区间速度之后需要将路段i上所有浮动车的单车区间速度融合得到路段i的多车区间速度Vint,采用的方法是将路段上各车的平均速度作加权平均可得到路段区间平均速度,其权值为浮动车在给定路段上行驶的有效距离与路段长度 共40页 第24页 的比值。具体的方法如下: 在得到浮动车j在路段i上的区间速度Vj后,以浮动车j的区间速度Vj对路段平均速度反映的完整程度aj为权重,加权平均得到多车区间速度Vint。设路段i上共有Ni辆浮动车,则aj的计算公式为: aj?Lj (j?1,2,3,...n) (4—21) Li其中Lj表示Vj所能代表的长度,Li为路段i的长度,两者的比值能够反映Vj对路段平均速度反应的完整程度。 由此可得到多车区间速度Vint的计算公式: nVint??aj.Vjj?1?ajj?1n (4—22) Vint即为所求得的多车区间速度。 4.5.2 多车瞬时速度计算 瞬时速度算法是针对路段上所有浮动车的 GPS 数据而言的,以每一辆浮动车的每个数据点的瞬时速度为基础,通过多车瞬时速度算法计算得到路段的瞬时速度结果Vins。 在概率学中,可以通过对大量样本测算,来分析总体的特征。并且,当样本足够多的时候,总体的期望等于样本的平均值。 在道路行驶中,所有的机动车组成了一个大的总体。通过GPS系统只可以收集一部分车辆行驶数据,形成样本。由GPS数据,可以得到每个测试车辆的瞬时速度,通过对所有瞬时速度的平均,可以得到近似的总体期望—路段的平均速度。即: v1?v2?v3?..?.vnv? n (4—23) 以上求得的结果在物理中叫做速度的平均,在交通工程学中称为时间平均车速。在实际中与道路车辆的平均速度存在一定的差异。这个差异产生的原因在于: 第一,每个抽样检测车报告速度时间间隔大约1分钟,连续性不好; 共40页 第25页 第二,抽样数据不是完全平均于每个时间间隔,统计性不好; 第三,抽样数据不是来自于同一观察体,具有较大的离散性。 目前,利用瞬时速度计算路段平均速度的方法都是对瞬时速度算术平均,把得到的平均值直接作为路段平均速度。这种方法实质上是最简单的加权平均法,令所有因子的权值都一样,但相同的权重因子会加大偶然因素的作用,使得小概率数据对计算结果产生较大的影响,从而导致较大的计算误差。基于这样的考虑,设计了改进的算法,即多车瞬时速度算法。 算法的基本思想是:大概率事件具有相对较高的可信度,而小概率事件由偶然因素造成的可能性较大,可信度相对较小,也就是说大概率事件反映道路情况的能力强于小概率事件,所以对大概率事件取相对较大的权重,使之主导最后的结果;小概率事件取相对较小的权重,降低对最后结果的影响,从而降低偶然因素导致的误差。 在此研究中,首先对瞬时速度值进行区间的划分。根据实际调查情况,本文把瞬时速度值可能落入的范围划分为 7 个区间,分别为:0-10,10-20,20-30,30-40,40-50,50-60,60以上,若落入某个区间内的瞬时速度数量较多,则区间内每个数据取较大的权重,若区间内的瞬时速度较少,取较小的权重。设落入区间c中的瞬时速度数量为Nc,c=1,2,3,?,7经过归一化,区间中每个数据的权重为: We?Nc?Ncc?17 c ? 1,2,...,72 (4—24) 则根据此权重可以得到多车瞬时速度结果: Nc??Vins???We??Vm?e?1?m?1? (4—25) 4.5.3 路段平均速度计算 在计算得到多车区间速度Vint和多车瞬时速度Vins后,将Vint和Vins加权融合,得到路段i的平均速度Vi,设Vint和Vins的权重分别为Wint和Wins,则路段i的平均速度为: 7 共40页 第26页