[0281] ④在路段集合ind0nRoad2中篩選出定位點的航向角與路段的道路方向的差值的 絕對值小于航向誤差閾值dErr_Azm的路段的路段集合ind0nRoad3;
[0282] ⑤以路段集合ind0nRoad3為新的候選路段集合,將路段集合ind0nRoad3中路段權(quán) 值最大的路段確定為定位點所在的路段RoadSelIND;路段取值的計算方式為:
[0283] a、設(shè)disti為定位點與某一路段i的距離,則距離權(quán)值wd的取值為:若disti〈5m,^J wd = l;若5m < disti < 100m,則wd = l_disti/100;若disti>100m,則wd = _l;
[0284] b、根據(jù)定位點的航向角與路段的道路方向的差值的絕對值確定出路段的航向權(quán) 值;確定方式為:
[0285] 設(shè)detValAi為定位點的航向角與某一路段i的道路方向的差值的絕對值,則航向 權(quán)值'^ = 3*。08((161:\^1八;〇;
[0286] c、所述某一路段的路段權(quán)值wt=wa+wd;
[0287] 路徑確定子單元,用于根據(jù)相鄰兩個定位點所在的路段和這兩個路段之間的道路 拓撲關(guān)系,確定出車輛在相鄰兩個定位點之間的所經(jīng)過的路段。
[0288] 所述路段平均旅行時間計算單元223計算每條路段的平均旅行時間的方式為: [0289]記定位數(shù)據(jù)分析周期內(nèi)共有N條路段上有車輛行駛,路段P上有M個車輛行駛,M個 車輛中的第k個車輛在路段P上的行駛時間為TravelTk,l <k<M,路段P的平均旅行時間 nTimeTravelP的計算方式為:
[0290]①若M < 3,nTimeTravelP=mean(TravelTk),mean(TravelTk)表不M個車輛在路段 P上的行駛時間的平均值;
[0291 ] (2)^f3<M<7 ,nTimeTravelP = mean(TraveITk-TraveITmin-TraveITmax) ,mean (TravelTk-TravelTmin-TravelTmax)表示將M個車輛在路段P上的行駛時間中的最大值和 最小值剔除后的M-2個車輛在路段P上的行駛時間的平均值;
[0292] ③若 M>7,nTimeTravelP= =nl/nT*mTl+n2/nT*mT2+n3/nT*mT3;
[0293] 其中,將M個車輛在路段P上的行駛時間中的最大值和最小值剔除后的M-2個車輛 在路段P上的行駛時間記為集合Trave ITP,將集合Trave ITP聚類成3類,得到集合 TravelTPl、TravelTP2和TravelTP3,nl、n2和n3分別為集合TravelTPl、TravelTP2和 TravelTP3 中元素的個數(shù),mTl、mT2 和 mT3 分別為集合 TravelTPl、TravelTP2 和 TravelTP3 中 元素的均值,nT = nl+n2+n3=M-2。
[0294] 擁堵等級確定單元225包括擁堵等級劃分子單元和擁堵等級確認子單元。
[0295] 擁堵等級劃分子單元,用于劃分路段的擁堵等級,劃分方式為:根據(jù)路段的等級, 確定不同等級的路段的各擁堵等級的平均旅行速度閾值范圍;
[0296] 擁堵等級確定子單元,用于根據(jù)計算出的每條路段的平均旅行速度和該路段的等 級確定出各路段的擁堵等級。
[0297] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1. 一種基于浮動車衛(wèi)星定位數(shù)據(jù)的城市道路擁堵計算方法,包括以下步驟: 步驟一、浮動車按照預設(shè)的定位數(shù)據(jù)采集周期向擁堵分析計算機中心上傳其車輛的衛(wèi) 星定位數(shù)據(jù);所述衛(wèi)星定位數(shù)據(jù)包括浮動車每個定位點的定位時間和定位點的車輛速度、 經(jīng)煒度和航向角; 步驟二、計算機中心每隔預設(shè)的定位數(shù)據(jù)分析周期,根據(jù)該定位數(shù)據(jù)分析周期內(nèi)接收 到的所有車輛的衛(wèi)星定位數(shù)據(jù)進行道路擁堵分析。2. 根據(jù)權(quán)利要求1所述的一種基于浮動車衛(wèi)星定位數(shù)據(jù)的城市道路擁堵計算方法,其 特征在于:步驟二中,計算機中心進行道路擁堵分析的方式為: (1) 根據(jù)每個車輛的衛(wèi)星定位數(shù)據(jù)匹配出每個車輛在定位數(shù)據(jù)分析周期內(nèi)所經(jīng)過的路 段; (2) 計算所述定位數(shù)據(jù)分析周期內(nèi)每個車輛在每條路段上的行駛時間;計算方式為: 記車輛在相鄰的兩個定位點之間所經(jīng)過的路段為η條,η2 1;車輛在η條路段中的每條 路段的行駛時間的計算方式為: 沿車輛的行駛方向,記車輛在η條路段的第1條和第η條路段上行駛的距離分別為distl和distn,在第1條路段和第η條路段的行駛時間分別為Travel!!和TravelTn,第i條路段的 路段長度為RoadLeni,在第i條路段上的行駛時間為TravelTi,第2條至第n-1條路段的路段 長度總和為sum(RoadLenj),2 <i<n-1; TravelTl=deltT*distl/(distl+sum(RoadLeni)+distn); TravelTn=deltT*distn/(distl+sum(RoadLeni)+distn); TravelTi=deltT*RoadLeni/(distl+sum(RoadLeni)+distn); 其中,deltT表示相鄰兩個定位點之間的定位時間差,deltT等于所述定位數(shù)據(jù)采集周 期; (3) 記錄在所述定位數(shù)據(jù)分析周期內(nèi)有車輛行駛的路段的個數(shù),根據(jù)每個車輛在每條 路段的行駛時間,計算每條路段的平均旅行時間;某一路段的平均旅行時間是指在所述定 位數(shù)據(jù)分析周期內(nèi)在該路段上行駛的所有車輛在該路段上的行駛時間的均值; (4) 根據(jù)每條路段的平均旅行時間和該路段的長度,計算路段的平均旅行速度,計算方 式為: 所述路段P的平均旅行速度評=111^111?03(1?/111';[11161'瓜¥61?,111^111?03(1?為路段?的長度,nTimeTravelP為路段P的平均旅行時間; (5) 根據(jù)每條路段的平均旅行速度和預設(shè)的平均旅行速度閾值范圍確定各路段的擁堵 等級。3. 根據(jù)權(quán)利要求1或2所述的一種基于浮動車衛(wèi)星定位數(shù)據(jù)的城市道路擁堵計算方法, 其特征在于:步驟二中,計算機中心在根據(jù)衛(wèi)星定位數(shù)據(jù)進行道路擁堵分析之前,還包括: 對接收到的每個定位點的衛(wèi)星定位數(shù)據(jù)進行預處理,預處理方式為: 對于每個車輛,根據(jù)車輛的前后定位點的車輛經(jīng)煒度和時間差,計算前后兩個定位點 之間的車輛平均速度Sp_Avg,若車輛平均速度Sp_Avg大于設(shè)定速度,則舍棄該車輛平均速 度所對應的定位點的衛(wèi)星定位速度。4. 根據(jù)權(quán)利要求1或2所述的一種基于浮動車衛(wèi)星定位數(shù)據(jù)的城市道路擁堵計算方法, 其特征在于:步驟(1)中,根據(jù)每個車輛的衛(wèi)星定位數(shù)據(jù)匹配出每個車輛在定位數(shù)據(jù)分析周 期內(nèi)所經(jīng)過路段,包括: 1) 根據(jù)預設(shè)的經(jīng)度間隔和煒度間隔將地圖進行網(wǎng)格劃分; 2) 匹配出所述定位數(shù)據(jù)分析周期內(nèi)車輛的每個定位點所在的路段,匹配方式為: ① 對于每個定位點,根據(jù)定位點的經(jīng)煒度確定出定位點所在的網(wǎng)格,以定位點所在網(wǎng) 格內(nèi)的路段作為候選路段并添加到候選路段集合RoadSel中; ② 根據(jù)候選路段集合RoadSel中的路段,篩選出路段集合indOnRoadl,路段集合 indOnRoad1中的路段為定位點與該路段的起始點的連線與道路的夾角和定位點與該路段 的終止點的連線與道路的夾角均為銳角的路段; ③ 在路段集合indOnRoadl中篩選出定位點與路段的距離小于距離誤差閾值dErr_DiSt 的路段的路段集合ind0nRoad2; ④ 在路段集合ind0nRoad2中篩選出定位點的航向角與路段的道路方向的差值的絕對 值小于航向誤差閾值dErr_Azm的路段的路段集合ind0nRoad3; ⑤ 以路段集合ind0nRoad3為新的候選路段集合,將路段集合ind0nRoad3中路段權(quán)值最 大的路段確定為定位點所在的路段RoadSelIND;路段權(quán)值的計算方式為: a、 設(shè)disti為定位點與某一路段i的距離,則距離權(quán)值wd的取值為:若disti〈5mjljwd= 1;若5m<disti< 100m,則wd=l_disti/100;若disti>100m,則wd= _l; b、 根據(jù)定位點的航向角與路段的道路方向的差值的絕對值確定出路段的航向權(quán)值;確 定方式為: 設(shè)detValAi為定位點的航向角與某一路段i的道路方向的差值的絕對值,則航向權(quán)值wa= 3*cos(detValAi); c、 所述某一路段的路段權(quán)值wt=wa+wd; 3) 根據(jù)相鄰兩個定位點所在的路段和這兩個路段之間的道路拓撲關(guān)系,確定出車輛在 相鄰兩個定位點之間所經(jīng)過的路段。5.根據(jù)權(quán)利要求4所述的一種基于浮動車衛(wèi)星定位數(shù)據(jù)的城市道路擁堵計算方法,其 特征在于:步驟3)中,根據(jù)相鄰兩個定位點所在的路段和這兩個路段之間的道路拓撲關(guān)系, 確定出車輛在相鄰兩個定位點之間所經(jīng)過的路段的方式為: I、 建立用于確定車輛在相鄰兩個定位點之間所經(jīng)過的路段的道路結(jié)點集合 nlndNodes;建立結(jié)點集合nlndNodes的方式包括: 記相鄰兩個定位點中前一個定位點所在的路段為第一路段,后一個定位點所在的路段 為第二路段,獲取第一路段和第二路段的道路結(jié)點信息,選取第一路段的任一道路結(jié)點為 起始點s,選取第二路段的任一道路結(jié)點為終止點e,將與起始點s的最短路徑長度和與終止 點e的最短路徑長度均小于預設(shè)的路徑搜索長度的道路結(jié)點添加到結(jié)點集合nlndNodes中, 并建立結(jié)點集合nlndNodes的鄰接矩陣ADJ; 其中,結(jié)點集合nlndNodes的長度記為nLen;鄰接矩陣ADJ中的第p行第q列的元素為第p個道路結(jié)點與第q個道路結(jié)點間的路徑長度,不互為鄰接點的兩個道路結(jié)點之間的路徑長 度設(shè)置為預設(shè)值Mval; II、 根據(jù)所述結(jié)點集合nlndNodes和其鄰接矩陣ADJ進行起始點s和終止點e之間的路徑 搜索,搜索出的路徑中所包括的路段確定為車輛在相鄰兩個定位點之間所經(jīng)過的路段; 進行路徑搜索的一種方式包括: i、設(shè)置結(jié)點集合ηIndNodes中每個道路結(jié)點的結(jié)點標識,結(jié)點m的結(jié)點標識記為(dm,Pm),dm為起始點s到結(jié)點m的最短路徑長度,pm為結(jié)點m的緊前結(jié)點;所述緊前結(jié)點是指起始 點s到結(jié)點m的最短路徑中結(jié)點m的前一結(jié)點; 設(shè)置清零標記集合pb,清零標記集合pb中的元素與結(jié)點集合nlndNodes中的元素-- 對應,當結(jié)點集合nlndNodes中某一道路結(jié)點為起始點時,清零標記集合pb對應的元素置為 1,否則置為〇,初始化時pb(s) = 1; 設(shè)置標號結(jié)點順序集合index,標號結(jié)點順序集合index中的元素為按順序存放的起始 點;初始化時index[ 1 ] =s; ii、設(shè)置一臨時變量temp,令初始化的temp=s; iii、判斷是否滿足temp矣e且sum(pb)〈nLen,若是,則進入步驟iv,若否,則進入步驟X;sum(pb)為集合pb中所有元素的和; iv、將清零標記集合Pb中為零的元素所對應的道路結(jié)點組成集合tb,根據(jù)所述鄰接矩 陣獲取結(jié)點temp的鄰接點并組成集合CollInNode,取集合tb與CollInNode的交集記為IA; V、判斷IA是否為空集,若是,則進入步驟vii,若否,則進入步驟vi; vi、選取ΙΑ中的道路結(jié)點j作為新的起始點,并進入步驟viii;選取方式為: 遍歷IA中的所有道路結(jié)點,對于每個道路結(jié)點j計算min[dj,dtemP+ltempj],選取最小的min[dj,dtemP+ltemPj]所對應的道路結(jié)點j為新的起始點; 其中,dtemp為起始點S到道路結(jié)點temp的最短路徑長度,ltempj是道路結(jié)點temp到道路結(jié) 點j的直線距離; Vii、選取集合tb中dtbT最小的道路結(jié)點j作為新的起始點;其中,dtbT=dtbi+dtb2,dtbi、dtb2分別表示集合tb中的道路結(jié)點與起始點s的最短路徑長度以及與終止點e的直線距離; viii、 判斷是否滿足dj矣Mval,若是,進入步驟ix,若否,進入步驟X; ix、 記錄index=[s,j],pb(j) =l,令temp=j,并返回步驟iii; x、 判斷是否滿足temp=e,若是,確定起始點s與終止點e之間的最優(yōu)路徑為集合index 中的道路結(jié)點依次連接成的路徑,若否,則起始點s與終止點e之間最優(yōu)路徑搜索失?。? 進行路徑搜索的另一種方式為: A、 設(shè)置路徑結(jié)點集合partialPath,并記錄路徑結(jié)點集合partialPath的長度 pathLength,集合中的元素為按搜索順序存放的每次路徑搜索時的搜索起始結(jié)點; pathLength是指路徑結(jié)點集合partialPath中元素的個數(shù),初始化時,partialPath[ 1 ] =s, pathLength= 1 ; 設(shè)置每次搜索時的搜索起始結(jié)點為lastnode,lastnode=partialPath[last],partialPath[last]表示路徑結(jié)點集合partialPath的最后一個元素;初始化時,lastnode =s; B、 根據(jù)鄰接矩陣ADJ獲取搜索起始結(jié)點lastnode的鄰接點,將得到的鄰接點記錄在鄰 接點集合nextNodes中; C、 判斷鄰接點集合nextNodes是否為空,若是,則進入步驟D,若否,則進入步驟F; D、 判斷路徑結(jié)點集合partialPath中的元素是否只有起始點s,若是,則路徑搜索搜索 回到起始點,路徑搜索完畢;若否,則進入步驟E; E、 刪除路