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.

#101 2016-05-28 20:43:57

pfg21
Member
From: Чебоксары
Registered: 2012-10-18
Posts: 2,507

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

в свое время делал скрипт для получения всех н.п. в республике
----------------
[timeout:25];
area[admin_level=4]["name"="Чувашия"][boundary=administrative]->.boundaryarea;

( node(area.boundaryarea)["place"];
  way(area.boundaryarea)["place"];
  relation(area.boundaryarea)["place"]; );

out meta;
>;
out meta;
----------------
для скорости думаю надо было сначала делать выборку по тегам, а уж потом проверять на вхождение в area, быстрее обработается.
переделай под себя.

Offline

#102 2016-09-15 12:40:20

madeinussr
Member
From: Феодосия
Registered: 2013-11-17
Posts: 58

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

А кто подскажет, можно ли как-то отсеять запрашиваемые объекты по габаритам (для way)? Например, для natural=water показать все больше 100 метров в широтной или долготной протяженности. Или по длине way. Просто мелких уж очень много получается, мне достаточно только самые крупные.

Offline

#103 2017-05-11 11:50:57

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

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

У кого-то есть проблемы, что сохранённые в браузере запросы пропали?

Offline

#104 2017-05-11 12:45:00

Vort
Member
Registered: 2010-11-29
Posts: 458

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

freeExec wrote:

У кого-то есть проблемы, что сохранённые в браузере запросы пропали?

У меня какой-то чужой запрос появился вместо того, который был загружен.

Offline

#105 2017-05-11 13:45:05

Владимир К
Member
Registered: 2015-05-22
Posts: 391

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

ого. действительно все мои сохраненные запросы пропали, вместо них чьи-то чужие.

Offline

#106 2017-05-11 15:16:08

LLlypuk82
Member
From: Витебск (Беларусь)
Registered: 2012-12-23
Posts: 2,072
Website

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

У меня такой нормально сохранился

[out:xml];
(
//  node["note"~"."]({{bbox}});
// You can also change node into way below

  node["fixme"~"."]({{bbox}});
);
out meta;
>;
out meta qt;

{{style:
node[note]{ 
  text : note;
  color: blue;
  fill-color:blue;
  fill-opacity:1.0;
}
node[fixme]{
  text: fixme; 
  color: red;
  fill-color:red;
  fill-opacity:1.0;
}
way[note]{ 
  text : note;
  color: blue;
  fill-color:blue;
  fill-opacity:1.0;
}
way[fixme]{
  text: fixme; 
  color: red;
  fill-color:red;
  fill-opacity:0.3;
}
}}

Offline

#107 2017-06-15 12:15:40

rinatbakiev
Member
Registered: 2017-05-23
Posts: 6

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

Всем привет!

А подскажите, пожалуйста, пример запроса для выгрузки субъектов РФ? Вроде admin_level 4
И еще вопрос - можно ли выгрузить и районы, города? Или для каждого субъекта надо будет ручками делать?

Offline

#108 2017-06-27 06:58:56

Eduard Popov
Member
Registered: 2017-01-09
Posts: 20

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

rinatbakiev wrote:

Всем привет!

А подскажите, пожалуйста, пример запроса для выгрузки субъектов РФ? Вроде admin_level 4
И еще вопрос - можно ли выгрузить и районы, города? Или для каждого субъекта надо будет ручками делать?

Выгрузка региона:
[out:xml][timeout:25][bbox:{{bbox}}];
(
  relation["admin_level"="4"]["addr:country"="RU"];
);
(._;>;);
out meta;


<br>

У меня тоже вопрос. Хочу выгрузить недостающие полигоны, не попавшие в нарезку, одним запросом.
Возможно можно сделать компактнее, но нужные мне данные приходят вот на такой запрос (3 отношения):
upd. удалось сократить до такого
(
  relation(1125603);
);
(
  ._;
  relation(151225);
);
(
  ._;
  relation(151223);
);
(
  ._;
  way(r);
  node(w);
);
out meta;


Overpass при этом возвращает дублирующиеся данные, если точки/линии содержатся в нескольких линиях/отношениях. Впоследствии на это ругается osmosis. Приходится искать дополнительно, чем бы убить дубли в файле osm.

upd. Последний вариант запроса работает, хотя наверняка можно ещё короче записать

Last edited by Eduard Popov (2017-06-27 08:20:02)

Offline

#109 2017-06-27 07:34:00

rinatbakiev
Member
Registered: 2017-05-23
Posts: 6

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

Eduard Popov wrote:
rinatbakiev wrote:

Всем привет!

А подскажите, пожалуйста, пример запроса для выгрузки субъектов РФ? Вроде admin_level 4
И еще вопрос - можно ли выгрузить и районы, города? Или для каждого субъекта надо будет ручками делать?

Выгрузка региона:
[out:xml][timeout:25][bbox:{{bbox}}];
(
  relation["admin_level"="4"]["addr:country"="RU"];
);
(._;>;);
out meta;


Спасибо за ответ! Но всегда практически runtime error. Какой масштаб использовать или что-нужно сделать, чтобы не было ошибки и получить границы всех регионов? ))

Last edited by rinatbakiev (2017-06-27 07:34:36)

Offline

#110 2017-06-27 07:50:40

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

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

Да вы микроскопом гвозди забиваете.
https://osm.wno-edv-service.de/boundaries/

Offline

#111 2017-06-27 09:50:26

rinatbakiev
Member
Registered: 2017-05-23
Posts: 6

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

freeExec wrote:

Да вы микроскопом гвозди забиваете.
https://osm.wno-edv-service.de/boundaries/

круто. Но получается как минимум 85 раз нажать , чтобы выбрать субъекты и это не считая районы

Offline

#112 2017-06-27 10:09:21

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,378

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

rinatbakiev wrote:

круто. Но получается как минимум 85 раз нажать , чтобы выбрать субъекты и это не считая районы

Мне кажется вам стоит перейти на выгрузки и фильтровать всё самому, через osmosis или osmfilter. Написал один раз батник с нужными параметрами и потом просто запускаешь для получения всех нужных данных (в том числе и районы, города).

Last edited by Sergey Astakhov (2017-06-27 10:10:06)

Offline

#113 2017-06-27 10:11:07

rinatbakiev
Member
Registered: 2017-05-23
Posts: 6

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

Sergey Astakhov wrote:
rinatbakiev wrote:

круто. Но получается как минимум 85 раз нажать , чтобы выбрать субъекты и это не считая районы

Мне кажется вам стоит перейти на выгрузки и фильтровать всё самому, через osmosis или osmfilter. Написал один раз батник с нужными параметрами и потом просто запускаешь для получения всех нужных данных (в том числе и районы, города).

имеется ввиду выгрузить всю дату по России и потом там искать районы и прочее?

Offline

#114 2017-06-27 12:32:30

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,378

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

rinatbakiev wrote:

имеется ввиду выгрузить всю дату по России и потом там искать районы и прочее?

Имеется в виду - взять готовый дамп (отсюда) и отфильтровать из него то, что вам нужно, а не насиловать overpass.

Offline

Board footer

Powered by FluxBB