我想获取特定国家/地区内城市的邮递区号。
[out:json];(rel[name='Herne'];way(r););out geom;
这很好用,而且速度很快,但是它返回了多个叫做“赫恩”的城市的边界,而不仅仅是德国的一个边界。
到目前为止,我是这样的:
( area["ISO3166-1:alpha2"="DE"];) ->.a;
rel[name="Herne"]
(area.a);
(._;>;);
out geom;
或者:
[out:json];{{geocodeArea:Germany}}->.a;(rel[name='Herne'](area.a);>;);out geom;
两者似乎都可以正常工作,但是如果我尝试多次,则会得到以下结果:
Dispatcher_Client::request_read_and_idx::rate_limited. Please check /api/status for the quota of your IP address.
/ api /状态:
Slot available after: 2018-06-21T11:03:19Z, in 211 seconds.
Slot available after: 2018-06-21T11:12:12Z, in 744 seconds.
如果我使用第一个查询,则不会得到此结果。我可以连续在不同的城市执行类似的查询,并获得快速响应。为什么会有如此大的差异,并且对于我的国家问题有更好的解决方案?
编辑: 我认为问题在于最后两个查询要比第一个查询慢(!),并且返回的行数要多两倍。我猜查询运行时会影响插槽的等待时间。有更有效的查询吗?