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

В соседней теме пытался выяснить - почему скрипт не работает так, как задумано. Методом научного тыка - пришёл к выводу, что проблема в запросе к Overpass.
В самом скрипте (qat_script\gui.py:1113) строка запроса выглядит так:

overpassurl += 'http://overpass-api.de/api/interpreter?data=' 
overpasquery = 'relation["admin_level"="%s"]["name"="%s"]%s;(way(r:"outer");node(w););out meta;' % (adminLevel, name, optTag)

к сожалению, практически все (исключений я пока не нашёл) границы в России этим запросом почему-то не загружаются в скрипт. Есть подозрения, что это зависит от наличия на первом сегменте(way) отношения, тегов “admin_level=*”. Но так как есть примеры, когда тег есть, а все равно не грузит - я не понимаю, что ему не нравится… прошу помощи, подкорректировать запрос до рабочего состояния.

Список границ какие я проверял:

Россия:
Калининградская область(4) - не загружает
в тегах отношений есть (admin_level=4, boundary=administrative),
в тегах линий есть (boundary=administrative, admin_level=2),
note: в первом сегменте прописан тег “admin_level=2”
Новгородская область(4) - не загружает
в тегах отношений есть (boundary=administrative, admin_level=4),
в тегах линий есть различные значения admin_level,
note: в первом сегменте нет тега “admin_level=4”
Италия:
Friuli Venezia Giulia(4) - загружает
граница не собрана в отношение,
в тегах линий есть (boundary=administrative, admin_level=4)
Valle d’Aosta(4) - загружает
граница не собрана в отношение,
в тегах линий есть (boundary=administrative, admin_level=4)
Испания:
Castilla y León(4) - не загружает
в тегах отношений есть (boundary=administrative, admin_level=4),
в тегах линий есть (boundary=administrative, admin_level=4),
note: в первом сегменте прописан тег “admin_level=2”
Польша:
województwo wielkopolskie(4) - не загружает
в тегах отношений есть (boundary=administrative, admin_level=4),
в тегах линий есть (boundary=administrative)
Германия:
Hamburg(4) - загружает
в тегах отношений есть (admin_level=4,boundary=administrative),
в тегах линий есть (admin_level=4)
Nordrhein-Westfalen(4) - загружает
граница не собрана в отношение,
в тегах линий есть (boundary=administrative, admin_level=4)
Франция:
Provence-Alpes-Cote d’Azur(4) - не загружает
в тегах отношений есть (admin_level=4,boundary=administrative),
в тегах линий есть (boundary=administrative, admin_level=4),
note: в первом сегменте нет тега “admin_level=4”
Турция:
Antalya(4) - загружает
в тегах отношений есть (admin_level=4,boundary=administrative),
в тегах линий есть различные значения admin_level,
note: в первом сегменте нет тега “admin_level=4”
İç Anadolu Bölgesi(3) - не загружает
в тегах отношений есть (admin_level=3,boundary=administrative),
в тегах линий есть (boundary=administrative, admin_level=3),
note: в первом сегменте нет тега “admin_level=3”

P.S. автору скрипта я написал, он обещал посмотреть, что можно сделать… но не знает когда появится время для этого.

Проверял где ? В браузере всё без проблем загружается, у меня файл на 2Мб, но вот на месте в josm не работает.

проверял в JOSM конечно - всё подробно расписал вроде. речь про скрипт, на кой мне это все в браузере или где-то ещё?
хотя тоже интересно, почему такое различие в поведении… может в заголовках запроса или в символах перевода строк что-то не так

Ну если в браузере ок, то это проблема не overpass.

не все так просто… ок, надо проверить тогда и через браузер, что займет некоторое время.
но как заметил в соседней теме akks:

первые запросы вернули пустой ответ, пример такого ответа:

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2014-03-20T07:05:01Z"/>


</osm>

но дальше отдал границу

Закономерность, однако: есть не-ASCII символы (код >127) → не грузит.
То, что JOSM печатает в логи, открывается нормально, но запрос, похоже, делается не в той кодировке (У GET-запросов всегда с этим проблема). Посмотрю сейчас перехватчиком…

Очень надеюсь, что у тебя получится что-то найти :wink:

Я получил ответ от разработчика скрипта:

к сожалению у меня в WinXP без изменений… по прежнему, не загружает.

UPD: под 10.7.5 Mac OS X тоже не загружает, зато увидел в действии обе кнопки “View”
UPD 2: после плясок с бубном стало загружать под 10.7.5 Mac OS X … под winXP - проблема осталась

У меня качает и województwo wielkopolskie и Калининградскую область без всяких правок .py !

Может, дело в последней версии JOSM-latest и последнем qat? (Windows 8.1 Rus)

Кто знает - можно ли при отображении результатов запросов отображать, например, длину линий ?
Меня спросили на автофоруме как можно оценить длину плохих участков smoothness=bad.

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

[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 все ок.

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

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

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

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

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

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

задача схожа с той, что тут уже обсуждалась - поиск НП без рядом проходящих дорог
собственно я искал примеры - как в запросах 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, ещё бы текст запроса написали…

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