Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

Fréchet distance(弗雷歇距離)是法國數學家Maurice René Fréchet在1906年提出的一種路徑空間相似性計算方法。

直觀的理解,Fréchet distance就是狗繩距離:主人走路徑A,狗走路徑B,他們行進的速度可能不同,但是不允許backtracking,各自走完這兩條路徑過程中所需要的最短狗繩長度

Fréchet distance不僅考慮了曲線的空間位置,同時還考慮了曲線中形狀點的順序。

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

數學描述

給定Curve 1:

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

和Curve 2:

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

Fréchet distance定義如下:

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

Frechet Distance

α是將[0,1]映射到[a,b]連續非降函數,β是將[0,1]映射到[a',b']連續非降函數。

實際計算中,用多邊形曲線逼近連續曲線,轉化為Discrete Frechet Distance。

假設多邊形曲線為P,Q;

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance
Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

要計算P和Q的Fréchet distance,要先找到對應的點對序列

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

其中

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

為了保證點的順序,對於所有的i=1,2,...q令

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

然後計算對應點對的最大距離:

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

longest link

離散弗雷歇距離(Discrete Frechet Distance)的計算如下:

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

離散弗雷歇距離

離散弗雷歇距離(Discrete Frechet Distance)算法

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance

Discrete Frechet Distance Algorithm

python實現

Map Matching-軌跡相似性度量算法-Discrete Frechet Distance
Map Matching-軌跡相似性度量算法-Discrete Frechet Distance
Map Matching-軌跡相似性度量算法-Discrete Frechet Distance


分享到:


相關文章: