我想使用 OSRM(开源路由机)查找路线,避开由多边形指定的城市的某个区域,作为一个选项。一种方法是制作两个配置文件:car
和car_avoid_no_drive_zone
. 后一种配置文件查找每个路段并将长度设置为无限(如果它位于无驱动区域内)。
但这种方法在技术上重复了预处理、磁盘使用和 RAM 使用。这个问题有更好的解决方案吗?
通过在限制区域边界上的所有 OSM 段上设置 0 速度并仅执行 CH 收缩或 MLD 自定义,可以通过“流量更新”来阻止某些区域。这种方法仍然会生成两个图表。更多信息在这里https://github.com/Project-OSRM/osrm-backend/wiki/Traffic
另一种方法是使用即将推出的“避免”功能https://github.com/Project-OSRM/osrm-backend/pull/4315 ,方法是在配置文件中定义“受限区域”类并使用查询参数,例如avoid=restricted
在运行时.