使用数百个航点生成最有效的路线

Posted

技术标签:

【中文标题】使用数百个航点生成最有效的路线【英文标题】:Generate most efficient route with hundreds of waypoints 【发布时间】:2017-07-28 02:23:36 【问题描述】:

我正在开发一个项目 (iPad),它会生成一条环绕城镇的路线,起点和目的地是同一点(基地)。

这条路线必须经过多个(可能数百个)路点,这些路点将是纬度/经度坐标(由街道地址确定)。

通常使用路线生成,您指定起点和目的地,它会为您计算路线。您也可以对航路点进行一些调整,但 Google Maps API 仅允许沿途最多 23 个航路点 - 这不合适。

Apple Maps / MapKit 允许向 API 发出数百个请求,但您必须已经知道您的起点和终点是什么。目前我正在做以下事情:

Origin -> PointA
PointA -> PointB
PointB -> PointC
PointC -> Destination (which is the same as Origin)

但要做到这一点,您必须已经知道最佳路线,因为您只是手动连接航点。

我的问题是:是否有适合我正在尝试开发的服务?如果不是,我怎样才能通过只知道一组坐标并且起点和终点相同来生成有效的路线。

提前谢谢我希望我说得通。请问有什么不清楚的地方。

【问题讨论】:

看来您遇到了旅行商问题:en.wikipedia.org/wiki/Travelling_salesman_problem 【参考方案1】:

您可以使用ESRI Directions and Routing Services。您最多可以拥有 10,000 个航点。参数here的更多细节。寻找“reorder_stops_to_find_optimal_routes”。

它不是免费的。他们也有一个 ios SDK。

【讨论】:

以上是关于使用数百个航点生成最有效的路线的主要内容,如果未能解决你的问题,请参考以下文章

指定航点时,Direction API 仅返回一条路线

将航点信息传递给 comgooglemaps (Google Maps URL Scheme)

OR-Tools - 最小化每条路线覆盖的区域

无法从Google Direction Service api获得优化路线

沿路线添加标记

以良好的性能服务于数百万条路线