[英]Overpass API find all boundaries that contain a list of nodes
我想返回包含一组特定节点的所有边界的唯一列表(我有那个工作),但我也希望结果告诉我在哪个区域找到了我列出的哪些节点。
这给了我包含我的节点的所有区域
[out:json];
(
node(136477260);
node(4191786934);
)
-> .a;
.a is_in;
out;
如果我单独为每个节点运行一个查询,那么我就可以确切地知道哪个节点位于哪个区域,但这听起来效率很低。
有没有办法将结果区域链接到我在内部找到的节点。 例如添加到输出 "my_nodes": 136477260, 4191786934 如果该区域包含这两个节点?
谢谢
我建议采用以下方法:首先收集所有节点,找到它们所在的区域,可选择对其进行过滤(在本例中为边界 = 管理和 admin_level = 10),然后遍历每个区域,并打印该区域后跟该区域内的节点:
[out:json];
node(id:136477260,4191786934)->.nodes;
.nodes is_in;
area._[boundary=administrative][admin_level=10];
foreach {
out;
node.nodes(area);
out;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.