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>

Другие вопросы по тегам