Overpass API - 过滤掉非空标签
Posted
技术标签:
【中文标题】Overpass API - 过滤掉非空标签【英文标题】:Overpass API - filter out non-empty tags 【发布时间】:2016-12-24 03:21:34 【问题描述】:从this question 开始,我正在尝试查询 Overpass API,以便它返回所有带有标签“自然”和“历史”的节点,其中标签“名称”在一组半径为 1500 米的坐标周围不是空的
到目前为止我所拥有的是
<union>
<query type="node">
<around radius="1500" lat="51.1263041473" lon="1.3268128927"/>
<has-kv k="historic"/>
</query>
<query type="node">
<around radius="1500" lat="51.1263041473" lon="1.3268128927"/>
<has-kv k="natural"/>
</query>
</union>
<print/>
这对两个关键字都有效,但不适用于标签“名称”不为空(请参阅:Overpass Turbo)
如何过滤掉任何带有标签“name”而不是 emtpy 的节点?
【问题讨论】:
【参考方案1】:嗯,我刚刚找到了答案 - 我不知道如何将正则表达式放入查询中。现在我做:
<union>
<query type="node">
<around radius="1500" lat="51.1263041473" lon="1.3268128927"/>
<has-kv k="historic"/>
<has-kv k="name" regv=".+"/>
</query>
<query type="node">
<around radius="1500" lat="51.1263041473" lon="1.3268128927"/>
<has-kv k="natural"/>
<has-kv k="name" regv=".+"/>
</query>
【讨论】:
你为什么不直接写<has-kv k="name"/>
?在这种情况下,没有太多理由使用正则表达式。以上是关于Overpass API - 过滤掉非空标签的主要内容,如果未能解决你的问题,请参考以下文章
overpass turbo下载openstreetmap数据出问题,missing translation