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.

#76 2015-12-23 22:50:46

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

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

edward17, я спрашивал, что имел в виду wowik под "просто обкавычить тег" (когда отвечал на мое предложение использовать шаблон с регулярками http://forum.openstreetmap.org/viewtopi … 80#p567480 ), потому что

"recycling:"

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

Last edited by BushmanK (2015-12-23 22:53:14)


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

#77 2015-12-23 23:47:42

edward17
Member
Registered: 2013-08-26
Posts: 1,849
Website

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

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

Увидел это:

BushmanK wrote:

Приведите пример того, что вбивать в wizard для recycling:*=*

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


Все жители частного сектора, вешающие таблички с названием улицы и номером дома, попадают в рай без очереди.

Offline

#78 2015-12-24 01:37:53

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

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

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


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

#79 2015-12-24 13:03:03

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 6,888

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

BushmanK wrote:
wowik wrote:

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

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

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

BushmanK wrote:

(вида namespace:key=value)

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

Offline

#80 2015-12-24 18:06:50

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

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

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

Потому, если для какой-то цели нужно выбрать, например, все теги в одном пространстве имен, шаблон должен использовать регулярные выражения.


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

#81 2015-12-24 23:07:16

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 6,888

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

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

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

Last edited by wowik (2015-12-24 23:15:30)

Offline

#82 2016-01-17 22:52:23

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

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

wowik wrote:

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

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

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

если для какой-то цели нужно выбрать, например, все теги в одном пространстве имен

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


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

#83 2016-03-10 14:11:14

RiG's
Member
Registered: 2015-08-03
Posts: 101

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

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

Offline

#84 2016-03-10 14:17:23

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 6,888

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

RiG's wrote:

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

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

Offline

#85 2016-03-10 14:22:17

RiG's
Member
Registered: 2015-08-03
Posts: 101

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

wowik wrote:
RiG's wrote:

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

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

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

Offline

#86 2016-03-10 14:32:43

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 6,888

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

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

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

Last edited by wowik (2016-03-10 14:34:04)

Offline

#87 2016-03-10 14:38:32

freeExec
Moderator
From: Ульяновск
Registered: 2012-07-31
Posts: 6,702

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

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

Offline

#88 2016-03-10 14:46:56

RiG's
Member
Registered: 2015-08-03
Posts: 101

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

freeExec wrote:

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

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

Offline

#89 2016-03-10 14:49:00

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 6,888

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

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

Offline

#90 2016-03-10 14:49:51

freeExec
Moderator
From: Ульяновск
Registered: 2012-07-31
Posts: 6,702

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

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

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

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

.c out tags;

Offline

#91 2016-03-10 14:58:44

RiG's
Member
Registered: 2015-08-03
Posts: 101

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

Отлично, большое спасибо, все получилось.

[out:json][timeout:25];
// gather results
(
  is_in({{center}}) -> .b;
  
  (way(pivot.b)["admin_level"=4];
   rel(pivot.b)["admin_level"=4];
   )-> .c;
  
);
.c out tags;

Offline

#92 2016-03-10 17:46:59

edward17
Member
Registered: 2013-08-26
Posts: 1,849
Website

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

RiG's wrote:

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

Почему бы не использовать обратный геокодинг от Nominatim?
http://wiki.openstreetmap.org/wiki/Nomi … _Geocoding


Все жители частного сектора, вешающие таблички с названием улицы и номером дома, попадают в рай без очереди.

Offline

#93 2016-03-11 08:35:23

RiG's
Member
Registered: 2015-08-03
Posts: 101

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

Хороший способ, возможно это будет даже быстрее работать. Чтобы получить конкретно название области, нужно указывать zoom=5

http://nominatim.openstreetmap.org/reverse?format=xml&lat=47.18742&lon=39.63980&zoom=5&addressdetails=1&extratags=1&namedetails=1
edward17 wrote:
RiG's wrote:

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

Почему бы не использовать обратный геокодинг от Nominatim?
http://wiki.openstreetmap.org/wiki/Nomi … _Geocoding

Offline

#94 2016-04-18 08:58:39

Surly
Member
From: Екатеринбург
Registered: 2009-09-17
Posts: 803

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

Помогите запросить и раскрасить следующие данные:
1) гос. границы;
2) границы субъектов федерации (линии чуть тоньше или бледнее, чем у гос.границ);
3) некоторые населенные пункты (в запросе будет список их названий) -- в виде точки или маленького круга;
4) другие некоторые населенные пункты (тоже списком) -- как в п.3, только другого цвета.

Offline

#95 2016-04-18 09:02:13

freeExec
Moderator
From: Ульяновск
Registered: 2012-07-31
Posts: 6,702

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

Я бы не рвал ж... в оверпасс, а по-быстрому навоял это в mapbox studio.

Offline

#96 2016-04-18 09:05:29

Surly
Member
From: Екатеринбург
Registered: 2009-09-17
Posts: 803

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

mapbox studio для меня ещё более тёмный лес, чем сайт OverPass-Turbo.

Offline

#97 2016-04-18 09:22:15

freeExec
Moderator
From: Ульяновск
Registered: 2012-07-31
Posts: 6,702

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

Да не, там справить даже ... Выбрал набор границы, задал толщину и цвет, как ты и хотел.

Offline

#98 2016-05-25 22:14:08

yuryleb
Member
From: Санкт-Петербург
Registered: 2013-01-11
Posts: 250

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

Нужна помощь или совет в решении вот такой задачи: хотелось бы выгрузить все ж/д станции России, причем с группировкой по федеральному округу и региону, в XML для последующей трансформации в GPX с Гарминовскими расширениями для указания хотя бы частичного адреса для каждой точки (точку из полигона попробую сделать при трансформации, или у Overpass есть "функция" центра полигона?). Группировкой надеюсь избавиться от геокодирования (или Overpass позволит и сможет выполнить ~100500 запросов геокодирования, если вообще это умеет?), т.к. хочу привязать к точкам и округ, и регион.

Вывод точек/полигонов станций в пределах одного региона у меня получился такой (пока просто на экран в http://overpass-turbo.eu/):

[out:json][timeout:25];
area[name="Москва"][admin_level=4][boundary=administrative]->.searchArea;
(
  node["railway"="halt"]["station"!="subway"]["station"!="monorail"](area.searchArea);
  node["railway"="station"]["station"!="subway"]["station"!="monorail"](area.searchArea);
  way["railway"="station"]["station"!="subway"]["station"!="monorail"](area.searchArea);
);
// print results
out body;
>;
out skel qt;

Но как начать с России и идти вниз по отношениям boundary=administrative по subarea до admin_level=4, и получить в результатах и границы отношений, и точки/полигоны станций, так и не смог пока понять.

Или не с того конца пошел?

Offline

#99 2016-05-28 20:26:47

yuryleb
Member
From: Санкт-Петербург
Registered: 2013-01-11
Posts: 250

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

Нет, кажется, средствами этого "языка" в одном запросе это сделать невозможно. Придется тупо дублировать запросы по каждому региону.

Offline

#100 2016-05-28 20:35:27

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

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

Ну так а в чем проблема - получить список регионов, положить его в csv, потом одной командой из командной строки через curl/wget в цикле обойти каждый и сохранить результат?


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

Board footer

Powered by FluxBB