如何在 Overpass QL 上获取与多个具有特定值的标签相匹配的节点

ers*_*diz 4 openstreetmap overpass-api

我正在尝试从 Overpass API 获取与 Tourism=museum 或 Historical=memorial 匹配的 POI。我尝试了不同的查询,但找不到正确的解决方案,我得到的答复是空的。

以下是无效的查询

area["name"="Bursa"];                                                                     
(node["tourism"="museum"](area);); 
(node["historic"="memorial"](area););
out center;
Run Code Online (Sandbox Code Playgroud)
area["name"="Bursa"];                                                               
(node["tourism"="museum"]|["historic"="memorial"](area);); 
out center;
Run Code Online (Sandbox Code Playgroud)

我在OverpassTurbo上尝试了这些查询

谢谢,艾尔辛。

sca*_*cai 5

在同一区域(也只是一个集合)执行多个查询时,必须使用命名集。否则,将根据第一个查询的结果执行第二个查询。

area["name"="Bursa"]->.a;
(
  node["tourism"="museum"](area.a);
  node["historic"="memorial"](area.a);
);
out center;
Run Code Online (Sandbox Code Playgroud)

另请注意,您只是查询节点,因此您的查询不会找到任何作为wayrelation添加的博物馆或纪念馆。以下查询也将包括这些内容:

area["name"="Bursa"]->.a;
(
  nwr["tourism"="museum"](area.a);
  nwr["historic"="memorial"](area.a);
);
out center;
Run Code Online (Sandbox Code Playgroud)