You are not logged in.

#1 2021-10-28 07:01:27

Dmitry And
Member
Registered: 2021-10-28
Posts: 4

Локальная копия OSM

Здравствуйте уважаемые участники форума

Для одного проекта стала острая необходимость развернуть локально систему для определения городов и их районов по координатам. Даже для нашей страны, особенно для Санкт Петербурга и Москвы, ни один, в том числе платный, геокодер не подошел.

Подскажите, хотя бы в общих чертах, как собрать такой локальный сервер с openstreetmap (пока необходимо только РФ, слои с городами и районами,  определять улицы не надо). И как сделать скрипт, чтобы по отправляемым этой системе координатам получать ответ в виде город / район.

Заранее благодарны

Offline

#2 2021-10-28 08:33:28

fndoder
Member
Registered: 2011-07-17
Posts: 311

Re: Локальная копия OSM

Всё программное обеспечение на Гитхабе, устанавливать по прилагаемой документации.

https://wiki.openstreetmap.org/wiki/Nominatim

https://github.com/openstreetmap/openstreetmap-website

Offline

#3 2021-10-28 09:45:41

Dmitry And
Member
Registered: 2021-10-28
Posts: 4

Re: Локальная копия OSM

Сейчас мы работаем с провайдером данных Locationiq, который я так понял использует данные osm для обработки запросов.

В частности в Москве и Санкт Петербурге, он выдает какую то явную дичь, вместо районов - микрорайоны.
Забугорные разработчики попросили внести изменения в OSM, чтобы они корректно могли возвращать районы.

В интернетах пробегала инфа, что районы в России имеют admin_level=5 но как правильно делать запрос чтобы выделять именно эти данные ?

Offline

#4 2021-10-28 10:34:18

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

Re: Локальная копия OSM

Dmitry And wrote:

он выдает какую то явную дичь, вместо районов - микрорайоны.

Что вы под этим подразумеваете. Потому что admin_level=5 это административные округа города федерального значения (для Москвы).

Offline

#5 2021-10-28 10:41:14

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

Re: Локальная копия OSM

Dmitry And wrote:

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

А вот этого пожалуйста не надо. В разных странах есть свои локальные особенности административного деления, под одну гребёнку их не загнать, как бы это не было противно уму программиста.

https://wiki.openstreetmap.org/wiki/Tag … fic_values

У нас, в частности, Москва и СПб идут особняком, т.к. это города федерального значения. Тут более подробно:

https://wiki.openstreetmap.org/wiki/RU: … 0%B8%D1%86

Offline

#6 2021-10-28 11:25:45

Dmitry And
Member
Registered: 2021-10-28
Posts: 4

Re: Локальная копия OSM

Sergey Astakhov wrote:
Dmitry And wrote:

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

А вот этого пожалуйста не надо. В разных странах есть свои локальные особенности административного деления, под одну гребёнку их не загнать, как бы это не было противно уму программиста.

https://wiki.openstreetmap.org/wiki/Tag … fic_values

У нас, в частности, Москва и СПб идут особняком, т.к. это города федерального значения. Тут более подробно:

https://wiki.openstreetmap.org/wiki/RU: … 0%B8%D1%86


Про локальные особенности я читал, понимаю. Пока что берем Россию.
Но городить костыли поверх геокодера - временное решение и раздражает

Чтобы было еще понятнее. К примеру есть координаты 59.935539 30.35524 - Nominatim ни на 1 зуме не выдает - Центральный район, хотя обьект располагается именно там

Offline

#7 2021-10-28 11:52:39

literan
Member
Registered: 2012-11-06
Posts: 3,663
Website

Re: Локальная копия OSM

Dmitry And wrote:

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

щас, побежали

пусть изменения в код свой вносят

Offline

#8 2021-10-28 12:17:40

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

Re: Локальная копия OSM

Вот ваш район, но у него ранг 100, т.е. никакущий, потому что считают видимо admin_level=5 как не используемый.

Если требуется только обратный геокодер (по координатам) то самый простой на мой взгляд путь импортировать границы в PostGIS и использовать ST_WITHIN.

Offline

#9 2021-10-28 12:35:57

Dmitry And
Member
Registered: 2021-10-28
Posts: 4

Re: Локальная копия OSM

freeExec wrote:

Вот ваш район, но у него ранг 100, т.е. никакущий, потому что считают видимо admin_level=5 как не используемый.

Если требуется только обратный геокодер (по координатам) то самый простой на мой взгляд путь импортировать границы в PostGIS и использовать ST_WITHIN.

Благодарю за подсказку с PostGIS. Куда копать теперь стало чуть понятнее

Offline

#10 2021-10-28 18:01:34

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,217

Re: Локальная копия OSM

Dmitry And wrote:

районы в России

Это разные объекты, называемые таким образом.
Есть муниципальные образования муниципальные районы, есть внутригородские районы различного толка, административные, муниципальные, а также просто части населенных пунктов, типа микрорайонов. Все это меняется от региона к региону и от города к городу.

Last edited by wowik (2021-10-28 18:04:54)

Offline

Board footer

Powered by FluxBB