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

时间:2013-03-25 14:11:26

标签: openstreetmap overpass-api

我正在使用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的所有巴士站,还要乘坐电车站(railway=tram)和地铁站(railway=subway {1}})匹配STOP_NAME

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

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;

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我通过在请求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;