如何在没有地图的情况下计算ETA

时间:2013-05-17 15:31:12

标签: sql json vb6

需要一些了解物流的人的帮助;


我目前正在使用一个名为Framework的应用程序。应用程序并不是我熟悉的东西,但无论我能弄清楚它是如何工作的。应用程序中运行的其中一个选项卡用于预期订单(运输卡车)。在那之内,我能够看到出境卡车的当前位置以及它的目的地。我正在尝试向应用程序添加功能,这样我就可以看到到达当前目的地的估计时间+驱动器返回我的位置。这看起来很简单,但我想弄清楚我能算出来的最佳方法。我查看了Google Distance Matrix API,但我没有必要在应用程序上显示地图,我想要的只是ETA。我对这种事情缺乏经验,所以我希望有人能指出我正确的方向。 谢谢你们。

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

2 个答案:

答案 0 :(得分:2)

Google Distance Matrix似乎要求您显示地图。另一种选择是开源OSRM project。本地它是一个用于路由的C ++引擎,它输出方向和总路由信息,因此任何地图显示都取决于你。

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

答案 1 :(得分:0)

只是一个想法,但根据您的交付区域的大小,以及您希望估计时间的准确程度,您可以将其全部保存在数据库中。

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

  • 那是100平方英里。我们将每平方英里用作一个点。
  • 一次性计算从每个人那里得到多长时间 指向其余部分。你可以
  • 使用Google Distance Matrix API,因为您只是这样做 这一次。
  • 这将为您提供10,000条记录,其中包含每个点到点的时间。

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

这不是非常准确,但可能足够接近您的需求。如果你确实实现了这个方法,我会很好奇。

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