You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2011-11-05 23:20:21

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Простой геокодер

Мне черезвычайно надоела ситуация с тем, что Nominatim никогда не обновляется, а "геокодер нового поколения" всё никак никем не заканчивается, поэтому написал свой.

Ставившиеся цели:
- Находить мой дом;
- Находить двойные адреса. Челюскинцев 13 - второй адрес моего дома, Центральная 13 - третий;
- Находить улицы, не сильно придираясь к написанию;
- Обновляться в реальном времени или близко к нему;
- Быть быстрым.

Вживую геокодер можно пощупать на http://openstreetmap.by/, набрав что-нибудь в поиске или передав в страничку параметром ?q=.

Цели, не ставившиеся перед геокодером:
- Находить всё. Это задача Яндекса, и если ее решать, то можно упереться в то же, что и Номинатим - импорт в базу будет происходить не в реальном времени, а с (много)недельным отставанием;
- Искать POI. На мой взгляд, это задача каталогов POI, а не геокодера, поэтому поиски типа "магазины мебели вокруг завода такого-то" поддерживать не планируется;
- Поддерживать все адресные схемы и весь мир. На мой взгляд, вполне достаточно ограничиться русским языком;
- Поддерживать поиск по некрасивым данным. Если кто-то напишет addr:street="Ленина улица" вместо addr:street="улица Ленина" (см. соглашение об именовании), то вполне нормально, если такой объект не будет найден.

Формат ввода:
а) Поиск по строгому совпадению name полигона и введенной строки (регистрозависимый). Вполне достаточно, чтобы написать Минск и найти в базе ближайший к вам Минск.
б) Поиск по паре "улица-дом-(город)" (регистронезависимый, relaxed). Выдаёт ближайший к опорной точке дом с таким адресом;
в) Поиск по улице (-городу) (регистронезависимый, relaxed). Выдаёт ближайший к вам сегмент улицы с таким названием.
г) Поиск по населенным пунктам (регистронезависимый, relaxed). Выдаёт населенный пункт с похожим названием.

