3

我正在使用 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_NAMEnear的公共汽车站CITY,还要获取与电车站 ( railway=tram) 和地铁站 ( railway=subway) 匹配的信息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;

我究竟做错了什么?

4

1 回答 1

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;
于 2013-03-30T15:46:51.900 回答