本發(fā)明屬于高速公路實(shí)時(shí)路況監(jiān)測(cè)技術(shù)領(lǐng)域,涉及一種基于手機(jī)信令數(shù)據(jù)實(shí)時(shí)獲取高速公路運(yùn)行狀態(tài)的方法。
背景技術(shù):
隨著我國(guó)車(chē)輛數(shù)量的不斷增加,高速公路車(chē)流量不斷增大,導(dǎo)致高速公路事故頻發(fā),擁堵發(fā)生頻率越來(lái)越高。目前交通狀態(tài)信息的采集主要使用固定的傳感器。如測(cè)速儀、車(chē)檢器、攝像頭等。而這些硬件設(shè)施的成本、安裝和維護(hù)的費(fèi)用相對(duì)較高,且其監(jiān)測(cè)范圍有限,不能覆蓋整條高速公路。因此其迫切的需要一種能夠監(jiān)控整個(gè)高速路網(wǎng),且成本較低的方法。
手機(jī)信令是一種產(chǎn)生于移動(dòng)通信網(wǎng)絡(luò)且能反映手機(jī)用戶發(fā)生此通信行為所在的地理位置以及時(shí)間的數(shù)據(jù)。此類數(shù)據(jù)包含了手機(jī)用戶出行行為特征,不僅可以用于分析用戶的出行方式和出行偏好,還能通過(guò)分析群體的用戶樣本,得到高速公路的實(shí)時(shí)運(yùn)行狀態(tài)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于手機(jī)信令數(shù)據(jù)實(shí)時(shí)獲取高速公路運(yùn)行狀態(tài)的方法,該方法利用相關(guān)技術(shù)分析實(shí)時(shí)采集的信令數(shù)據(jù),識(shí)別在高速路上行駛的用戶;并利用用戶在監(jiān)測(cè)周期內(nèi)產(chǎn)生的信令數(shù)據(jù)分析計(jì)算得到高速公路路段平均運(yùn)行速度,根據(jù)路段平均運(yùn)行速度得到高速公路實(shí)時(shí)路況。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于手機(jī)信令數(shù)據(jù)實(shí)時(shí)獲取高速公路運(yùn)行狀態(tài)的方法,該方法包括以下步驟:
步驟1:根據(jù)高速公路實(shí)際路線,劃定矩形監(jiān)測(cè)區(qū)域;采用長(zhǎng)寬均為L(zhǎng)的正方形柵格對(duì)監(jiān)測(cè)區(qū)域進(jìn)行柵格化處理;以監(jiān)測(cè)區(qū)域左下角為起點(diǎn),以地理水平線為橫軸,垂線為縱軸劃分柵格;柵格表示為B[x,y],其中x為此柵格所在行數(shù),y為此柵格所在列數(shù);設(shè)高速公路某一行駛方向?yàn)檎?,設(shè)含有高速公路路段的柵格為道路柵格,由此得到高速公路正向道路柵格序列L_HB={B[h1,w1],B[h2,w2],B[h3,w3],…,B[hi,wi],…,B[hn,wn]},其中B[hi,wi]為一個(gè)道路柵格,hi為此柵格所在行數(shù),wi為此柵格所在列數(shù);
步驟2:獲取監(jiān)測(cè)區(qū)域內(nèi)的基站數(shù)據(jù),并根據(jù)步驟1確定的柵格地圖,建立基站信息表;基站信息表包含基站位置區(qū)編號(hào)LAC、基站小區(qū)編號(hào)CellID、基站地理位置信息(即是基站經(jīng)緯度坐標(biāo),簡(jiǎn)稱為L(zhǎng)OC)、所屬柵格(簡(jiǎn)稱為CB)、是否覆蓋高速公路(簡(jiǎn)稱為IOW)、對(duì)應(yīng)的道路柵格(簡(jiǎn)稱為CWB);
步驟3:設(shè)T時(shí)刻用戶信息集合為S_U,其中用戶信息包含用戶唯一標(biāo)識(shí)UID以及此用戶在T時(shí)刻之前的軌跡序列;獲取在T到T+t監(jiān)測(cè)時(shí)間段內(nèi)監(jiān)測(cè)區(qū)域產(chǎn)生的所有信令數(shù)據(jù),其中信令數(shù)據(jù)包含用戶唯一標(biāo)識(shí)UID、信令數(shù)據(jù)所屬基站位置區(qū)編號(hào)LAC、基站小區(qū)編號(hào)CellID和時(shí)間戳TimeStamp字段;然后將信令數(shù)據(jù)按用戶分類并對(duì)每個(gè)用戶的數(shù)據(jù)按時(shí)間戳TimeStamp進(jìn)行排序,過(guò)濾乒乓切換,并將用戶在連續(xù)時(shí)間段內(nèi)位于同一位置的數(shù)據(jù)進(jìn)行合并,從而構(gòu)建用戶在監(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列;隨后根據(jù)UID更新用戶信息集合S_U,若S_U中存在此用戶,則更新此用戶的軌跡序列;若S_U中不存在此用戶,則向S_U中添加此用戶信息,由此得到在監(jiān)測(cè)時(shí)間段內(nèi)軌跡數(shù)據(jù)更新的用戶信息集合S_U1;
步驟4:設(shè)在高速路上行駛的用戶為高速公路用戶,獲取T時(shí)刻高速公路用戶集合S_HU(其中S_HU包含于S_U);對(duì)S_U1中各用戶的軌跡序列進(jìn)行有效出行段分割,并分析其最后一段有效出行段的軌跡序列,判斷其是否在高速路上行駛,并據(jù)此更新維護(hù)高速公路用戶集合S_HU和生成計(jì)算高速公路各道路柵格實(shí)時(shí)速度所需的正向軌跡序列集合S_PE和負(fù)向軌跡序列集合S_NE;
步驟5:提取S_PE和S_NE中各軌跡序列,分析計(jì)算得到各道路柵格的正負(fù)向?qū)崟r(shí)速度;其中道路柵格實(shí)時(shí)速度即為道路柵格包含的高速公路路段實(shí)時(shí)速度,其中正負(fù)方向道路柵格實(shí)時(shí)速度計(jì)算方法一致。
進(jìn)一步,在步驟2中,首先根據(jù)基站LOC確定基站所屬柵格CB,隨后根據(jù)基站覆蓋范圍,確定基站覆蓋的柵格集合;若基站覆蓋的柵格集合中含有道路柵格,則將此基站IOW屬性值設(shè)為iw,否則將此IOW屬性值設(shè)為ow;其中iw表示此基站覆蓋范圍含有高速公路,ow表示此基站不能覆蓋高速公路;若基站IOW屬性值為iw,則計(jì)算基站覆蓋的道路柵格與其所在柵格CB的距離,取距離最小的道路柵格為基站映射到道路上的柵格CWB;若基站IOW屬性值為ow,則其CWB取值為null;設(shè)某基站所在柵格為B[a,b],其覆蓋的道路柵格集合為S_CHB={B[c1,d1],B[c2,d2],B[c3,d3],…,B[ci,di],…,B[cm,dm]};計(jì)算S_CHB中各柵格與基站所在柵格B[a,b]的距離S_D={Dc1d1,Dc2d2,Dc3d3,…,Dcidi,…,Dcmdm}(其中Dcidi為B[ci,di]與B[a,b]之間的距離,Dcidi=((ci-a)2+(di-b)2)(1/2)),選取S_D中值最小的柵格為基站映射到道路的柵格。
進(jìn)一步,在步驟4中,具體包括:
步驟4.1:提取S_U1中各用戶的軌跡序列,并進(jìn)行有效出行段分割;提取S_U1中用戶最后一段有效出行段,若此有效出行段信令數(shù)大于一定閾值則跳轉(zhuǎn)到步驟4.2,否則判斷S_HU中是否存在此用戶,若存在此用戶,則根據(jù)用戶行駛方向?qū)⑵湓诒O(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到對(duì)應(yīng)的軌跡序列集合中;
步驟4.2:獲取有效出行段軌跡序列L_P={P1,P2,P3,…,Pi,…,Pu}(其中Pi表示軌跡序列中第i條信令數(shù)據(jù),各信令之間按時(shí)間先后順序排列),根據(jù)步驟2的基站信息表獲取Pi基站對(duì)應(yīng)的道路柵格CWB,由此得到軌跡序列對(duì)應(yīng)的道路柵格序列L_PCWB={CWB1,CWB2,CWB3,…,CWBi,…,CWBu}(其中CWBi為Pi對(duì)應(yīng)的CWB,CWBi可能為null);
步驟4.3:計(jì)算L_PCWB序列中非null的CWB的占比;獲取L_PCWB序列中取值為null的CWB的個(gè)數(shù)N1,以及取值非null的CWB的個(gè)數(shù)N2;計(jì)算非null的CWB的占比R1=N2/(N1+N2);若R1大于一定閾值則轉(zhuǎn)到步驟4.4,否則認(rèn)定此用戶非高速公路用戶,跳轉(zhuǎn)至步驟4.5;
步驟4.4:提取L_PCWB中取值為非null的CWB組成軌跡序列P對(duì)應(yīng)的非空的道路柵格序列L_PCWB2={CWBg1,CWBg2,CWBg3,…,CWBgi,…,CWBgq}(其中L_PCWB2包含于L_PCWB,gi∈[1,u]);提取CWBgi在高速公路道路柵格序列L_HB中的序號(hào)Ogi,則L_PCWB2對(duì)應(yīng)的序號(hào)序列為L(zhǎng)_O={Og1,Og2,Og3,…,Ogi,…,Ogq};計(jì)算L_O中相鄰兩個(gè)元素的平均值A(chǔ)gi=(Ogi+Og(i+1))/2,則L_O平滑處理之后的序列為L(zhǎng)_OA={Ag1,Ag2,Ag3,…,Agi,…,Ag(q-1)};若L_OA序列存在明顯的增長(zhǎng)趨勢(shì),則認(rèn)定此用戶的移動(dòng)方向與高速公路匹配且其為高速公路用戶;若增長(zhǎng)趨勢(shì)為正,則認(rèn)為此用戶移動(dòng)方向?yàn)楦咚俟氛较颍⑵湓诒O(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到S_PE中;若增長(zhǎng)趨勢(shì)為負(fù),則認(rèn)為此用戶移動(dòng)方向?yàn)楦咚俟坟?fù)方向,并將其在監(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到S_NE中;
步驟4.5:更新高速公路用戶集合S_HU;獲取T時(shí)刻高速公路用戶集合為S_HU,若此用戶為高速公路用戶且S_HU不存在此用戶,則添加此用戶到S_HU中;若此用戶判斷為非高速公路用戶且S_HU中存在此用戶,則從S_HU中刪除此用戶。
進(jìn)一步,在步驟5中,以正方向速度求取為例,其步驟包括:
步驟5.1:為L(zhǎng)_HB中各道路柵格設(shè)置對(duì)應(yīng)的速度容器,用于存放各軌跡序列中手機(jī)用戶在兩軌跡點(diǎn)之間的移動(dòng)速度;根據(jù)兩軌跡點(diǎn)之間的路程長(zhǎng)度將速度分成Z個(gè)等級(jí),則每個(gè)道路柵格的速度容器中包含Z個(gè)速度容器,每個(gè)速度容器存放對(duì)應(yīng)的速度數(shù)據(jù);
步驟5.2:計(jì)算S_PE中各軌跡序列中用戶在兩軌跡點(diǎn)之間的移動(dòng)速度,根據(jù)兩軌跡點(diǎn)之間的路程對(duì)計(jì)算得到的速度進(jìn)行等級(jí)劃分,并將其放入相應(yīng)的道路柵格對(duì)應(yīng)的速度容器中;
步驟5.3:利用聚類算法對(duì)L_HB中各道路柵格的各速度容器中的速度數(shù)據(jù)進(jìn)行聚類分析,得到各道路柵格不同路程等級(jí)對(duì)應(yīng)的速度;設(shè)道路柵格B[hi,wi]對(duì)應(yīng)的速度容器集合為S_B[hi,wi]_Con={B[hi,wi]_C1,B[hi,wi]_C2,B[hi,wi]_C3,…,B[hi,wi]_Cj,…,B[hi,wi]_Cz},利用聚類算法分析計(jì)算B[hi,wi]_Cj中速度數(shù)據(jù)得到等級(jí)j對(duì)應(yīng)的速度為Con_Speedj,則道路柵格B[hi,wi]不同等級(jí)速度集合為S_Con_Speed={Con_Speed1,Con_Speed2,Con_Speed3,…,Con_Speedj,…,Con_Speedz};獲取各速度容器中速度數(shù)據(jù)樣本數(shù),則道路柵格B[hi,wi]不同等級(jí)速度樣本數(shù)集合為S_Con_NS={NS1,NS2,NS3,…,NSj,…NSz};則道路柵格B[hi,wi]速度樣本總數(shù)B[hi,wi]_SpeedSwatch_Sum=NS1+NS2+NS3+…+NSj+…+NSz;利用下面公式計(jì)算道路柵格B[hi,wi]實(shí)時(shí)速度B[hi,wi]_RTSpeed:
步驟5.4:根據(jù)道路柵格的實(shí)時(shí)運(yùn)行速度確定其中的高速公路路段的交通狀態(tài)。
進(jìn)一步,在所述步驟5.2中,具體步驟如下:
步驟5.2.1:獲取S_PE中某一軌跡序列L_EP={R1,R2,R3,…,Ri,…,Rk}(其中Ri表示此軌跡序列中第i個(gè)軌跡點(diǎn));順序遍歷L_EP中各軌跡點(diǎn),計(jì)算手機(jī)用戶在其與后續(xù)各點(diǎn)之間的移動(dòng)速度,并將計(jì)算得到的速度歸入到相應(yīng)道路柵格的速度容器中;
步驟5.2.2:設(shè)軌跡點(diǎn)Ri-1和Ri對(duì)應(yīng)的道路柵格分別為B[e(i-1),f(i-1)]和B[ei,fi],獲取B[e(i-1),f(i-1)]和B[ei,fi]在L_HB中序號(hào),若兩序號(hào)的差值與此用戶的移動(dòng)方向同為正或同為負(fù),則跳轉(zhuǎn)至5.2.3;
步驟5.2.3:計(jì)算B[e(i-1),f(i-1)]和B[ei,fi]之間的路程Dis(i-1)i;獲取L_HB中B[e(i-1),f(i-1)]和B[ei,fi]之間的子序列L_EHB={B[s1,l1],B[s2,l2],…,B[si,li],…,B[sv,lv]},則B[e(i-1),f(i-1)]和B[ei,fi]之間的路程Dis(i-1)i可用下面公式計(jì)算得到;
步驟5.2.4:設(shè)軌跡點(diǎn)Ri-1和Ri對(duì)應(yīng)的時(shí)間戳TimeStamp(i-1)和TimeStampi,則用戶在Ri-1和Ri之間的移動(dòng)速度Speed(i-1)i=Dis(i-1)i/(TimeStampi-TimeStamp(i-1));
步驟5.2.5:根據(jù)步驟5.2.3獲取的路程Dis(i-1)i將Speed(i-1)i放到B[e(i-1),f(i-1)]和B[ei,fi]之間的子序列L_EHB中的各個(gè)道路柵格對(duì)應(yīng)的速度容器中;設(shè)Speed(i-1)i對(duì)應(yīng)的等級(jí)為L(zhǎng)evel_Speed(i-1)i,等級(jí)序列為L(zhǎng)_Level={Level1,Level2,Level3,…,Levelj,…,Levelz}(其中Levelj表示第j個(gè)速度等級(jí));則可由以下公式確定Level_Speed(i-1)i;即是若Dis(i-1)i大于等于DisNumj且小于DisNumj+1,則Level_Speed(i-1)i為L(zhǎng)evelj;其中DisNumj+1大于DisNumj,若Dis(i-1)i不在任何一區(qū)間內(nèi),則將此速度數(shù)據(jù)舍棄;
本發(fā)明的有益效果在于:本發(fā)明通過(guò)分析實(shí)時(shí)采集的信令數(shù)據(jù),識(shí)別在高速路上行駛的用戶;并利用用戶在監(jiān)測(cè)周期內(nèi)產(chǎn)生的信令數(shù)據(jù)分析計(jì)算得到高速公路路段平均運(yùn)行速度,根據(jù)路段平均運(yùn)行速度得到高速公路實(shí)時(shí)路況;本發(fā)明無(wú)需額外的硬件設(shè)備,且其實(shí)現(xiàn)方法簡(jiǎn)單,準(zhǔn)確度較高。
附圖說(shuō)明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說(shuō)明:
圖1為本發(fā)明提供的一種基于手機(jī)信令數(shù)據(jù)實(shí)時(shí)獲取高速公路運(yùn)行狀態(tài)的方法的流程。
具體實(shí)施方式
下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
圖1為本發(fā)明提供的一種基于手機(jī)信令數(shù)據(jù)實(shí)時(shí)獲取高速公路運(yùn)行狀態(tài)的方法的流程,如圖所示,該方法具體包括以下步驟:
步驟1:根據(jù)高速公路實(shí)際路線,劃定矩形監(jiān)測(cè)區(qū)域。采用長(zhǎng)寬均為L(zhǎng)的正方形柵格對(duì)監(jiān)測(cè)區(qū)域進(jìn)行柵格化處理。以監(jiān)測(cè)區(qū)域左下角為起點(diǎn),以地理水平線為橫軸,垂線為縱軸劃分柵格。柵格表示為B[x,y],其中x為此柵格所在行數(shù),y為此柵格所在列數(shù)。設(shè)高速公路某一行駛方向?yàn)檎?,設(shè)含有高速公路路段的柵格為道路柵格,由此得到高速公路正向道路柵格序列L_HB={B[h1,w1],B[h2,w2],B[h3,w3],…,B[hi,wi],…,B[hn,wn]},其中B[hi,wi]為一個(gè)道路柵格,hi為此柵格所在行數(shù),wi為此柵格所在列數(shù)。
步驟2:獲取監(jiān)測(cè)區(qū)域內(nèi)的基站數(shù)據(jù),并根據(jù)步驟1確定的柵格地圖,建立基站信息表。基站信息表包含基站位置區(qū)編號(hào)LAC、基站小區(qū)編號(hào)CellID、基站地理位置信息(即是基站經(jīng)緯度坐標(biāo),簡(jiǎn)稱為L(zhǎng)OC)、所屬柵格(簡(jiǎn)稱為CB)、是否覆蓋高速公路(簡(jiǎn)稱為IOW)、對(duì)應(yīng)的道路柵格(簡(jiǎn)稱為CWB)。首先根據(jù)基站LOC確定基站所屬柵格CB,隨后根據(jù)基站覆蓋范圍,確定基站覆蓋的柵格集合。若基站覆蓋的柵格集合中含有道路柵格,則將此基站IOW屬性值設(shè)為iw,否則將此IOW屬性值設(shè)為ow。其中iw表示此基站覆蓋范圍含有高速公路,ow表示此基站不能覆蓋高速公路。若基站IOW屬性值為iw,則計(jì)算基站覆蓋的道路柵格與其所在柵格CB的距離,取距離最小的道路柵格為基站映射到道路上的柵格CWB。若基站IOW屬性值為ow,則其CWB取值為null。設(shè)某基站所在柵格為B[a,b],其覆蓋的道路柵格集合為S_CHB={B[c1,d1],B[c2,d2],B[c3,d3],…,B[ci,di],…,B[cm,dm]}。計(jì)算S_CHB中各柵格與基站所在柵格B[a,b]的距離S_D={Dc1d1,Dc2d2,Dc3d3,…,Dcidi,…,Dcmdm}(其中Dcidi為B[ci,di]與B[a,b]之間的距離,Dcidi=((ci-a)2+(di-b)2)(1/2)),選取S_D中值最小的柵格為基站映射到道路的柵格。
步驟3:設(shè)T時(shí)刻用戶信息集合為S_U,其中用戶信息包含用戶唯一標(biāo)識(shí)UID以及此用戶在T時(shí)刻之前的軌跡序列。獲取在T到T+t監(jiān)測(cè)時(shí)間段內(nèi)監(jiān)測(cè)區(qū)域產(chǎn)生的所有信令數(shù)據(jù),其中信令數(shù)據(jù)包含用戶唯一標(biāo)識(shí)UID、信令數(shù)據(jù)所屬基站位置區(qū)編號(hào)LAC、基站小區(qū)編號(hào)CellID和時(shí)間戳TimeStamp字段。然后將信令數(shù)據(jù)按用戶分類并對(duì)每個(gè)用戶的數(shù)據(jù)按時(shí)間戳TimeStamp進(jìn)行排序,過(guò)濾乒乓切換,并將用戶在連續(xù)時(shí)間段內(nèi)位于同一位置的數(shù)據(jù)進(jìn)行合并,從而構(gòu)建用戶在監(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列。隨后根據(jù)UID更新用戶信息集合S_U,若S_U中存在此用戶,則更新此用戶的軌跡序列。若S_U中不存在此用戶,則向S_U中添加此用戶信息。由此得到在監(jiān)測(cè)時(shí)間段內(nèi)軌跡數(shù)據(jù)更新的用戶信息集合S_U1。
步驟4:設(shè)在高速路上行駛的用戶為高速公路用戶,獲取T時(shí)刻高速公路用戶集合S_HU(其中S_HU包含于S_U)。對(duì)S_U1中各用戶的軌跡序列進(jìn)行有效出行段分割,并分析其最后一段有效出行段的軌跡序列,判斷其是否在高速路上行駛,并據(jù)此更新維護(hù)高速公路用戶集合S_HU和生成計(jì)算高速公路各道路柵格實(shí)時(shí)速度所需的正向軌跡序列集合S_PE和負(fù)向軌跡序列集合S_NE。具體步驟如下:
步驟4.1:提取S_U1中各用戶的軌跡序列,并進(jìn)行有效出行段分割。提取S_U1中用戶最后一段有效出行段,若此有效出行段信令數(shù)大于一定閾值則跳轉(zhuǎn)到步驟4.2,否則判斷S_HU中是否存在此用戶,若存在此用戶,則根據(jù)用戶行駛方向?qū)⑵湓诒O(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到對(duì)應(yīng)的軌跡序列集合中。
步驟4.2:獲取有效出行段軌跡序列L_P={P1,P2,P3,…,Pi,…,Pu}(其中Pi表示軌跡序列中第i條信令數(shù)據(jù),各信令之間按時(shí)間先后順序排列),根據(jù)步驟2的基站信息表獲取Pi基站對(duì)應(yīng)的道路柵格CWB,由此得到軌跡序列對(duì)應(yīng)的道路柵格序列L_PCWB={CWB1,CWB2,CWB3,…,CWBi,…,CWBu}(其中CWBi為Pi對(duì)應(yīng)的CWB,CWBi可能為null)。
步驟4.3:計(jì)算L_PCWB序列中非null的CWB的占比。獲取L_PCWB序列中取值為null的CWB的個(gè)數(shù)N1,以及取值非null的CWB的個(gè)數(shù)N2。計(jì)算非null的CWB的占比R1=N2/(N1+N2)。若R1大于一定閾值則轉(zhuǎn)到步驟4.4,否則認(rèn)定此用戶非高速公路用戶,跳轉(zhuǎn)至步驟4.5。
步驟4.4:提取L_PCWB中取值為非null的CWB組成軌跡序列P對(duì)應(yīng)的非空的道路柵格序列L_PCWB2={CWBg1,CWBg2,CWBg3,…,CWBgi,…,CWBgq}(其中L_PCWB2包含于L_PCWB,gi∈[1,u])。提取CWBgi在高速公路道路柵格序列L_HB中的序號(hào)Ogi,則L_PCWB2對(duì)應(yīng)的序號(hào)序列為L(zhǎng)_O={Og1,Og2,Og3,…,Ogi,…,Ogq}。計(jì)算L_O中相鄰兩個(gè)元素的平均值A(chǔ)gi=(Ogi+Og(i+1))/2,則L_O平滑處理之后的序列為L(zhǎng)_OA={Ag1,Ag2,Ag3,…,Agi,…,Ag(q-1)}。若L_OA序列存在明顯的增長(zhǎng)趨勢(shì),則認(rèn)定此用戶的移動(dòng)方向與高速公路匹配且其為高速公路用戶。若增長(zhǎng)趨勢(shì)為正,則認(rèn)為此用戶移動(dòng)方向?yàn)楦咚俟氛较颍⑵湓诒O(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到S_PE中。若增長(zhǎng)趨勢(shì)為負(fù),則認(rèn)為此用戶移動(dòng)方向?yàn)楦咚俟坟?fù)方向,并將其在監(jiān)測(cè)時(shí)間段內(nèi)的軌跡序列添加到S_NE中。
步驟4.5:更新高速公路用戶集合S_HU。獲取T時(shí)刻高速公路用戶集合為S_HU,若此用戶為高速公路用戶且S_HU不存在此用戶,則添加此用戶到S_HU中。若此用戶判斷為非高速公路用戶且S_HU中存在此用戶,則從S_HU中刪除此用戶。
步驟5:提取S_PE和S_NE中各軌跡序列,分析計(jì)算得到各道路柵格的正負(fù)向?qū)崟r(shí)速度。其中道路柵格實(shí)時(shí)速度即為道路柵格包含的高速公路路段實(shí)時(shí)速度。其中正負(fù)方向道路柵格實(shí)時(shí)速度計(jì)算方法一致。下面以正方向道路柵格實(shí)時(shí)速度計(jì)算為例,其具體步驟如下:
步驟5.1:為L(zhǎng)_HB中各道路柵格設(shè)置對(duì)應(yīng)的速度容器,用于存放各軌跡序列中手機(jī)用戶在兩軌跡點(diǎn)之間的移動(dòng)速度。且又根據(jù)兩軌跡點(diǎn)之間的路程長(zhǎng)度將速度分成Z個(gè)等級(jí),則每個(gè)道路柵格的速度容器中包含Z個(gè)速度容器,每個(gè)速度容器存放對(duì)應(yīng)的速度數(shù)據(jù)。
步驟5.2:計(jì)算S_PE中各軌跡序列中用戶在兩軌跡點(diǎn)之間的移動(dòng)速度,根據(jù)兩軌跡點(diǎn)之間的路程對(duì)計(jì)算得到的速度進(jìn)行等級(jí)劃分,并將其放入相應(yīng)的道路柵格對(duì)應(yīng)的速度容器中。具體步驟如下:
步驟5.2.1:獲取S_PE中某一軌跡序列L_EP={R1,R2,R3,…,Ri,…,Rk}(其中Ri表示此軌跡序列中第i個(gè)軌跡點(diǎn))。順序遍歷L_EP中各軌跡點(diǎn),計(jì)算手機(jī)用戶在其與后續(xù)各點(diǎn)之間的移動(dòng)速度,并將計(jì)算得到的速度歸入到相應(yīng)道路柵格的速度容器中。
步驟5.2.2:設(shè)軌跡點(diǎn)Ri-1和Ri對(duì)應(yīng)的道路柵格分別為B[e(i-1),f(i-1)]和B[ei,fi],獲取B[e(i-1),f(i-1)]和B[ei,fi]在L_HB中序號(hào),若兩序號(hào)的差值與此用戶的移動(dòng)方向同為正或同為負(fù),則跳轉(zhuǎn)至5.2.3。
步驟5.2.3:計(jì)算B[e(i-1),f(i-1)]和B[ei,fi]之間的路程Dis(i-1)i。獲取L_HB中B[e(i-1),f(i-1)]和B[ei,fi]之間的子序列L_EHB={B[s1,l1],B[s2,l2],…,B[si,li],…,B[sv,lv]},則B[e(i-1),f(i-1)]和B[ei,fi]之間的路程Dis(i-1)i可用下面公式計(jì)算得到。
步驟5.2.4:設(shè)軌跡點(diǎn)Ri-1和Ri對(duì)應(yīng)的時(shí)間戳TimeStamp(i-1)和TimeStampi,則用戶在Ri-1和Ri之間的移動(dòng)速度Speed(i-1)i=Dis(i-1)i/(TimeStampi-TimeStamp(i-1))。
步驟5.2.5:根據(jù)步驟5.2.3獲取的路程Dis(i-1)i將Speed(i-1)i放到B[e(i-1),f(i-1)]和B[ei,fi]之間的子序列L_EHB中的各個(gè)道路柵格對(duì)應(yīng)的速度容器中。設(shè)Speed(i-1)i對(duì)應(yīng)的等級(jí)為L(zhǎng)evel_Speed(i-1)i,等級(jí)序列為L(zhǎng)_Level={Level1,Level2,Level3,…,Levelj,…,Levelz}(其中Levelj表示第j個(gè)速度等級(jí))。則可由以下公式確定Level_Speed(i-1)i。即是若Dis(i-1)i大于等于DisNumj且小于DisNumj+1,則Level_Speed(i-1)i為L(zhǎng)evelj。其中DisNumj+1大于DisNumj,若Dis(i-1)i不在任何一區(qū)間內(nèi),則將此速度數(shù)據(jù)舍棄。
步驟5.3:利用聚類算法對(duì)L_HB中各道路柵格的各速度容器中的速度數(shù)據(jù)進(jìn)行聚類分析,得到各道路柵格不同路程等級(jí)對(duì)應(yīng)的速度。設(shè)道路柵格B[hi,wi]對(duì)應(yīng)的速度容器集合為S_B[hi,wi]_Con={B[hi,wi]_C1,B[hi,wi]_C2,B[hi,wi]_C3,…,B[hi,wi]_Cj,…,B[hi,wi]_Cz},利用聚類算法分析計(jì)算B[hi,wi]_Cj中速度數(shù)據(jù)得到等級(jí)j對(duì)應(yīng)的速度為Con_Speedj,則道路柵格B[hi,wi]不同等級(jí)速度集合為:
S_Con_Speed={Con_Speed1,Con_Speed2,Con_Speed3,…,Con_Speedj,…,Con_Speedz}。獲取各速度容器中速度數(shù)據(jù)樣本數(shù),則道路柵格B[hi,wi]不同等級(jí)速度樣本數(shù)集合為S_Con_NS={NS1,NS2,NS3,…,NSj,…NSz}。則道路柵格B[hi,wi]速度樣本總數(shù)B[hi,wi]_SpeedSwatch_Sum=NS1+NS2+NS3+…+NSj+…+NSz。利用下面公式計(jì)算道路柵格B[hi,wi]實(shí)時(shí)速度B[hi,wi]_RTSpeed。
步驟5.4:根據(jù)道路柵格的實(shí)時(shí)運(yùn)行速度確定其中的高速公路路段的交通狀態(tài)。
最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。