OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#26 2014-10-02 07:04:32

Vadimi
Member
From: Krasnodar
Registered: 2012-07-23
Posts: 230

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

Что не так в запросе

[maxsize:1073741824]
[out:json]
[timeout:900]
;
area
  ["boundary"="administrative"]
  ["name"="Абинский район"]
->.a;
out body qt;
(
  relation
    (area.a)
    ["place"~"hamlet|village|town|city|suburb"];
  way
    (area.a)
    ["place"~"hamlet|village|town|city|suburb"];
  node
    (area.a)
    ["place"~"hamlet|village|town|city|suburb"];
);
out body qt;
>;
out skel qt;

На http://overpass-turbo.euвсе выводит нормально, но экспорта в JOSM не происходит. Если делать через mirrored download в JOSM все ок.

Last edited by Vadimi (2014-10-02 07:11:53)

Offline

#27 2014-10-02 11:23:49

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

хм... странно, у меня появляется окно с сообщением, где всё расписано:

Неполные данные
Похоже, этот запрос не вернёт данные OSM в формате XML с метаданными. Редакторы вроде JOSM требуют данных именно в таком формате.
overpass turbo может помочь в починке запроса — нажмите «починить запрос» внизу.

P.S. и вроде еще нужно изменить строчку [out:json] на [out:xml]


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#28 2014-11-27 17:23:32

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

по мотивам темы Обучение школьников/студентов OSM и задачи отбора места для "практики", поиск сёл и деревень, где нужно отрисовать домики

поискал примеры, но что-то глухо...

как отобрать ноды place, в радиусе 500(1000) метров от которой нарисовано меньше 20 зданий (building=*) ?


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#29 2014-11-27 18:52:27

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 6,882

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

Xmypblu wrote:

поискал примеры, но что-то глухо...

Хех, я тоже сначала по разному пытался. Потом тупо открыл http://atd.osm.rambler.ru/r1221185.html и рандомно потыкал до какой нибудь деревни.

Offline

#30 2014-11-27 19:24:22

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

freeExec wrote:

Хех, я тоже сначала по разному пытался.

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


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#31 2014-11-30 08:35:31

Paravoz
Member
From: Ярославль
Registered: 2009-12-01
Posts: 664

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

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

Offline

#32 2014-11-30 08:42:34

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

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

Paravoz wrote:

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

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

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

http://wiki.openstreetmap.org/wiki/Over … _.21.3D.29

Offline

#33 2014-11-30 08:44:51

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,430

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

Paravoz wrote:

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

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

Offline

#34 2014-11-30 16:46:17

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

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

http://overpass-turbo.eu/s/6ju
0_114a70_71cbf531_-1-XL.png

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

Last edited by Xmypblu (2014-11-30 18:00:36)


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#35 2014-11-30 17:25:12

Cd_spb
Member
From: Санкт-Петербург
Registered: 2011-11-04
Posts: 1,172

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

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

Offline

#36 2014-11-30 17:52:40

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

Cd_spb wrote:

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

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

Last edited by Xmypblu (2014-11-30 17:53:44)


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#37 2014-11-30 17:57:47

VlIvYur
Member
Registered: 2011-01-12
Posts: 364

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

Xmypblu wrote:

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

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

Offline

#38 2014-11-30 18:05:24

Paravoz
Member
From: Ярославль
Registered: 2009-12-01
Posts: 664

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

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

http://wiki.openstreetmap.org/wiki/Over … _.21.3D.29

JOSM ругается:

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

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

Offline

#39 2014-11-30 18:29:07

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

Paravoz wrote:

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;

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


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#40 2014-11-30 19:02:34

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

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

Paravoz wrote:

JOSM ругается:

Это я привёл синтаксис помощника 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/Over … rbo/Wizard


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

Last edited by d1g (2014-11-30 19:05:17)

Offline

#41 2014-11-30 19:04:46

Paravoz
Member
From: Ярославль
Registered: 2009-12-01
Posts: 664

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

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

Offline

#42 2014-11-30 19:37:42

Cd_spb
Member
From: Санкт-Петербург
Registered: 2011-11-04
Posts: 1,172

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

Xmypblu wrote:
Cd_spb wrote:

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

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

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

Offline

#43 2014-12-01 19:20:08

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

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

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

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

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

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


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#44 2014-12-02 07:12:42

kastellano
Member
Registered: 2014-01-15
Posts: 223
Website

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

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

Offline

#45 2014-12-02 15:55:34

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

kastellano wrote:

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

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

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


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

#46 2014-12-02 16:17:19

kastellano
Member
Registered: 2014-01-15
Posts: 223
Website

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

Спасибо.

Offline

#47 2014-12-02 16:51:02

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,432
Website

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

Xmypblu wrote:

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

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

Last edited by Zverik (2014-12-02 20:42:25)


ШТОСМ | josm.ru | обо мне | taste is just another name for misogyny

Offline

#48 2014-12-02 17:47:07

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 6,882

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

Zverik wrote:

Крутота. Сделал вариант

А где residential ?

Offline

#49 2014-12-02 20:42:49

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,432
Website

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

freeExec wrote:
Zverik wrote:

Крутота. Сделал вариант

А где residential ?

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


ШТОСМ | josm.ru | обо мне | taste is just another name for misogyny

Offline

#50 2015-01-02 16:31:02

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 386

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

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

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

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


Последняя заметка в дневниках: [перевод] "OpenStreetMap Mapping Priority"

Offline

Board footer

Powered by FluxBB