Требования к данным:
- addr:street и name у улиц должен быть заполнен согласно Соглашению об именовании дорог, допустимы сокращения "ул.", "просп." и "пер.";
- addr:street должен быть в базе проекта streetmangler (https://github.com/AMDmi3/streetmangler, автор AMDmi3, дополнения можно присылать там же, на гитхабе, в виде баг-репортов и пулл-реквестов);
- addr:housenumber записан в формате "48А к2 с1" - дом номер 48А, корпус 2, строение 1. на данный момент поиска по составным номерам домов нет.
- двойные адреса задаются в следующем виде: основной адрес прописывается на контур здания (addr:street, addr:housenumber), дополнительные адреса ставятся на точки (addr:street, addr:housenumber ,_без_ тега building) внутри контура основного здания.

Как-то так. Попробуйте поискать свой дом; найдётся? Если да, мне будет приятно услышать "спасибо", если нет, то мне хотелось бы знать ссылку на объект в OSM и тот запрос, который вы вводите. smile

Last edited by Komяpa (2012-01-02 18:08:51)


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#2 2011-11-06 04:41:38

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Простой геокодер

К слову, в реальной жизни искать пои — не задача геокодера, но и не задача каталога. Запросы вида «поесть» или «суши» КРАЙНЕ актуальны в практическом применении. Даже из моего личного опыта.

А вообще ня, мой дом находит :3
Вечером затестирую.

Last edited by Hind (2011-11-06 04:43:00)

Offline

#3 2011-11-06 05:49:24

luiswoo
Member
Registered: 2010-09-11
Posts: 1,598

Re: Простой геокодер

Вбиваю "3-я линия 27 Ростов-на-Дону" - выдаёт тот же адрес, но в Краснодаре. Nominatim выдаёт то что надо.

Offline

#4 2011-11-06 06:41:18

dkiselev
Member
Registered: 2010-02-09
Posts: 3,364

Re: Простой геокодер

Мой дом находит, слава котам!

Не находит улицу Нарского в Острогожске. Сам Острогожск находит, соседнюю с ним улицу Крамского находит.
Запрос: "Острогожск нарского"
Осмовей: http://www.openstreetmap.org/browse/way/51655450


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#5 2011-11-06 09:57:49

DeKaN
Member
Registered: 2011-07-09
Posts: 46

Re: Простой геокодер

Запрос: "Московское шоссе Самара" приводит сюда
Должен к http://www.openstreetmap.org/browse/relation/1531821 или хотя бы одному из указанных там

Offline

#6 2011-11-06 12:03:48

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 2,109

Re: Простой геокодер

Запрос "Кандалакша Фрунзе 33" выдаёт:
Тверскую область, Конаково

Offline

#7 2011-11-06 14:08:46

dedNikifor
Member
From: Белгород
Registered: 2009-09-11
Posts: 3,419

Re: Простой геокодер

"Сухой Лог" - находит Сухой Лог в Томской области. хотя он к моему геоположению не близок (ip должен быть екатеринбуржский, геопозиционирование в других местах работает нормально). Вариантов с выбором других мест не предлагает

"Сухой Лог, Сведловская область" - вообще переходит в Омск



upd:
хм.. странно.. начал находить правильный Сухой Лог..

Last edited by dedNikifor (2011-11-06 14:09:38)

Offline

#8 2011-11-06 14:24:10

Zverik
Moderator
From: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Простой геокодер

Мою улицу, мой дом не находит. Например, Карташихина 4.


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

#9 2011-11-06 16:39:29

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

Re: Простой геокодер

А можно на http://openstreetmap.by/ добавить переключалку источника тайлов между русским и белорусским языками?

Offline

#10 2011-11-06 22:11:21

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,006
Website

Re: Простой геокодер

Набираю "новосибирск, ильича, 3", попадаю в Бердск на улицу Новосибирскую. (искал: вот)

"цветной проезд, 3" - попадаю в Барнаул. "Новосибирск, цветной проезд, 3" - в Томск. (вот что искал)

Почему-то меня при входе определяют как жителя Богучанского района Красноярского края. smile

Last edited by siberiano (2011-11-06 22:14:06)

Offline

#11 2011-11-07 11:49:35

Miroff
Member
Registered: 2010-01-26
Posts: 172

Re: Простой геокодер

siberiano wrote:

Почему-то меня при входе определяют как жителя Богучанского района Красноярского края. smile

А это MaxMind вместо нормальной геобазы.

Offline

#12 2011-11-07 17:47:46

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: Простой геокодер

исходники будут?

Offline

#13 2011-11-07 18:13:56

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: Простой геокодер

vvoovv wrote:

исходники будут?

будут. Дайте до ума довести.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#14 2011-11-07 18:56:59

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,006
Website

Re: Простой геокодер

На БитБукете, пожалуйста.

Offline

#15 2011-11-07 19:01:26

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: Простой геокодер

siberiano wrote:

На БитБукете, пожалуйста.

Клонируй что угодно и куда угодно smile

Offline

#16 2011-11-07 19:59:32

Mixail
Member
From: Беларусь, Минский район
Registered: 2009-07-13
Posts: 105
Website

Re: Простой геокодер

siberiano wrote:

На БитБукете, пожалуйста.

В случае чего используй hg convert, Люк!

Offline

#17 2011-11-08 05:22:39

TarzanASG
Member
From: Москва
Registered: 2010-09-27
Posts: 492
Website

Re: Простой геокодер

Если не писать в запросе "ё", то не находит. Кстати, в Яндексе название улицы как раз без "ё", но запросом с "ё" тоже находит.

По запросу "дмитров" выдаёт улицу Большую Дмитровку.

По запросам "краинка" и "валуево" вообще ничего не находит.

Last edited by TarzanASG (2011-11-08 05:55:29)


Знаю OSM с 2007, присоединился в 2009. Одним из первых начал популяризировать OSM.
Поддержите Викиданные, Wikivoyage, Creative Commons, Викисклад!

Offline

#18 2011-11-08 16:39:20

Mir76
Member
From: Екатеринбург
Registered: 2009-12-18
Posts: 1,455

Re: Простой геокодер

Запрос "Титова Екатеринбург" приводит в Заславль, Белоруссия. Ну а хотелось бы екатеринбург smile

Offline

#19 2012-01-02 18:06:55

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: Простой геокодер

Добавлена поддержка городов и прочих населенных пунктов.

Запросы должны быть теперь отвязаны от "ё", они с "е" считаются одной буквой.

"Дмитров", "краинка", "валуево" находит соответствующие ближайшие населенные пункты.

"новосибирск, ильича, 3" и "новосибирск цветной проезд 3" тоже находятся.

У кого-нибудь что-то ещё не находится?)


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#20 2012-01-02 18:48:00

TarzanASG
Member
From: Москва
Registered: 2010-09-27
Posts: 492
Website

Re: Простой геокодер

Находит, спасибо. Но находит только один из. И по запросу "Валуево" выдаётся не "Валуево", а "Верхнее Валуево". Может из-за населения...

Ещё "озеро долгое" не ищется (гм... это относится к POI, которые вы не планируете искать?).

Last edited by TarzanASG (2012-01-02 18:56:36)


Знаю OSM с 2007, присоединился в 2009. Одним из первых начал популяризировать OSM.
Поддержите Викиданные, Wikivoyage, Creative Commons, Викисклад!

Offline

#21 2012-01-12 10:20:01

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: Простой геокодер

TarzanASG, попробуйте однозначнее сформулировать запрос :3
Поиск по озёрам не планируется.

Обновление: теперь поисковик ищет дома без указания улицы: ялча 24. Для того, чтобы дом нашёлся по такому запросу, он должен быть внутри населенного пункта с указанным названием, и у него не должно быть прописано addr:street.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

Board footer

Powered by FluxBB