【问题标题】:How to check if two gps routes are equals?如何检查两条gps路线是否相等?
【发布时间】:2014-09-04 01:46:12
【问题描述】:

想象一下,某个人在同一条街上跑了两次。但由于 GPS 不是 100% 准确,这两条路线是不同的。看下图就可以更好地理解:

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

我想要实现的是确认这两条路线是相同的。有人知道吗?

【问题讨论】:

  • 将点数据与可用地图进行比较,找到一个阈值来将两个点视为不在同一条街道上?

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多