OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#151 2018-11-24 19:21:32

Президент Ирака
Member
Registered: 2013-02-14
Posts: 79

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

Напишите подробнее:
* что значит связанные? Это пересекают район где-то, полностью в нем находятся, дома с этой улицы попадают в район или на улице стоит индекс района?
* сколько районов, насколько больших

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

Offline

#152 2018-11-25 11:27:03

justsayhello
Member
Registered: 2018-11-23
Posts: 2

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

Добрый день, имеется ввиду чтобы был признак к какому району (и микрорайону) относится улица, улица может относится и к нескольким районам если их пересекает, к примеру я получаю список улиц. города и могу понять к какому или к каким районам относится улица

Offline

#153 2018-11-25 16:36:56

Президент Ирака
Member
Registered: 2013-02-14
Posts: 79

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

В первом приближении можно вот так получить улицы которые хоть где-то пересекают границу района:

[out:csv(::id,"name")][timeout:10];
way(216882430);
out geom;
map_to_area ->.area;

way [highway]["name"](area.area);
out;

То есть руками смотрите номер линии, соответствующей району (или мультиполигона, тогда надо заменить "way" на "rel"), вбивате его и получаете список улиц в этом районе в таком виде:

180119057	Calle Ramo Toscana
180119058	Calle del Ogio o de la Rugheta
180119059	Calle del Paradisio
180119060	Calle del Sturion

А дальше уже зависит от того, как вы хотите это использовать, так как вы не ответили на то, что я спрашивал. Проще всего будет, если вы напишете, для какого города и для какого уровня районов вы хотите получить списки. В разных местах немного по-разному мапят. Ну и я уже писал, что для слишком больших районов и для границ с большим количеством точек (area.area) работает очень медленно и оверпасс может просто кикать запрос.

Но я вижу одну проблему: не знаю найдет ли оверпасс линию, которая проходит внутри района, но точек внутри него не имеет. Можете поискать пример, проверим (не обязательно район с улицей, любой путь пересекающий полигон, желательно не очень большой).
И одну возможную проблему: улицы могут быть разбиты на куски (мостами, отличающимися скоростными ограничениями и т.п.) и вы получите кучу дубликатов. Если нужны только именованные улицы, то это решаемая проблема, а вот если есть неименованные, то я не вижу простого способа их соединить.

Offline

#154 2018-11-25 17:43:32

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

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

way [highway]["name"](area.area);

Найдёт всё что внутри.
Другое дело, что у нас кучу "микрорайонов" это не понятное "вон там за дрогой" и отмечено просто точкой.
Если это не разовая хотелка для своего города, то имеет смысл поднимать свой локальный nominatim.

Offline

#155 2018-11-25 19:06:20

Президент Ирака
Member
Registered: 2013-02-14
Posts: 79

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

> Найдёт всё что внутри.
В смысле не обязательно, чтобы внутри были точки?

Offline

#156 2018-11-25 19:27:30

chnav
Member
From: Moscow, Russia
Registered: 2010-03-18
Posts: 2,882

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

freeExec wrote:
way [highway]["name"](area.area);

Найдёт всё что внутри.
Другое дело, что у нас кучу "микрорайонов" это не понятное "вон там за дрогой" и отмечено просто точкой.
Если это не разовая хотелка для своего города, то имеет смысл поднимать свой локальный nominatim.

Спасибо, оказывается формат запросов изменился, раньше area писалась в начале запроса. То-то я смотрю мои старые запросы с area выдают ошибку. А может и не в этом дело...

Last edited by chnav (2018-11-25 19:28:57)

Offline

#157 2019-01-05 07:23:09

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 472

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

Это только у меня JOSM который день выдает ошибку соединения с Overpass API? Предлагает проверить наличие Интернет соединения. Или это новогодние каникулы сервера Overpass API?

Offline

#158 2019-01-05 09:55:35

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

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

Здрасти, уже почти год будет, как основной адрес заблокирован телеграмом. Используйте альтернативы.

Offline

#159 2019-01-05 10:23:46

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 472

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

freeExec wrote:

Здрасти, уже почти год будет, как основной адрес заблокирован телеграмом. Используйте альтернативы.

Какой адрес заблокирован? Какой рабочий? Я весь год пользовался без проблем. При чем здесь телеграмм?
В работе был - http://overpass.openstreetmap.ru/cgi/
В резерве - https://overpass-api.de/api/
Прошу развернуть ответ. Укажите адрес. Спасибо.

Offline

#160 2019-01-05 11:50:36

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

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

White_54 wrote:

Какой адрес заблокирован?

https://overpass-api.de/api/

White_54 wrote:

Какой рабочий?

https://overpass.kumi.systems/api/

White_54 wrote:

При чем здесь телеграмм?

Не телеграммом, конечно, а роскомпозором, который всё ещё пытается с ним воевать при помощи ковровых блокировок.

Offline

#161 2019-01-05 12:52:05

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 472

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

Sergey Astakhov wrote:

воевать при помощи ковровых блокировок.

За что гонения?! В чём его вина? Впрочем спасибо за развернутый ответ. Запустил. На долго ли? Никогда с этим не сталкивался.

Offline

#162 2019-01-06 11:24:26

literan
Member
Registered: 2012-11-06
Posts: 2,824
Website

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

White_54 wrote:

За что гонения?! В чём его вина?

https://ru.wikipedia.org/wiki/Telegram# … 0%BE%D0%BC

Offline

#163 2019-01-06 12:14:13

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 472

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

literan wrote:
White_54 wrote:

За что гонения?! В чём его вина?

https://ru.wikipedia.org/wiki/Telegram# … 0%BE%D0%BC

Телеграмм мне не интересен. Не пользую.
c43846c597e5t.jpg

Уже решено! Работает! (см. выше)

Last edited by White_54 (2019-01-06 12:18:04)

Offline

#164 2019-01-06 12:27:36

literan
Member
Registered: 2012-11-06
Posts: 2,824
Website

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

White_54 wrote:

Телеграмм мне не интересен. Не пользую.

странно, а кто вопрос этот задавал: "За что гонения?! В чём его вина?"

Offline

#165 2019-01-06 12:37:35

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 472

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

literan wrote:
White_54 wrote:

Телеграмм мне не интересен. Не пользую.

странно, а кто вопрос этот задавал: "За что гонения?! В чём его вина?"

Там чуть выше - хронология ("Не телеграммом, конечно, а роскомпозором,..."). Примеры даны блокировки и рабочего канала для Overpass API (по теме).

Offline

Board footer

Powered by FluxBB