问题描述
我们在 AWS 中托管了一个 Overpass API 实例。它是一个预先构建的 AMI,显然禁用了速率限制,这对我们的目的来说很好,因为它是一个私有实例。但我们认为 OSMNX 不想与之交谈,因为 /api/status
响应不包含 X slots available Now
并且只是进入重试循环。这是我们收到的 /api/status
响应:
Connected as: 1190172919
Current time: 2020-12-30T03:02:05Z
Rate limit: 0
Currently running queries (pid,space limit,time limit,start time):
位于 http://overpass-api.de/api/status
的默认公共 Overpass 服务器与 OSMNX 配合良好,它的 /api/status
响应如下所示:
Connected as: 1190172919
Current time: 2020-12-30T03:05:38Z
Rate limit: 2
2 slots available Now.
Currently running queries (pid,start time):
我们真的很想使用我们自己的私有 Overpass 实例,AMI 是一种方便的方法,但是在 OSMNX 中有没有办法解决这个问题,或者必须以某种方式重新配置 Overpass 服务器?
谢谢
解决方法
从 OSMnx v1.1.1 开始,您现在可以配置 OSMnx 是否应该检查立交桥服务器状态端点,以便在发出下一个请求之前暂停多长时间。如果服务器使用插槽管理,则该检查是必要的,但如果您运行自己的立交桥实例而没有任何速率限制,则可以(应该)禁用该设置。