【问题标题】:Find best matching routes from GPS data从 GPS 数据中查找最佳匹配路线
【发布时间】:2011-07-20 21:03:49
【问题描述】:

我正在制作一个应用程序,用户可以在其日常旅行时将 GPS 数据从手机保存到服务器。例如,他们要从家里上班。 GPS 数据存储在数据库中。

现在,用户想知道也许还有更多的人也在这条路线上旅行。我想比较不同的用户路线,并给用户例如 3-5 个来自其他用户路线的最佳匹配。

重要的是比较整个行程,因为用户可以加入他们的路线并从某个点开始一起工作,而不仅仅是从开始和结束。另外我认为重要的是用户视图的目的地点,他们正在搜索其他用户的路线。其他用户路线必须在搜索者路线终点附近。

有两个因素 - 时间和地点。例如,一个用户开车,另一个用户步行和乘坐公共汽车。走路的人更早开始旅行,另一个人更晚,因为他走这条路线的速度更快。在某个时间点,他们的路线是匹配的。

如何比较路线?有算法吗?我需要比较路线中的每个点吗?

【问题讨论】:

  • 不确定答案是什么,但这是一个非常有趣的问题 - 我喜欢这样的挑战....首先想到的是您可能需要以某种方式抽象数据并进行某种模式匹配结果。另一个想法是,旅程本身很重要,还是只有起点和终点才是真正重要的?例如,如果这是一个汽车共享应用程序,您是否正在寻找包含起点和终点的另一条路线?
  • @Richard Baxter 编辑了我的问题。

标签: android algorithm google-maps gps routes


【解决方案1】:

基本上你在谈论路由算法和旅行推销员的组合

最常见的路由算法是大约 50 年前由Dijkstra 发明的,它计算了在有向网络中从 a 点到达 b 点的最佳方式——在路由应用程序中,这意味着每条道路都表示为网络中的边缘,并且每个边缘都与“成本”相关联,即沿着道路行驶所需的时间,或平均速度,或者在您的情况下,它将是在该路线上行驶的人数。

Traveling Sales Man 略有不同但也相关,试图优化访问的节点数量 - 在您的情况下,它可能正在解决相反的问题,因为它试图最大化城市数量(边缘交叉节点) 同时最小化前往所有节点的成本——如果你想解决这个问题,值得理解

【讨论】:

    【解决方案2】:

    GIS - 这是一个(巨大的)研究领域 - 非常有趣但非常激烈

    【讨论】:

      【解决方案3】:

      我认为您需要做的就是将从手机获取的 GPS 坐标转换为路线。看看这个Open Route Service,它是Open Street Map 项目的一部分。

      一旦您将每个人的纬度和经度转换为一组共同的路线,那么比较他们的路径以查看他们是否有共同点会更容易。您还可以执行诸如搜索替代路线之类的操作。也许一个人多走几英里/公里就可以和另一组 4-5 人一起朝基本相同的方向行驶。诸如此类。

      【讨论】:

        猜你喜欢
        • 2011-05-22
        • 1970-01-01
        • 2013-11-26
        • 2011-01-22
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 2014-02-24
        • 2018-12-02
        相关资源
        最近更新 更多