简述
** OWD(One Way Distance)**算法也是一种描述两个路径之间相似度的方法,最早大概提出于06年左右。最朴素的OWD算法的思路也非常简单,就是把路径之间的距离转化为点到路径的距离再加以处理。这里只对这种算法做简要介绍,至于深层次的理论有空再研究论文。
定义
在定义路径间的距离$D_{owd}$之前,我们先定义点到路径的距离$D_{point}$:
对于点$p$和一个由多个点组成的路径$T$,定义他们之间的距离为$$D_{point}(p,T)=min_{q \in T} D_{Euclid}(p,q)$$
其中$D_{Euclid}(p,q)$表示$p.q$之间的欧式距离。
然后,我们定义路径$T_1$到路径$T_2$的单向距离$D_{owd}(T_1,T_2)$为:
$$D_{owd}(T_1,T_2)=\frac1{|T_1|}(\sum_{p\in T_1}D_{point}(p,T_2))$$
(对于非离散的路径,我们可以把他看成是一个积分过程)
很容易看出来,这个单向距离不具有对称性,即$D_{owd}(T_1,T_2)$与$D_{owd}(T_2,T_1)$不一定相等。那么为了得到一个对称的结果,我们定义一个新的度量标准:
$$D(T_1,T_2)=\frac12(D_{owd}(T_1,T_2)+D_{owd}(T_2,T_1))$$
这就是OWD距离中最终用来判定路径相似度的标准。
小结
从OWD距离计算的方式就可以看出,他能够很好的对不同长度的路径间距离进行归一化,而且对于噪声敏感度比较低。
参考
Bin Lin, Jianwen Su, One Way Distance: For Shape Based Similarity Search of Moving Object Trajectories. In Geoinformatica (2008)