OpenstreetMap Overpass API - проверка тега, если имеется

У меня есть этот запрос

[out:json];

(
 way['addr:street'='Kurzenmoor']['addr:housenumber'='12']['addr:postcode'='25370']['addr:country'='DE'];
 node(around:700)['highway'='bus_stop'][!'ref'];
);

out;

Это не возвращает результат из-за того, что страна не была указана в API.

Это работает:

[out:json];

(
 way['addr:street'='Kurzenmoor']['addr:housenumber'='12']['addr:postcode'='25370'];
 node(around:700)['highway'='bus_stop'][!'ref'];
);


out;

Есть ли способ объединить их? Если страны нет, я хочу получить результат, если страна присутствует, она должна соответствовать желаемой (в этом примере "DE", если она соответствует, я хочу получить результат, в противном случае я не хочу его.

1 ответ

Overpass API не является геокодером.

Лучше всего сначала определить местоположение с помощью геокодирования, например, используя Nominatim, Photon или один из других геокодеров на основе OSM. На втором этапе используйте Overpass API, чтобы найти автобусные остановки рядом с этим местом.

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