OSRM:-/route/v1/driving 中相同(子)路线的不同 distance/duration
OSRM: -different distance/duration for same (sub)route in /route/v1/driving
我正在使用 OSRM 检索 durations/distances 数百万条短途路线。为了有效地做到这一点,我以 'http://localhost:5000/route/v1/driving/longitude_departure1,latitude_departure1;longitude_arrival1,latitude_arrival1;longitude_departure2,latitude_departure2;longitude_arrival2,latitude_arrival2;等等等等?overview=false'
我批处理请求以加快处理速度,然后将 Json 结果分开,每个奇怪的响应分支都是我需要的结果。我们发现如果查询超过 500 个点(对我来说是 250 次骑行),这将出错,所以我将查询限制为 250 次骑行。这本来应该没问题,直到我发现调用个人乘车不会导致与批量请求相同的 duration/distance。
我使用的例子(使用localhost:5000):
我本地 OSRM 引擎中的结果:
- 单程
距离:1583.5
时长:228.7
- 批量骑行
距离:1651.6
时长:268.3
奇怪的是,网上的结果是一样的,但是和我的线下结果不一样。后者可能是因为设置(我根本没有改变)但我不明白为什么批处理和单次调用不同。
- 在线成绩
距离:1137.1
时长:350.7
是否有对此行为的有效解释或者这是一个错误?我可以想象 OSRM 不会评估批处理调用中的所有选项以优化请求的速度。
我不确定我是哪个版本 运行,但我已经在今年 5 月 14 日安装了我的路由引擎。我从 geofrabrik
下载了荷兰地图 material
如果有人有同样的问题,我已经找到答案了。事实证明这不是错误,而是lua配置文件中的设置:
continue_straight_at_waypoint = true,
这条线确保汽车不会在随后的 2 次骑行中掉头,在单次骑行中,OSRM 始终假设汽车面向最佳启动方向,在批量骑行中,这不是必然如此。
因此,我的解决方法是将参数更改为 false。
我正在使用 OSRM 检索 durations/distances 数百万条短途路线。为了有效地做到这一点,我以 'http://localhost:5000/route/v1/driving/longitude_departure1,latitude_departure1;longitude_arrival1,latitude_arrival1;longitude_departure2,latitude_departure2;longitude_arrival2,latitude_arrival2;等等等等?overview=false'
我批处理请求以加快处理速度,然后将 Json 结果分开,每个奇怪的响应分支都是我需要的结果。我们发现如果查询超过 500 个点(对我来说是 250 次骑行),这将出错,所以我将查询限制为 250 次骑行。这本来应该没问题,直到我发现调用个人乘车不会导致与批量请求相同的 duration/distance。
我使用的例子(使用localhost:5000):
我本地 OSRM 引擎中的结果:
- 单程
距离:1583.5
时长:228.7
- 批量骑行
距离:1651.6
时长:268.3
奇怪的是,网上的结果是一样的,但是和我的线下结果不一样。后者可能是因为设置(我根本没有改变)但我不明白为什么批处理和单次调用不同。
- 在线成绩
距离:1137.1
时长:350.7
是否有对此行为的有效解释或者这是一个错误?我可以想象 OSRM 不会评估批处理调用中的所有选项以优化请求的速度。
我不确定我是哪个版本 运行,但我已经在今年 5 月 14 日安装了我的路由引擎。我从 geofrabrik
下载了荷兰地图 material如果有人有同样的问题,我已经找到答案了。事实证明这不是错误,而是lua配置文件中的设置:
continue_straight_at_waypoint = true,
这条线确保汽车不会在随后的 2 次骑行中掉头,在单次骑行中,OSRM 始终假设汽车面向最佳启动方向,在批量骑行中,这不是必然如此。
因此,我的解决方法是将参数更改为 false。