2017-08-14 49 views
0

我想使用OSRM(开放源代码路由机器)查找路线,避免城市的某个区域(由多边形指定)作为选项。一种方法是制作两个配置文件:carcar_avoid_no_drive_zone。后一个配置文件查找每个路段,并将其长度设置为无穷大,如果它位于无驱动区域内。如何在OSRM中避开cerntain区域

但是这种方法在技术上重复了预处理,磁盘使用和RAM使用。有没有更好的解决方案来解决这个问题?

回答

1

通过在限制区域边界上的所有OSM段上设置0速度并仅进行CH收缩或MLD定制,可以通过“流量更新”来阻止某个区域。这种方法仍然会生成两张图。这里https://github.com/Project-OSRM/osrm-backend/wiki/Traffic

更多信息,另一种方法是使用即将在配置文件定义一个“禁区”类,并在运行时使用的查询参数一样avoid=restricted“避”功能https://github.com/Project-OSRM/osrm-backend/pull/4315