4

使用 OverPass API,我想在一个查询中进行几个不同的查询,然后在输出中通过查询分隔结果。例如:

node( <some bounding box> )[amenity~"cafe"]->.my_cafes;
node( <some bounding box> )[amenity~"restaurant"]->.my_restaus;
.my_cafes out;
.my_restaus out;

在 XML 输出中,是否可以跟踪给定结果正在回答哪个子查询(即“my_cafes”或“my_restaus”)?这可以避免发送许多 API 调用。

在我的示例中,输出结果节点可以很容易地用tag[k=amenity,v=cafe]. 但情况并非总是如此(让我们想象两个类似的请求,在 Overpass 中使用两个不同的around:子句进行过滤)

4

1 回答 1

4

Github 上已经讨论了一个类似的问题:https ://github.com/drolbr/Overpass-API/issues/236

门票的简短摘要:

使用以下解决方法:只需out count;在每个out;语句后放置一个。通过这种方式,您可以找出每个查询结果的结束位置以及它包含的条目数。

于 2016-03-31T10:34:42.197 回答