我使用此查询从立交桥API中的节点ID获取纬度和经度:
from contextlib import contextmanager
import time
@contextmanager
def measuretime():
start = time.time()
try:
yield
finally:
print(time.time() - start)
with measuretime():
do_stuff()
我得到这个答案:
[out:json]; (
node(2314028892);
node(30223035);
node(268195434);
node(30223039);
); (._;>;); out;
答案中的元素似乎具有其他顺序。现在,我想以与查询中相同的顺序获得答案。 (首先是节点2314028892,然后是30223035,...)
任何人都知道我该怎么做?
答案 0 :(得分:1)
在每个查询语句后使用“出”:
[out:json];
node(2314028892);out
node(30223035);out
node(268195434);out;
node(30223039);out;
出于性能方面的考虑,我建议您将此操作作为后期处理步骤。您已经知道正确的顺序,因此可以轻松地将其应用于查询结果。另外,您可以在单个查询中指定多个节点ID值:
[out:json]; node(id:2314028892, 30223035, 268195434, 30223039);out;
旁注:您也可以在查询中省略(._;>;);
。如果是节点则不需要。