Overpass API:获取所有具有特定名称的公共交通站点

4

我正在使用Overpass API查询OpenStreetMap中指定位置附近,名称为特定名称的公交车站:

http://overpass-api.de/api/interpreter?data=[out:json];node["name"="CITY"];node["around"="15000"];node["name"="STOP_NAME"]["highway"="bus_stop"];out;

现在我需要扩展这个查询:我不仅想要获取所有名为STOP_NAME并且在CITY附近的公交车站,还想要匹配STOP_NAME的有轨电车站(railway=tram)和地铁站(railway=subway)。

我尝试了以下内容,但它仍然只返回公交车站(并包含冗余信息):

http://overpass-api.de/api/interpreter?data=[out:json];node["name"="CITY"];(node(around:15000)["name"="STOP_NAME"]["highway"="bus_stop"];node(around:15000)["name"="STOP_NAME"]["railway"="tram_stop"];node(around:15000)["name"="STOP_NAME"]["railway"="subway_stop"];);(._;>;);out;

我做错了什么?


你有没有找到另一种不重复的组合条件的方法? - newenglander
1个回答

3
我通过在请求URL中包含更多冗余信息来解决这个问题:对于每种公共交通类型,我现在重复了“城市节点”和“周围节点”。
我不认为这是最好的解决方案,但它运行良好。
http://overpass-api.de/api/interpreter?data=[out:json];node["name"="CITY"];node(around:15000)["name"="STATION"]["highway"="bus_stop"];node["name"="CITY"];node(around:15000)["name"="STATION"]["railway"~"tram_stop|station|subway"];out;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接