Overpass API - примеры запросов

задача схожа с той, что тут уже обсуждалась - поиск НП без рядом проходящих дорог
собственно я искал примеры - как в запросах overpass подсчитать количество зданий

Подскажите, как отобрать все дороги highway= unclassified в которые не указана (отсутствует) surface

Проверьте это:

highway=unclassified and "surface"!=*
highway=unclassified and "addr:postcode"!=*

http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Equals_.28.3D.2C_.21.3D.29

http://overpass-turbo.eu/s/6j4

внезапно… на вики нашел ответ на вопрос заданный год назад
Как выбрать населенные пункты, в заданном радиусе (1 км) от которых - нет дорог, выше какого-то уровня.

http://overpass-turbo.eu/s/6ju

если правильно понимаю историю правок wiki - абзац про “Difference” добавили летом
оказалось, что дело было в “;” в определенном месте… строка 38 на скриншоте

Xmypblu, ещё бы текст запроса написали…

…а кликнуть по картинке? или это сарказм?

Не все кликают в картинки…

JOSM ругается:

Сервер OSM 'overpass-api.de' сообщил о неудачном запросе. 

Если не сложно, напишите полностью, что нужно в окне запроса писать

не совсем понятна задача… и JOSM’a нет под рукой - так что чисто теоретически

если дороги уже загружены - проще отобрать нужное с помощью фильтра JOSM
если нужно загрузить только необходимые части дорог, в окне плагина mirrored_download,
то примерно также как и в примере от gryphon http://overpass-turbo.eu/s/6j4 :

[out:xml]
[timeout:25];
(
  way
  	["highway"="unclassified"]
  	["surface"!~"."]
);
out meta;
>;
out meta qt;

отзумиться и выделить необходимую территорию, не обращая внимания на предупреждение (красным) - только без фанатизма, а то долго будет скрипт отрабатывать

Это я привёл синтаксис помощника overpass-turbo.eu, здесь с картинками написано как использовать его на примере тегов всех тегов railway

В вашем случае нужно вместо railway=* указать одну из строк
“highway”=“unclassified” and surface!= and type:way
highway=unclassified and “surface”!=**

Чтобы получить полный запрос полный запрос как у Xmypblu в помощник overpass-turbo.ru я ввёл
“highway”=“unclassified” and surface!=* and type:way

Помощник упрощает составление запросов, подробности есть здесь: http://wiki.openstreetmap.org/wiki/Overpass_turbo/Wizard

После того как у вас запрос составлен помощником, можете либо воспользоваться инструкцией Xmypblu.
Либо запустить запрос (Старт) на нужной вам территории (описано в моей статье), а потом нажать (Экспорт) → (JOSM). Главное чтобы в этот момент у вас был запущен JOSM.

Спасибо, получилось, я без первой строчки делать пытался

Никогда, бы не догадался, что это ссылка. :slight_smile:
Спасибо.

возвращаясь к вопросу - “как найти деревни, где нет отрисованых домиков?”
наваял запрос который ищет такие населенные пункты с радиусом поиска в 500 метров
дополнительно вставил условие поиска в конкретном районе региона

http://overpass-turbo.eu/s/6kr

где-то на форуме еще видел пример скрипта - проверяющий хайрез Бинга по координатам…
если совместить, можно создать интересный сервис - выдающий задания по отрисовке домиков в деревнях
(на счет MapBox - про возможность детекта хайреза, пока не слышал… надеюсь найдут решение)

К сожалению, вопрос подсчета зданий в запросе - остается актуальным.

P.S. знаю, что несколько человек разбирались с рекурсией в запросах, но у них руки не дошли до перевода wiki
будет здорово если кто переведет эту часть документации или примеров

Xmypblu, переделай пожалуйста запрос, что бы не нужно было указывать область/район. Что бы искал по области которая на карте справа видна.

http://overpass-turbo.eu/s/6lv

аккуратней с зумом и охватом bbox’a :wink:

Спасибо.

Крутота. Сделал вариант с {{bbox}}: http://overpass-turbo.eu/s/6lS (осторожно, зумьтесь поближе).

А где residential ?

Его не было в исходном запросе. Заменил ссылку, теперь есть.