我正在使用OSRM检索数百万条短途路线的持续时间/距离。为了有效地做到这一点,我以'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个游乐设施。这应该没问题,直到我发现呼叫一个单独的乘车不会产生与批处理请求相同的持续时间/距离。
我使用的示例(使用localhost:5000):
本地OSRM引擎中的结果:
距离:1583.5
持续时间:228.7
距离:1651.6
持续时间:268.3
奇怪的是,在线结果是相同的,但与我的离线结果不同。后者可能是因为设置(我一点都没有改变),但是我不明白为什么批处理和单个调用是不同的。
距离:1137.1
持续时间:350.7
是否有对此行为的有效解释,或者这是错误?我可以想象OSRM不会评估批处理调用中的所有选项来优化请求的速度。
我不确定我正在运行哪个版本,但是我已经在今年5月14日安装了我的路由引擎。并且我已经从geofrabrik
下载了荷兰地图资料答案 0 :(得分:0)
如果有人有相同的问题,我已经找到了答案。事实证明,这不是错误,而是de lua配置文件中的设置:
continue_straight_at_waypoint = true,
这条线可确保汽车在随后的两次骑行中不会掉头,在一次骑行中,OSRM始终假定汽车面向最佳方向启动(在成批骑行中),这不一定是情况。
因此,我的解决方法是将参数更改为false。