使用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输出中,是否可以跟踪给定结果正在回答哪个子查询(即&#34; my_cafes&#34;或&#34; my_restaus&#34;)?这可以避免发送许多API调用。
在我的示例中,可以使用tag[k=amenity,v=cafe]
之类的内容轻松过滤输出结果节点。但情况并非总是如此(让我们想象两个类似的请求,在Overpass中使用两个不同的around:
子句进行过滤)
答案 0 :(得分:1)
在Github上已经讨论了类似的问题:https://github.com/drolbr/Overpass-API/issues/236
门票简短摘要:
使用以下解决方法:只需在每个out count;
语句后添加out;
即可。通过这种方式,您可以找到每个查询结果的结束位置以及它包含的条目数。