OSM Gazetteer

А можно мне кнопку “запустить JOSM” ? Использовать вместо “нет в OSM” :wink:
Я по данным УИКов когда-то адреску вбивал, и тут получился вполне сносный валидатор.

Видел пару мест в этом валидаторе, где, судя по соседним домам, адрес в ОСМ был правильней, чем в базе УИКов.

Чего-то недолечилось - вот опять точное совпадение выскочило:

http://osm.me/checkuik.html#2495

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

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

“пл.” должна матчится с площадью в первую очередь, во вторую с площадкой. Я понимаю, что пока ДАМП, но хотелось бы компы свою часть работы сами делали :slight_smile:

Вот, нашелся контрпример:

http://osm.me/checkuik.html#915

В БД УИК дом №26, в ОСМ дом №28, в жизни дом №28: http://moul49.narod.ru/index/kontakty/0-42

Вот идеальное совпадение, только одна улица, только один дом: http://osm.me/checkuik.html#1428

Нашел интересную багу:

перепутаны 3 (тройка) и З (буква)

Ну это нормально, я ни разу не говорил, что там ошибок нет.

А быстренько нагуглить адрес этой школы, убедиться, что он такой же, как в базе, и внести информацию, по этим данным вполне можно.
В изначальной базе УИКов ещё и название учреждения было, гуглилось вдвое быстрее.

Например, по спутнику легко идентифицируются здания школ - они типовые, вариантов немного. По списку УИКов можно проставить название школы и адрес. Итого - я молодец, на “голую” карту нанёс социально значимый объект, плюшка в карму :slight_smile:
Часто народ просто проставлял точку по спутниковому снимку, не добавляя информацию в ОСМ. Тут эти вещи легко ловятся и правятся.

Я ещё шестёрку видел.

http://osm.me/checkuik.html#1428
вроде починил, но таких случаев было видимо совсем чуть-чуть.

Дело было в том что я включил ближайшую улицу для дома без улицы наравне с явно указанной.

все еще выдает “Gazetteer failed”. Или пересчета подождать надо?

Тире не починилось, 179-а и 179А по-прежнему разные дома: http://osm.me/checkuik.html#495

Там, кстати, оба тире и дефис могут встречаться.

checkuik использует версию геокодера с tr1.nowtaxi.ru (виртуалака на osm.me не тянет рф) я его обновляю существенно реже чем мой локальный тестовый. На днях обновлю - должно будет позеленеть.

И выбор площади с amenity=school при живом building под маркером тоже не вылечилось.

А чего вообще хотелось бы от обратного геокодера?

Эвристики. Т.е. находить здание, объект с адресом и POI. Потом все данные объединить показав здание.

Не ну эвристика тут не обязательна.

Как это работает сейчас (я ко-что поменял, речь о последней версии в исходниках):

По запросу:


// Предположим что координаты лежат внутри здания внутри территории школы и у здания 2 адреса
/api/location/latlon/{lat}/{lon}/_related

Будет найдено здание, адреса попадут в addresses

  • в _neighbours попадут ближайшие соседи, в радиусе километра (не более 15 штук)
  • в _enclosed попадет школа

Т.к. были заказаны _related то для здания будут найдены связанные объекты
тоесть если внутри контура или на контуре здания кто-то добавил точку с leisure=sauna
то в _related._same_building будет инфа по сауне (да сауна при школе - это реальный кейс)

Я конечно понимаю что схема данных в ответе мягко гооря сложная для понимания, но не сложнее чем схема данных осм :slight_smile:

Как уж это пользователю показать - это я покамест в деталях не придумывал.
В чекере уиков например, я отдаю разве что теги найденого объектика, хотя в результатах запроса информации больше.
Не спец я по UI и UX, но если есть желающие поработать над фронтэндом - я только за.

Так есть открытый наружу API ? Хотелось бы для понимаю увидеть скажем так полный “сырой” ответ.

Что есть:

tr1.nowtaxi.ru/api/
Данные - РФ, обновляются ежедневно,
версия самого API старенькая.

osm.me/api/
Данные Черногория, Босния и Герцеговина, Хорватия, обновляются ежедневно
версия API посвежее но тоже не распоследняя

API я обновляю вручную, от того не шибко часто. К вечеру обновлю апи на tr1

Так обновилось и переиндексировалось

Я сырой ответ смотрю например вот так:
Открываю http://osm.me/checkuik.html#2495
потом в firebug смотрю запросы и ответы на запросы

можно и напрямую url открывать, но, он вопервых будет довольно криво закодирован в xml, во вторых, в дебаггере убоднее смотреть json.

Можно смотреть запросы из веб-гуя, открываем:
http://tr1.nowtaxi.ru/gazetteer/#!/ru/map/18/56.8444/60.6394/q/%D0%95%D0%BA%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B1%D1%83%D1%80%D0%B3%20%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%A2%D0%B8%D0%BC%D0%B5%D1%80%D1%8F%D0%B7%D0%B5%D0%B2%D0%B0%2013/

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

В веб-интерфейсе, есть несколько фишек которые облегчают мне дебаг. Можно, например, дописать /strict в конец урла, в этом случае будут найдены только строгие совпадения, можно добавить /explain и посмотреть как ElasticSearch сортировал выдачу, но это и мне довольно муторно разбирать, а уж кому-то кто не знаком с эластиком - еще сложнее.