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

Тег с двоеточием надо просто обкавычить

Раз пошла такая пьянка, накину парочку из последних интересных
Города в пределах (по прямой) 20км от МКАД

[out:json][timeout:25];
// gather results
(
  rel(2094222)->.mkad;
  (
    node(around.mkad:20000)["place"="city"];
    node(around.mkad:20000)["place"="town"];
  ) ->.city;
);
// print results
.city out body;
//>;
//out skel qt;
{{style:
node 
{ color:green; text: name; }
}}

Что за населённый пункт в центре карты

[out:json][timeout:25];
// gather results
(
  is_in({{center}}) -> .b;
  
  (way(pivot.b)["place"];
   rel(pivot.b)["place"];
   )-> .c;
  
);
.c out body;
>;
out skel qt;

Посмотреть как проходит маршрут общественного транспорта

[out:json];
relation
  ["route"="bus"]
  ["ref"="38"]({{bbox}})
->.hr;
(
  .hr;
  way(r.hr)->.hrp;
  node(r.hr);
);
out body qt;
node(w.hrp);
out skel qt;

“просто” - не работает.
Приведите пример того, что вбивать в wizard для recycling:=

Я ввёл в визард

type:node and ~"^recycling:"~"."

и всё работает:
http://overpass-turbo.eu/s/dp4

edward17, регулярка ~“^recycling:” не сильно отличается от ~“^recycling:.*$”

Я не в курсе почему overpass матчит всё, а не минимальные десять символов у ^recycling:

http://regexr.com/3cff9 - матчится весь тег recycling:red
http://regexr.com/3cfff - вариант без .*$, матчится только recycling:

в .*$ тоже есть неточность потому как в неё попадёт recycling:

Поэтому наиболее безопасный вариант вот такой:
^recycling:.+$

edward17, я спрашивал, что имел в виду wowik под “просто обкавычить тег” (когда отвечал на мое предложение использовать шаблон с регулярками http://forum.openstreetmap.org/viewtopic.php?pid=567480#p567480 ), потому что

"recycling:"

, очевидно, нифига не работает.
Речь, напомню, идет про условие для выборки всех тегов, входящих в пространство имен (т.е. recycling:key=value , где key и value - любые )

Перечитал дискуссию и понял, что моё сообщение было ни к чему.

Увидел это:

и ответил. Но не заметил, что вверху уже написан почти такой же запрос.

Зато в итоге разобрали несколько сходных шаблонов, которые выбирают одно и то же, но с разными нюансами (не пустой key, например).
А вообще, если совсем по-хорошему, wizard (и api вообще) должны понимать namespace, по крайней мере - в классическом виде, раз это довольно широко используется.

А вы про другое писали :wink:

посему “просто” это так:
“namespace:key”=value или даже “namespace:key”=“value”

wowik, признайтесь честно, вы дальше первого предложения (откуда процитировали про namespace:key=value) не читали. А уже во втором было написано:

В первом предложении было ошибочное утверждение “ругается на двоеточие и не понимает условия с тегами, использующими пространство имен (вида namespace:key=value)”. Его исправление и предлагал, ибо вдруг кто и впрямь поверит, что нельзя писать двоеточие в запросе. Вы же про wildcardы ничего там не говорите, проблема-то в них, а не в двоеточии. Сразу бы и писали про namespace:*=value.

А то у вас как у Путина, сначала заявление, а потом разъяснение Пескова, что на самом деле имелось ввиду в заявлении.

Вы и там дальше первого предложения не читали.
В этом же сообщении написано:

.
Это и есть namespace:= и ни что другое.
Бросайте привычку отвечать на одно (любое) предложение из сообщения, игнорируя остальные.

Подскажите, возможно ли, и, если возможно, приведите пример запроса, в котором по координатам точки(центр карты) можно получить название области РФ. Заранее спасибо.

что-то типа так
http://overpass-turbo.eu/s/eUf

Там данные выбираются по bbox, а мне необходимо конкретно по координатам точки

bbox не получится маленький вокруг точки?

З.Ы. не получается…

Вот есть у меня “Что за город в центре”. Используется ключ {{ccenter}}. Отобрать надо только по admin_level
http://overpass-turbo.eu/s/eUm

Почти то что нужно, спасибо!. А в запросе нельзя сразу указывать, чтоб возвращалось name?

Я никак не знал куда {{ccenter}} запихивается
http://overpass-turbo.eu/s/eUw

Не понял вопроса. Если на карту, то

{{style:
node 
{ color:green; text: name; }
}}

Если если карта вообще не нужна, а хотите только имя в данных, то измените вывод оставив только

.c out tags;