如何检查两条GPS路线是否相等?

时间:2014-09-04 01:46:12

标签: objective-c algorithm gps coordinates core-location

想象一下,有两个人跑了两次同一条街。但由于GPS不是100%准确,这两条路线是不同的。您可以更好地了解下面的图片: enter image description here

Red Line - First time run
Blue Line - Second time run
Black Line - Street
Dots - GPS coordinates (latitude and longitude)

我想要达到的目的是确认这两条路线是一样的。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

尝试使用Fréchet距离来应用G. Bach的建议。维基百科(http://en.wikipedia.org/wiki/Frechet_distance)上有一个很好的描述:

  

两条曲线之间的Fréchet距离是连接狗及其所有者所需的皮带的最小长度,受限于两条不同的路径,因为它们沿着它们各自的曲线从一个端点到另一个端点没有回溯。该定义相对于两条曲线是对称的。想象一下,一条狗沿着一条曲线行走,而狗的主人则沿着另一条曲线行走,用皮带连接起来。两者都沿着它们各自的曲线从规定的起点到曲线的规定终点连续行走。两者都可以在任意位置和任意长度上改变速度,甚至停止。但是,两者都不能回溯。两条曲线之间的Fréchet距离是最短皮带的长度(不是足够所有行走的最短皮带,但是所有皮带的最短皮带)足以以这种方式穿过两条曲线。