OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2018-07-03 13:35:20

Shasoft
Member
Registered: 2009-08-03
Posts: 105

Геокодер OSM

Хочу на сайте сделать форму ввода адреса.
Показывается список стран. Выбрали страну, внизу добавился список областей/штатов. Выбрали, показался список городов и т.д. вплоть до дома.
Для этого нужно этот список стран/областей/горродов/улиц/домов где-то бррать. Есть ли возможность через OSM получить список, к примеру, городов указав какую-то страну?

Может есть возможность делать поиск по типу узла + ограничивающая область?

Нашел  http://nominatim.openstreetmap.org, но там, как я понял, просто поиск, без указания типов нужных узлов.

Или без локальной БД OSM никак такое сделать не получится?

Offline

#2 2018-07-03 14:01:15

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

Re: Геокодер OSM

Shasoft wrote:

Есть ли возможность через OSM получить список, к примеру, городов указав какую-то страну?

В данных ОСМ это есть. Готового халявного сервиса нет, или я просто про него ещё не знаю (за исключением костыльного подхода с Overpass). Так что вы правильно двигаетесь в сторону создать его для себя. А если вы его ещё и сделаете публичным, то следующему вопрошающему будет что ответить.

Offline

#3 2018-07-03 15:17:34

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 7,759

Re: Геокодер OSM

Shasoft wrote:

Или без локальной БД OSM никак такое сделать не получится?

Ну без всяких там баз, просто программкой на C++ обрабатываю исходные данные (OSMовские XML), периодически обновляемые, и похожую структуру получаю.
http://wowik.byethost7.com/places/

Last edited by wowik (2018-07-03 15:19:16)

Offline

#4 2018-07-03 16:07:24

Shasoft
Member
Registered: 2009-08-03
Posts: 105

Re: Геокодер OSM

wowik wrote:
Shasoft wrote:

Или без локальной БД OSM никак такое сделать не получится?

Ну без всяких там баз, просто программкой на C++ обрабатываю исходные данные (OSMовские XML), периодически обновляемые, и похожую структуру получаю.
http://wowik.byethost7.com/places/

На web сервере всего 30 секунд есть чтобы скрипт отработал, так что он просто не успеет загрузить xml и обработать его (да и по памяти ограничение)


freeExec wrote:
Shasoft wrote:

Есть ли возможность через OSM получить список, к примеру, городов указав какую-то страну?

В данных ОСМ это есть. Готового халявного сервиса нет, или я просто про него ещё не знаю (за исключением костыльного подхода с Overpass). Так что вы правильно двигаетесь в сторону создать его для себя. А если вы его ещё и сделаете публичным, то следующему вопрошающему будет что ответить.

Вот наверное я его в свое время и использовал. Помню что вроде выбирал данные в XML, но было это давно. Как вариант, попробую на его основе что-то придумать.

Offline

#5 2018-07-03 17:16:11

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

Re: Геокодер OSM

Shasoft wrote:

На web сервере всего 30 секунд есть чтобы скрипт отработал, так что он просто не успеет загрузить xml и обработать его (да и по памяти ограничение)

Это нужно сделать один раз и сохранить готовое дерево.

Offline

#6 2018-07-03 18:21:35

Shasoft
Member
Registered: 2009-08-03
Posts: 105

Re: Геокодер OSM

freeExec wrote:
Shasoft wrote:

На web сервере всего 30 секунд есть чтобы скрипт отработал, так что он просто не успеет загрузить xml и обработать его (да и по памяти ограничение)

Это нужно сделать один раз и сохранить готовое дерево.

Готовое дерево будет очень большого размера. все страны. все города. все улицы. все дома

Offline

#7 2018-07-03 19:09:43

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

Re: Геокодер OSM

Shasoft wrote:

Готовое дерево будет очень большого размера. все страны. все города. все улицы. все дома

"Большому кораблю - большую торпеду." Хочешь все страны со всеми домами - готовь большое дерево.

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

Last edited by Sergey Astakhov (2018-07-03 19:10:10)

Offline

#8 2018-07-03 19:13:34

Shasoft
Member
Registered: 2009-08-03
Posts: 105

Re: Геокодер OSM

Sergey Astakhov wrote:

Но можно схалявить

так как мне нужно просто указать точку на карте, то лучше вообще схалявлю: прикручу карту на которой нужно будет передвинуть маркер в нужное место + переключатель "Точное место/Где-то в этом регионе". Т.е. если хотят указать город в целом, то значение "Где-то в этом регионе", что будет означать что маркер не указывает на точное место, а просто указывает на примерный регион расположения.

Offline

#9 2018-07-03 19:33:56

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

Re: Геокодер OSM

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

Offline

Board footer

Powered by FluxBB