本發(fā)明涉及軌跡相似度計算,具體涉及一種軌跡相似度計算方法和設(shè)備。
背景技術(shù):
1、在網(wǎng)約車行業(yè)中,經(jīng)常會出現(xiàn)司機不按照導(dǎo)航行駛,原因可能為司機繞路,司機走錯路或者乘客指路等,為了提高平臺服務(wù)體驗,會對司機的真實行駛軌跡和導(dǎo)航軌跡,或者預(yù)估規(guī)劃軌跡和計費軌跡等做相似度對比,通過相似度對比來發(fā)現(xiàn)一些有問題的訂單和司機進行即時風(fēng)控處理,提高平臺服務(wù)體驗。
2、在現(xiàn)有技術(shù)中,軌跡相似度評估通常受到軌跡點采樣不均勻的影響。傳統(tǒng)方法如歐氏距離、動態(tài)時間彎曲(dtw)等,盡管在一定程度上有效,但在處理密度不一致的軌跡時容易出現(xiàn)誤判。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種軌跡相似度計算方法和設(shè)備,以克服目前由于采樣不均勻?qū)е萝壽E密度不一致,計算結(jié)果出現(xiàn)偏差的問題。
2、為實現(xiàn)以上目的,本發(fā)明采用如下技術(shù)方案:
3、一方面,本申請?zhí)峁┝艘环N軌跡相似度計算方法,包括:
4、獲取待計算第一軌跡和第二軌跡;
5、使用坐標(biāo)填充算法對所述第一軌跡和所述第二軌跡進行等距離填充;
6、根據(jù)填充后的所述第二軌跡構(gòu)建圈選數(shù)據(jù);
7、根據(jù)填充后的所述第一軌跡對所述圈選數(shù)據(jù)進行圈選,并根據(jù)圈選結(jié)果對填充后的所述第一軌跡中的坐標(biāo)點進行標(biāo)記;
8、根據(jù)填充后所述第一軌跡中標(biāo)記的坐標(biāo)點和未標(biāo)記的坐標(biāo)點計算所述第二軌跡相對于所述第一軌跡的軌跡相似度。
9、進一步的,以上所述的方法,所述使用坐標(biāo)填充算法對所述第一軌跡和所述第二軌跡進行等距離填充,包括:
10、確認(rèn)所述第一軌跡和所述第二軌跡中的所有坐標(biāo)點;
11、確定所述第一軌跡坐標(biāo)點和所述第二軌跡坐標(biāo)點間的最小距離;
12、根據(jù)所述最小距離確認(rèn)填充距離;
13、根據(jù)所述填充距離,使用坐標(biāo)填充算法對所述第一軌跡和所述第二軌跡進行等距離填充。
14、進一步的,以上所述的方法,所述根據(jù)填充后的所述第二軌跡構(gòu)建圈選數(shù)據(jù),包括:
15、確認(rèn)填充后的所述第二軌跡的所有坐標(biāo)點;
16、以redis?geo命令geoadd將所述第二軌跡的所有坐標(biāo)點存入到redis數(shù)據(jù)庫中,生成圈選數(shù)據(jù)。
17、進一步的,以上所述的方法,所述根據(jù)填充后的所述第一軌跡對所述圈選數(shù)據(jù)進行圈選,并根據(jù)圈選結(jié)果對填充后的所述第一軌跡中的坐標(biāo)點進行標(biāo)記,包括:
18、確認(rèn)填充后的所述第一軌跡的所有坐標(biāo)點;
19、將填充后的所述第一軌跡的所有坐標(biāo)點依次存入到map數(shù)據(jù)結(jié)構(gòu);
20、根據(jù)所述填充距離確認(rèn)圈選距離;
21、使用redis?geo命令georedius命令以圈選距離為半徑,填充后的所述第一軌跡的坐標(biāo)點為中心,對所述圈選數(shù)據(jù)進行圈選,并對填充后的所述第一軌跡所有坐標(biāo)點的圈選結(jié)果進行標(biāo)記。
22、進一步的,以上所述的方法,所述使用redis?geo命令georedius命令以圈選距離為半徑,填充后的所述第一軌跡的坐標(biāo)點為中心,對所述圈選數(shù)據(jù)進行圈選,并對填充后的所述第一軌跡所有坐標(biāo)點的圈選結(jié)果進行標(biāo)記,包括:
23、使用redis?geo命令georedius命令以圈選距離為半徑,填充后的所述第一軌跡的坐標(biāo)點為中心,對所述圈選數(shù)據(jù)進行圈選;
24、確認(rèn)當(dāng)前坐標(biāo)點的所有圈選坐標(biāo)點;
25、若所述當(dāng)前坐標(biāo)點不存在圈選坐標(biāo)點,則不對所述當(dāng)前坐標(biāo)點進行標(biāo)記,并對下一坐標(biāo)點進行圈選;
26、若所述當(dāng)前坐標(biāo)點存在圈選坐標(biāo)點,對所述當(dāng)前坐標(biāo)點進行標(biāo)記,并在所述圈選坐標(biāo)點中,確認(rèn)距離所述當(dāng)前坐標(biāo)點最近的坐標(biāo)點;
27、在所述圈選數(shù)據(jù)中刪除距離所述當(dāng)前坐標(biāo)點最近的坐標(biāo)點,并對下一坐標(biāo)點進行圈選。
28、進一步的,以上所述的方法,所述根據(jù)填充后所述第一軌跡中標(biāo)記的坐標(biāo)點和未標(biāo)記的坐標(biāo)點計算所述第二軌跡相對于所述第一軌跡的軌跡相似度,包括:
29、計算填充后所述第一軌跡中標(biāo)記的坐標(biāo)點數(shù)量與填充后所述第一軌跡所有坐標(biāo)點數(shù)量的比值;
30、所述比值結(jié)果即為所述第二軌跡相對于所述第一軌跡的軌跡相似度。
31、另一方面,本申請?zhí)峁┝艘环N軌跡相似度計算設(shè)備,包括處理器和存儲器,所述處理器與存儲器相連:
32、其中,所述處理器,用于調(diào)用并執(zhí)行所述存儲器中存儲的程序;
33、所述存儲器,用于存儲所述程序,所述程序至少用于執(zhí)行以上任一項所述的軌跡相似度計算方法。
34、本發(fā)明的有益效果為:
35、本申請首先獲取待計算第一軌跡和第二軌跡,使用坐標(biāo)填充算法對第一軌跡和第二軌跡進行等距離填充,根據(jù)填充后的第二軌跡構(gòu)建圈選數(shù)據(jù),根據(jù)填充后的第一軌跡對圈選數(shù)據(jù)進行圈選,并根據(jù)圈選結(jié)果對填充后的第一軌跡中的坐標(biāo)點進行標(biāo)記,根據(jù)填充后第一軌跡中標(biāo)記的坐標(biāo)點和未標(biāo)記的坐標(biāo)點計算第二軌跡相對于第一軌跡的軌跡相似度。在本申請中,?采用坐標(biāo)填充算法對原始軌跡進行預(yù)處理,在保持原有運動特征不變的前提下解決了目前由于采樣不均勻?qū)е萝壽E密度不一致,計算結(jié)果出現(xiàn)偏差的問題。
1.一種軌跡相似度計算方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述使用坐標(biāo)填充算法對所述第一軌跡和所述第二軌跡進行等距離填充,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)填充后的所述第二軌跡構(gòu)建圈選數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)填充后的所述第一軌跡對所述圈選數(shù)據(jù)進行圈選,并根據(jù)圈選結(jié)果對填充后的所述第一軌跡中的坐標(biāo)點進行標(biāo)記,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述使用redis?geo命令georedius命令以圈選距離為半徑,填充后的所述第一軌跡的坐標(biāo)點為中心,對所述圈選數(shù)據(jù)進行圈選,并對填充后的所述第一軌跡所有坐標(biāo)點的圈選結(jié)果進行標(biāo)記,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)填充后所述第一軌跡中標(biāo)記的坐標(biāo)點和未標(biāo)記的坐標(biāo)點計算所述第二軌跡相對于所述第一軌跡的軌跡相似度,包括:
7.一種軌跡相似度計算設(shè)備,其特征在于,包括處理器和存儲器,所述處理器與存儲器相連: