面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng)車數(shù)據(jù)停車行為模式清洗方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及于數(shù)據(jù)挖據(jù)技術(shù)領(lǐng)域,具體涉及到一種面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng) 車數(shù)據(jù)停車行為模式清洗方法。
【背景技術(shù)】
[0002] 道路速度是交通指揮、導(dǎo)航、出行誘導(dǎo)、擁堵治理等宏觀、微觀應(yīng)用的前提,是重要 的基礎(chǔ)性數(shù)據(jù)。因此獲得更加接近于真實(shí)的數(shù)據(jù)
[0003] 浮動(dòng)車數(shù)據(jù)作為交通數(shù)據(jù)的重要組成部分之一,在實(shí)時(shí)道路通行速度計(jì)算得到了 廣泛的應(yīng)用。對(duì)現(xiàn)有的浮動(dòng)車數(shù)據(jù)進(jìn)行試驗(yàn)研究時(shí)可以發(fā)現(xiàn),浮動(dòng)車異常停止行為產(chǎn)生的 數(shù)據(jù)被應(yīng)用于實(shí)時(shí)道路通行速度計(jì)算中會(huì)嚴(yán)重影響其速度的準(zhǔn)確性。由于浮動(dòng)車數(shù)據(jù)量 大,且異常停止行為個(gè)別行為且無(wú)規(guī)律可循,人為很難及時(shí)的發(fā)現(xiàn)和剔除。
【發(fā)明內(nèi)容】
[0004] 為了克服已有無(wú)法有效識(shí)別停車行為的不足,本發(fā)明提供一種有效識(shí)別浮動(dòng)車停 車行為的面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng)車數(shù)據(jù)停車行為模式清洗方法。
[0005] 本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
[0006] -種面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng)車數(shù)據(jù)停車行為模式清洗方法,所述清洗方法 包括如下步驟:
[0007] 步驟(1).讀取地圖數(shù)據(jù),地圖數(shù)據(jù)包括路段編號(hào)(LDID)、路段點(diǎn)位信息,將地圖網(wǎng) 格化得到"網(wǎng)格一路段編號(hào)"映射表;
[0008] 步驟(2).根據(jù)"車牌號(hào)"、"創(chuàng)建時(shí)間"升序讀取當(dāng)前時(shí)間前設(shè)定時(shí)間片的浮動(dòng)車數(shù) 據(jù),浮動(dòng)車數(shù)據(jù)包括車牌號(hào)碼CPHM、點(diǎn)位信息GPS_FDC和創(chuàng)建時(shí)間CJSJ;
[0009] 步驟(3).計(jì)算車輛連續(xù)兩次記錄的距離和時(shí)間差,然后通過(guò)距離和時(shí)間差計(jì)算速 度,并根據(jù)"網(wǎng)格一路段編號(hào)"映射表將該速度添加到第二次記錄的車輛點(diǎn)位信息所在的路 段編號(hào)上;
[0010] 步驟(4).根據(jù)以上步驟得到該時(shí)間片各個(gè)路段上各個(gè)車輛的速度列表;
[0011] 步驟(5).識(shí)別并剔除速度列表中由于"偽停止行為"造成的異常停止點(diǎn),并返回速 度列表,過(guò)程如下:
[0012] 5-1.在步驟⑷得到的數(shù)據(jù)結(jié)構(gòu)LDID_SpeedMap中循環(huán)遍歷獲取LDID中CPHMk的速 度列表speedListj,循環(huán)遍歷speedListj中所有的速度Vi,如果Vi = 0且Vi+S關(guān)0,0〈s〈 = n_i, s為連續(xù)停止點(diǎn)的個(gè)數(shù),則"偽停止行為"過(guò)程的車輛速度記錄個(gè)數(shù)δ = s+1;
[0013] 5-2.根據(jù)公式(2)計(jì)算"偽停止行為"車輛速度突變閾值SPSSC;當(dāng)i矣1時(shí)公式左邊 為該速度列表第一個(gè)停止點(diǎn)前的所有速度記錄的平均速度,當(dāng)i = l時(shí),以該路段上一時(shí)刻 的平均速度vt作為平均速度閾值;
[0015] 5-3.若Vi+S > = SPSSC,則該速度記錄為"偽停止行為"造成的突變速度,從速度列 表中剔除連續(xù)停止點(diǎn)的速度記錄和突變速度速度記錄;
[0016] 5-4.完成"偽停止行為"識(shí)別和剔除后返回一個(gè)新的LDID_SpeedMap。
[0017] 進(jìn)一步,所述清洗方法還包括如下步驟:
[0018] 步驟(6).識(shí)別并剔除速度列表中由于"真停止行為"造成的異常停止點(diǎn),并返回速 度列表,過(guò)程如下:
[0019] 6-1.經(jīng)過(guò)步驟(5)后從新的LDID_SpeedMap中循環(huán)遍歷獲取LDID中CPHMk的速度列 表speedListj,循環(huán)遍歷speedListj中所有的速度Vi,如果vi = 0且Vi+S關(guān)0,0〈s〈 = n_i,s為 連續(xù)停止點(diǎn)的個(gè)數(shù);若s> = 3則認(rèn)為該車出現(xiàn)了"停止行為"跳至6-2判斷是否屬于"路口停 止行為";
[0020] 6-2 ·得到該停止行為的Vi對(duì)應(yīng)的LDID和GPS_FDCi,遍歷intersect ionMap,若 inter sect ionMap中存在該LDID則說(shuō)明該LDID為路口路段,若不存在進(jìn)入6-3;從 intersectionMap中獲取該LDID對(duì)應(yīng)的路口點(diǎn)(GPS_QD,GPS_ZD),通過(guò)公式(3)計(jì)算GPS_ roQ與路口的距離并取其最小值L,若L〈L_min,則認(rèn)為該"停止行為"屬于"路口停止行為" 不進(jìn)行剔除,否則進(jìn)入6-3判斷是否屬于"集體停止行為";
[0021] L=min(abs(GPS_FDCi-GPS_QD),abs(GPS_FDCi-GPS_ZD) (3)
[0022] 6-3.得到該停止行為的Vi對(duì)應(yīng)的CJSJi和GPS_FDCi,循環(huán)遍歷該LDID下其他車輛的 速度列表若出現(xiàn)"停止行為"獲取其對(duì)應(yīng)停止點(diǎn)的GPS_roCi,和CJSJi,,根據(jù)公式(4)、公式 (5)計(jì)算判斷條件,
[0023] abs(GPS_FDCi-GPS_FDCi·) < Δ s_min, i Φ i ' (4)
[0024] abs(CJSJi_CJSJi') < Δ t_min, i 關(guān) i ' (5)
[0025] 若該LDID下其他車輛都滿足以上判斷條件則認(rèn)為該停止行為屬于"集體停止行 為"不進(jìn)行剔除,否則該停止行為屬于"真停止行為",并從速度列表中剔除連續(xù)停止點(diǎn)的速 度記錄;
[0026] 6-4.完成"真停止行為"識(shí)別和剔除后返回一個(gè)新的LDID_SpeedMap。
[0027] 再進(jìn)一步,所述清洗方法還包括如下步驟:
[0028] 步驟(7).經(jīng)過(guò)以上步驟后計(jì)算LDID對(duì)應(yīng)的所有速度記錄的平均速度并存于數(shù)據(jù) 庫(kù)實(shí)時(shí)速度表中,更新時(shí)間片重復(fù)步驟(2)至步驟(6)。
[0029] 更進(jìn)一步,所述步驟(3)中,速度計(jì)算過(guò)程如下:
[0030] 3-1.根據(jù)步驟(2)得到各個(gè)車輛在該時(shí)間片下的所有記錄,記為{CPHMk}_{GPS_ FDCi,CJSJi},keK ien,n為所有記錄的個(gè)數(shù),K為該時(shí)間片車輛的總數(shù);
[0031] 3-2.根據(jù)公式(1.1)或(1.2)計(jì)算車輛速度Vi,得到車輛速度列表{CPHMk}_{vi, GPS_FDCi,CJSJi}〇
[0032] 采用的是連續(xù)兩次記錄的GPS點(diǎn)的絕對(duì)距離,作為車輛的行駛距離,
[0033] 1)在未跨路段的情況下使用公式(1.1)
[0035] 2)在跨路段的情況下使用公式(1.2)
[0036]
[0037] GPSJDi為連續(xù)兩次記錄的GPS點(diǎn),在跨路段時(shí),兩條路段的交點(diǎn)的點(diǎn)位信息。
[0038]所述步驟(7)中,根據(jù)LDID_SpeedMap獲取LDID下所有車輛速度列表的速度記錄并 根據(jù)公式(6)計(jì)算LDID對(duì)應(yīng)的平均速度,并存入數(shù)據(jù)庫(kù)實(shí)時(shí)道路速度表中供其他應(yīng)用使用。
[0040] K為該LDID下的車輛數(shù),nk為第k輛車的速度記錄個(gè)數(shù)。
[0041] 本發(fā)明的技術(shù)構(gòu)思為:根據(jù)實(shí)時(shí)的浮動(dòng)車數(shù)據(jù),計(jì)算出浮動(dòng)車行駛速度并添加到 相應(yīng)的路段中,得到路段中各個(gè)車輛的速度列表并識(shí)別異常停止行為并且剔除異常速度。
[0042] 所述浮動(dòng)車是指城市公共交通中的出租車和公交車。浮動(dòng)車在車輛行駛過(guò)程中會(huì) 每隔一段時(shí)間(一般為30秒)上傳一次數(shù)據(jù),數(shù)據(jù)包括:浮動(dòng)車車牌號(hào)、浮動(dòng)車位置信息 (GPS)、數(shù)據(jù)創(chuàng)建時(shí)間等;"停止行為"包括"正常停止行為"和"異常停止行為"。"正常停止行 為"包括:
[0043] "路口停止行為":車輛停在路口(多數(shù)情況下在等待紅燈屬于交通過(guò)程中的正常 現(xiàn)象)
[0044] "集體停止行為":指所有浮動(dòng)車在同一時(shí)間同一地點(diǎn)停止的行為(在遇到擁堵的 情況下會(huì)出現(xiàn)也屬于交通過(guò)程中的正?,F(xiàn)象)。
[0045] "異常停止行為"包括:
[0046] "真停止行為":車輛異常停止(個(gè)別車輛長(zhǎng)時(shí)間停在一個(gè)點(diǎn),在交通過(guò)程中屬于個(gè) 別行為為異?,F(xiàn)象)
[0047] "偽停止行為":數(shù)據(jù)上傳異常造成的停止,表現(xiàn)為連續(xù)出現(xiàn)速度為0的點(diǎn),且在該 點(diǎn)之后速度突變。(如圖1所示)。
[0048] 從數(shù)據(jù)本身的特點(diǎn)來(lái)區(qū)分"真停止行為"、"偽停止行為"。"真停止行為"包括"真停 止_個(gè)體行為"和"真停止_群體行為"。本方案識(shí)別的是"真停止_個(gè)體行為",這種停止的個(gè) 體行為是計(jì)算道路速度時(shí)的干擾因素,在計(jì)算道路實(shí)時(shí)速度時(shí)不予計(jì)入樣本數(shù)據(jù)。對(duì)于本 專利所闡述的"偽停止行為",主要是指那些因設(shè)備故障、傳輸網(wǎng)絡(luò)故障、或數(shù)據(jù)庫(kù)寫(xiě)入故障 等導(dǎo)致的看上去像停止行為的數(shù)據(jù)樣本。這些停止行為雖然在數(shù)據(jù)形式上表現(xiàn)為停止,但 數(shù)據(jù)生產(chǎn)和傳輸鏈路錯(cuò)誤導(dǎo)致的可能性更大,或者說(shuō),我們認(rèn)為其是"偽停止行為"。將這種 "偽停止行為"也排除在計(jì)算道路實(shí)時(shí)速度的樣本數(shù)據(jù)之外。
[0049] 本發(fā)明的有益效果主要表現(xiàn)在:在大數(shù)據(jù)量且無(wú)規(guī)律可循的浮動(dòng)車數(shù)據(jù)中快速并 且準(zhǔn)確的識(shí)別數(shù)據(jù)中的兩種停止行為并剔除,在保證數(shù)據(jù)的實(shí)時(shí)性的同時(shí),極大的增加了 實(shí)時(shí)速度的準(zhǔn)確性。
【附圖說(shuō)明】
[0050]圖1是"偽停止行為"說(shuō)明圖。
[0051 ]圖2是跨路段的情況下車輛的行駛距離計(jì)算示意圖。
[0052] 圖3是面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng)車數(shù)據(jù)停車行為模式清洗方法的流程圖。
[0053] 圖4是LDID_SpeedMap數(shù)據(jù)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0054] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
[0055] 參照?qǐng)D1~圖4,一種面向道路實(shí)時(shí)速度計(jì)算的浮動(dòng)車數(shù)據(jù)停車行為模式清洗方 法,定義相關(guān)符號(hào)如下:
[0056] Vi:車輛速度,單位km/h, ien,n為單個(gè)時(shí)間片下某車在同一個(gè)LDID上的速度記錄 個(gè)數(shù)。
[0057] vavg:路段平均速度,單位km/h。
[0058] δ: "偽停止行為"過(guò)程的車輛速度記錄個(gè)數(shù)(速度連續(xù)為〇的次數(shù)加上1次速度突 變)。
[0059] SPSSC(Stop Point Speed Sudden Change): "偽停止行為"車輛速度突變閾值。
[0060] Δ 同一路段不同車輛的速度記錄時(shí)間差閾值(設(shè)值30秒)。
[0061] Δ s_min:同一路段不同車輛的速度記錄位置間隔閾值(設(shè)置50米)
[0062] L_min:判斷車輛是否停在路口的距離閾值(設(shè)置50米)。
[0063]所述浮動(dòng)車數(shù)據(jù)停車行為模式清洗方法包括如下步驟:
[0064]步驟(1).地圖數(shù)據(jù)預(yù)處理:
[0065] 1-1.讀取地圖數(shù)據(jù),地圖數(shù)據(jù)包括路段編號(hào)(LDID)、起點(diǎn)點(diǎn)位信息(GPS_QD)、終點(diǎn) 點(diǎn)位信息(GPS_ZD)、中點(diǎn)點(diǎn)位信息(GPS_MD),將地圖網(wǎng)格化(網(wǎng)格邊長(zhǎng)100-300米)得到"網(wǎng) 格一路段編號(hào)"映射表(如表1所不)。
[0066]
[0067] 表 1
[0068] 1-2.因?yàn)槁范蔚穆?lián)通性,路段1與路段2之間終點(diǎn)與起點(diǎn)相連(即為同一個(gè)點(diǎn)),統(tǒng) 計(jì)地圖數(shù)據(jù)中所有路段的起點(diǎn)和終點(diǎn),得到"點(diǎn)-路段編號(hào)"映射表(如表2所示)。
[0069]
[0070] 表 2
[0071] 1-3.根據(jù)"點(diǎn)-路段編號(hào)"映射表找到三叉路口或者十字路口的點(diǎn)即LDID個(gè)數(shù)大于 等于3的點(diǎn),形成新的"點(diǎn)-路段編號(hào)"映射表稱為"路口點(diǎn)映射表",將"路口點(diǎn)映射表"進(jìn)行 翻轉(zhuǎn)形成"路段編號(hào)一點(diǎn)"映射表(如表3所示,注:Value中記錄的是該路段屬于三叉路口或 者十字路口的點(diǎn)位信息,若某路段的起點(diǎn)和終點(diǎn)都屬于三叉路口或者十字路口點(diǎn)則Value 中記錄該路段的起點(diǎn)點(diǎn)位信息和終點(diǎn)點(diǎn)位信息,若只有其中某一個(gè)點(diǎn)為三叉路口或者十字 路口點(diǎn),則只記錄該點(diǎn)的點(diǎn)位信息)稱為"路口路段映射表"記intersectionMap。
[0072]
[0073] 表 3
[0074] 步驟(2).根據(jù)"車牌號(hào)碼"、"創(chuàng)建時(shí)間"升序讀取當(dāng)前時(shí)間往前一個(gè)時(shí)間片(5min) 的浮動(dòng)車數(shù)據(jù),浮動(dòng)車數(shù)據(jù)包括車牌號(hào)碼(CPHM)、點(diǎn)位信息(GPS_FDC)、創(chuàng)建時(shí)間(CJ