如果您搜索意大利布雷西亚附近的机场 (aeroway=aerodrome),您还将收到军用机场的命中,该机场恰好也被标记为机场(标记为:aeroway=aerodrome, landuse=military, Military=机场)。为了避免这种情况,我想搜索 aeroway=aerodrome 但排除 [military]。我试过了 [!军用]和[军用~"^$"]。有什么建议么?
我意识到这种特殊情况可能很少见,但是否定多类元素的概念很有用。并且多类元素并不罕见。一般来说,它们似乎是互补的,而不是相互冲突的,所以这不是问题。我也意识到我可以通过一些后端处理来消除冲突的命中。我没想到会出现军用机场和商业机场。
无论如何,这是我的查询的缩短版本。我在完整查询中包含节点、方式和关系:
http://overpass-api.de/api/interpreter?
data=[out:json][timeout:25][bbox:45.400861,9.868469,45.641408,10.542755];
(node[aeroway~%22aero|term|heli%22][! military]; ... ) out etc
或者:
http://overpass-api.de/api/interpreter?
data=[out:json][timeout:25][bbox:45.400861,9.868469,45.641408,10.542755];
(node[aeroway~%22aero|term|heli%22][military~%22^$%22]; ... ) out etc
如果您尝试运行它,则需要包含方式和关系。另外,正如你所看到的,我并不完全要求 aeroway=aerodrome。我包括直升机场的终端和变体。我的经验是,有些机场只被标记为“航站楼”,所以如果您正在寻找机场,仅仅要求“机场”是不够的。