Overpass API - отфильтровывать непустые теги
Исходя из этого вопроса, я пытаюсь запросить API-интерфейс Overpass, чтобы он возвращал все узлы с тегами "естественный" и "исторический", где тег "имя" не имеет значения вокруг набора координат с радиусом 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/>
Это работает для обоих ключевых слов, но не учитывает, что тег "name" не является пустым (см.: Overpass Turbo)
Как я могу отфильтровать любой узел с тегом "имя", а не 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>