我正在使用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;
我做错了什么?
答案 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;