如何使用openstreet地图订购航点?

时间:2018-07-29 23:50:48

标签: ruby openstreetmap

我在文章中看到,OpenStreet映射提供了一个API,给定具有起点和目的地的路线以及多个(无限?)航路点,它会根据最佳路线对航路点进行排序。 我不知道它是哪个端点。有人可以将我指向说明如何实现此目标的文档部分吗?是否有一个红宝石宝石来包装此终结点请求?

非常感谢您

2 个答案:

答案 0 :(得分:0)

这是旅行商的问题。解决此问题的设备不止一个基于OSM的路由器。根据{{​​3}}:

  

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

     
      
  • Mapzen的similar question at help.openstreetmap.org   (“ Valhalla还包括诸如时间+距离矩阵计算之类的工具,   等时线,高程采样,地图匹配和行程优化   (旅行推销员)。”)
  •   
  • Mapbox的   Valhalla(“   旅行插件使用贪婪解决了旅行商问题   启发式...“)
  •   
  • Graphhopper使用OSRM   用于路由优化(“ TSP问题可以通过定义一个   车辆路线问题...“)
  •   
     

这些服务都没有免费且无限的在线服务(它   会很快被试图保存自己的AWS的人滥用   成本)。 Mapzen提供了一个优惠,您可以在其中注册免费的API密钥并使用   那。 OSRM不需要API密钥,您可以使用它。 Graphhopper   需要注册,尽管他们有免费试用版,但我认为   他们有免费套餐。

     

这三个都是开放源代码,您无需安装即可使用它们   本地限制。

对于JSPrit library,请看GraphHopper。有关OSRM,请参见Route Optimization API

答案 1 :(得分:0)

设置您自己的OpenStreetMap服务器-这样,您每次应用需要运行地图查询时都不会产生数据访问费用。 具体来说,安装 Valhalla 地图服务器。这是一个免费的应用程序。最好将其安装在Linux机器上:

https://github.com/valhalla/valhalla

或改为在Docker中下载并运行Docker映像:

https://hub.docker.com/r/abihf/valhalla/

https://github.com/interline-io/valhalla-docker

服务器提供专门用于订购航点的API: https://valhalla.readthedocs.io/en/latest/api/optimized/api-reference/