You are not logged in.

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

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,322
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,596

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,067

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: Минск
Registered: 2010-10-14
Posts: 5,688
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,003
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: 170

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,322
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,003
Website

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

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

Offline

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

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,698
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,453

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

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

Offline

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

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,322
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,322
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