本發(fā)明涉及一種將用戶定位數(shù)據(jù)快速吸附到路網(wǎng),并將相鄰用戶定位位置鏈接成用戶軌跡的方法。
背景技術(shù):
現(xiàn)有的路網(wǎng)吸附方法采用以下步驟:
遍歷當(dāng)前定位點所在的平面圖上所有的路網(wǎng)數(shù)據(jù),找到離當(dāng)前定位點距離最小的路網(wǎng)片段,在該路網(wǎng)片段上找到離當(dāng)前定位點最鄰近的點作為當(dāng)前吸附點,如果存在前一個吸附點,則將當(dāng)前吸附點與前一個吸附點相連,形成用戶路徑。
上述方法存在的缺點是:1、需要遍歷平面圖上所有的路網(wǎng)片段,時間復(fù)雜度高;2、當(dāng)前吸附點與前一個吸附點相連形成的用戶路徑不一定是最短的。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:降低路網(wǎng)吸附方法的時間復(fù)雜度,同時提高準確性。
為了達到上述目的,本發(fā)明的技術(shù)方案是提供了一種描繪終端定位軌跡時的路網(wǎng)吸附方法,其特征在于,包括以下步驟:
步驟1、將路網(wǎng)按照有向圖的方式進行存儲,形成有向路網(wǎng)圖;
步驟2、將獲取到的定位點作為當(dāng)前定位點;
步驟3、判斷是否存在上一個定位點,若不存在,則進入步驟4,若存在,則進入步驟6;
步驟4、遍歷有向路網(wǎng)圖上所有的路網(wǎng)片段,找到離當(dāng)前定位點距離最短的路網(wǎng)片段,在該路網(wǎng)片段上找到離當(dāng)前定位點最鄰近的點作為當(dāng)前定位點的吸附點;
步驟5、獲取下一個定位點后返回步驟2;
步驟6、計算上一個定位點的吸附點對應(yīng)的時間與當(dāng)前定位點對應(yīng)的時間的差值dwell,設(shè)置搜索長度length=dwell×C,式中,C為預(yù)先設(shè)定的參數(shù);
步驟7、將上一個定位點的吸附點所在的路網(wǎng)片段的兩個端點作為搜索起點,采用SPFA算法沿著有向路網(wǎng)圖的方向搜索有向路網(wǎng)圖上的各路網(wǎng)片段,同時記錄各路網(wǎng)片段的父子關(guān)系,并計算每次搜索出來的路網(wǎng)片段與當(dāng)前定位點之間的距離,將具有距離最小值的路網(wǎng)片段記錄為路網(wǎng)片段minLineString;
步驟8、計算路網(wǎng)片段minLineString上與當(dāng)前定位點最鄰近的點,記為點leastPoint,將點leastPoint作為當(dāng)前定位點的吸附點,再根據(jù)各路網(wǎng)片段的父子關(guān)系,找到上一個定位點對應(yīng)的吸附點到點leastPoint的路網(wǎng)片段,將該路網(wǎng)片段作為用戶路徑;
步驟9、獲取下一個定位點后返回步驟2。
本發(fā)明不需要遍歷所有路網(wǎng)片段即可找到離當(dāng)前定位點距離最短的路網(wǎng)片段,同時能夠快速搜索到當(dāng)前定位點到上一個路網(wǎng)吸附點之間的最短路徑。
附圖說明
圖1為本發(fā)明的一個屬性驗證的流程圖。
具體實施方式
下面結(jié)合具體實施例,進一步闡述本發(fā)明。應(yīng)理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
結(jié)合圖1,本發(fā)明提供的一種描繪終端定位軌跡時的路網(wǎng)吸附方法,包括以下步驟:
步驟1、將路網(wǎng)按照有向圖的方式進行存儲,形成有向路網(wǎng)圖;
步驟2、將獲取到的定位點作為當(dāng)前定位點;
步驟3、判斷是否存在上一個定位點,若不存在,則進入步驟4,若存在,則進入步驟6;
步驟4、遍歷有向路網(wǎng)圖上所有的路網(wǎng)片段,找到離當(dāng)前定位點距離最短的路網(wǎng)片段,在該路網(wǎng)片段上找到離當(dāng)前定位點最鄰近的點作為當(dāng)前定位點的吸附點;
步驟5、獲取下一個定位點后返回步驟2;
步驟6、計算上一個定位點的吸附點對應(yīng)的時間與當(dāng)前定位點對應(yīng)的時間的差值dwell,設(shè)置搜索長度length=dwell×C,式中,C為預(yù)先設(shè)定的參數(shù);
步驟7、將上一個定位點的吸附點所在的路網(wǎng)片段的兩個端點作為搜索起點,采用SPFA算法沿著有向路網(wǎng)圖的方向搜索有向路網(wǎng)圖上的各路網(wǎng)片段,同時記錄各路網(wǎng)片段的父子關(guān)系,并計算每次搜索出來的路網(wǎng)片段與當(dāng)前定位點之間的距離,將具有距離最小值的路網(wǎng)片段記錄為路網(wǎng)片段minLineString;
步驟8、計算路網(wǎng)片段minLineString上與當(dāng)前定位點最鄰近的點,記為點leastPoint,將點leastPoint作為當(dāng)前定位點的吸附點,再根據(jù)各路網(wǎng)片段的父子關(guān)系,找到上一個定位點對應(yīng)的吸附點到點leastPoint的路網(wǎng)片段,將該路網(wǎng)片段作為用戶路徑;
步驟9、獲取下一個定位點后返回步驟2。
相比于現(xiàn)有的路網(wǎng)吸附方法,本發(fā)明的改進之處在于:1、路網(wǎng)按照有向圖的方式存儲;2、設(shè)置起點按照路網(wǎng)方向搜索;3、搜索算法采用SPFA算法;4、將相鄰兩點的時間乘以參數(shù)C作為最長搜索長度。