如何使用openstreetmap订购航点?

问题描述 投票:1回答:1

我在文章中看到,OpenStreet地图提供了一个API,在给定具有起点和终点的路线以及多个(无限?)航点的情况下,它根据最佳路线对航点进行排序。我无法分辨它是哪个端点。有人能指出我解释如何实现这一目标的文档部分吗?是否有一个ruby gem来包装此端点请求?

非常感谢你

ruby openstreetmap
1个回答
0
投票

这是旅行商问题。有多个基于OSM的路由器可以解决这个问题。根据similar question at help.openstreetmap.org

所有主要的OSM路由引擎都支持这个:

  • Mapzen的Valhalla(“Valhalla还包括时间+距离矩阵计算,等时线,高程采样,地图匹配和旅游优化(旅行推销员)等工具。”),
  • Mapbox的OSRM(“旅程插件使用贪婪的启发式解决旅行商问题...”)
  • Graphhopper使用JSPrit library进行路由优化(“TSP问题可以通过定义车辆路径问题来建模......”)

这些服务都没有免费和无限制的在线服务(很快就会被试图节省自己的AWS成本的人滥用)。 Mapzen有一个优惠,您可以在其中注册免费的API密钥并使用它。 OSRM不需要API密钥,您只需使用它即可。 Graphhopper需要注册,虽然他们有免费试用,但我认为他们没有免费套餐。

这三个都是开源的,您可以在本地安装和使用它们而不受限制。

对于GraphHopper,请看看Route Optimization API。对于OSRM,请参阅trip plugin

© www.soinside.com 2019 - 2024. All rights reserved.