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

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 ?

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

В декабре в документацию Overpass QL добавили раздел Counting of elements

там приведен пример для подсчета аптек и вывода таблицы в режиме вывода csv
http://overpass-turbo.eu/s/6Nd

помогите переделать запрос подсчета домиков
http://overpass-turbo.eu/s/6kr
чтобы показывались населенные пункты, в которых отрисовано меньше 10 зданий

в соседней теме gryphon поделился запросом получения списка улиц по bbox
http://overpass-turbo.eu/s/aAB

я попытался сделать выборку названий автобусных остановок по указанной (Сахалинской) области
http://overpass-turbo.eu/s/aD1

Вопрос: он долго выполняется из-за того, что выборка происходит по слишком большой области… или я что-то не так написал в запросе?

Есть такое.

  1. много точек в границе (тысячи точек админ границы это уже много)
  2. пространственно большой запрос (иногда global быстрее работает чем выбор по области)

Для больших районов вариант такой есть:

  1. выбор объектов по bbox-query (относительно быстрее, 4 точки ведь)
    2.1 обрезка по шейпфайлу-границе
    2.2 ALT+SHIT+I у админ границы в JOSM (не помню что за плагин и название)

Попробуй по cron ночью запускать т.к. серваки днём нужны людям, ты такими запросами результат не получаешь и время других запросов не отнимаешь.

В overpass-turbo можно серваки менять. Там серваки Рамблера есть, в них больше ОЗУ - запроси их ночью.

Доброго времени суток!
Подскажите, можно ли с помощью OverPass API выбрать все отношения, в которые входит объект(way) с известным OSM ID. В моем случае нужно выбрать все дома находящиеся на улице с известным ID. Т.е. у меня есть ID всех улиц(переулков, площадей и т.д. внутри города). Необходимо получить все ID домов, внутри города, с их привязкой к ID улиц.

Никак не могу разобраться с тем, как при поиске задавать условия для member`s в relation.
Попробовал выполнять запрос, ограничивая bbox размерами тайла,- работает. Но для моего города таких тайлов около 90000. Не охота их в цикле перебирать.

Общая идея в рекурсии: https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Recurse_.28n.2C_w.2C_r.2C_bn.2C_bw.2C_br.29 CTRL+F “role” решил бы вопрос.

“улица” - это type:relation?

Если улицы известны - рекурсия вниз по улицам
Если улицы неизвестны - рекурсия вверх по участникам попавшим в гео-регион

UPD: http://nadoloni.com/ показывает “улицы” в верхней строке, нацельте его на нужный город

В OSM улицы к домам отношениями обычно не привязывают, так что это вам всё равно не поможет. Привязка идёт по совпадению названия улицы с тегом addr:street у дома. Неоднозначности (одноимённые улицы) резолвятся с учётом полигонов населённых пунктов (place=*) и районов города (т.к. в разных районах тоже могут быть одноимённые улицы). Подробности можно подсмотреть в разных конвертерах, например в osm2mp или в геокодере openstreetmap.ru

Это зависит от страны. В Украине, например, почти вся адресация сделана через отношения associatedStreet.

@OVK, если не секрет, какая страна тебя интересует?

если я правильно понял - как-то так: http://overpass-turbo.eu/s/b3V

…но если зашла речь про отношения - скорее всего город не в России.
играть в угадайку неохота - так что ждем конкретики