2013-05-17 143 views
2

需要一些对物流知之甚少的人的帮助;如何在没有地图的情况下计算ETA


我目前正在使用一个称为框架的应用程序。该应用程序不是我熟悉的东西,但无论我能弄清楚它是如何工作的。运行在应用程序中的其中一个选项卡用于预期订单(货运卡车)。在那里,我能够看到外运卡车的当前位置以及它的目的地。我正在尝试向应用程序添加功能,以便我可以查看到达目前目的地的预计时间+回到我的位置的驱动器。这似乎很简单,但我试图找出我能够计算出的最佳方式。我查看了Google Distance Matrix API,但我不需要在应用程序上显示地图,我只需要ETA。我对这种事情相当缺乏经验,所以我希望有人能指出我正确的方向。 谢谢你们。

这可能不是这个问题的最佳论坛...

+0

那么,Google距离矩阵的问题在于,如果您使用它,则必须显示Google地图。如果你试图只使用数据库信息,它会拒绝你。我没有听说过OSRM,但我会检查一下,谢谢! –

+0

我已经发布了一个完整的答案。您可能还想查看[GIS stackexchange站点](http://gis.stackexchange.com/)。 – Deanna

回答

2

它看起来像谷歌距离矩阵需要你来显示地图。另一种方法是开源OSRM project。本质上它是一个C++引擎,用于路由,它输出路线和总路线信息,因此任何地图显示都由您决定。

项目网站上有一个演示和HTTP API托管,但您需要检查它是否适合您的使用级别。

0

只是一个想法,但取决于您的交付区域的大小,以及您希望估计的时间有多准确,您可以将它全部保存在数据库中。

假设您的送货区域为10英里x 10英里。

  • 这就是100平方英里。我们将使用每平方英里作为一个点。
  • 做一次计算从每个 点到其余点需要多长时间。您可以
  • 使用Google距离矩阵API进行此操作,因为您只需执行一次 。
  • 这将为您提供10,000条记录,其中包含每个点到点时间。

所以,如果你的卡车在点25,并且必须达到64点,你应该查看一下,看它应该需要大约10分钟。加上从64点回到仓库(点10)的车程是8分钟。然后你会知道卡车应该在18分钟后回来。

它不是非常准确,但它可能足够满足您的需求。如果你实施这种方法,我会很好奇。

顺便说一句,如果您的送货区域是100英里x 100英里,那么如果每个点是1平方英里,那将是100,000,000个位置点。如果这太多了,那么如果你将点数增加到2英里x 2英里(4平方英里),那么这是大约6,000,000条记录。

相关问题