Приведение названий улиц в соответствие соглашению и правка адресов

Всё гуд http://dl.dropbox.com/u/4094156/sochi.txt

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

Да - только что привёл, спасибо.

AMDmi3, можешь запустить шайтан-машину Валидатора для пересканирования? Много сделал по Брянску, уже путаюсь, что сделано, что не сделано.

П.С. Есть, кстати, претензия по работе скрипта: ошибочными помечаются адреса в населённых пунктах, не содержащих улиц.

Она каждый день сама запускается. Чаще получится - дамп всё равно будет старый.

Это давно известно, и мне, честно говоря, пока лень этим заниматься. Но скоро я доконверчу Россию и займусь.

Раз уж подняли тему, хочу привести предварительные итоги проекта после 2 с лишним месяцев ковыряния.

На данный момент соглашению соответствует почти 94% всех названий (name= на улицах и addr:street), все или почти все административные центры и крупные города сконверчены, а сейчас то, что можно исправить автоматически, я конверчу целыми областями. С улицами без статусных частей сложнее - их надо по-населённо-пунктно брать из КЛАДР’а, и чтобы причесать все деревни из десятка улиц понадобится куча времени - по видимому для этого придётся написать очередного КЛАДРобота. Пока такие баги показываются в валидаторе addresses.amdmi3.ru прежде всех остальных, так что просьба исправлять их по возможности.

В общем, главный результат, ради чего, собственно, всё и затевалось: количество ненайденных по addr:street улиц сократилось с ~116000 до ~31000. Не факт что дальше оно сильно снизится - остаются дома с отсутствующими улицами (в Белгороде, кажется, их много) и адресация по районам/кварталам/населённым пунктам, которую планируется решить поиском по всему подряд, включая landuse и place. Также было исправлено большое количество опечаток и расставлено много статусных частей.

Нормализатор оброс словарями и костылями и всё ещё часто ошибается (и будет ошибаться), так что есть следующая идея - составить на основе сконвертированного списка улица и КЛАДР общероссийский реестр топонимов, с которым хитрым образом сравнивать все названия. Это поможет контролировать и порядок слов, и опечатки и, возможно, разночтения названий (улица Толстого vs. улица Льва Толстого vs. улица Л.Н.Толстого), в том числе сопоставляя OSM с другими базами типа КЛАДР.

Недовольных оказался только один человек из Энема (Карелия) - он за формат “Ленина ул.” поскольку так удобнее работает автодополнение в josm. Nuff said. Также нашлось несколько человек, которые заполняют addr:street и addr:housenumber заглушками типа 1 или *, якобы им так удобнее потом заполнять адреса. Не понял тут вообще ничего, пришлось выкинуть их из статистики (а этих звёздочек около 6 тысяч). Приличный же список тех, кто был за конвертацию у меня пока ещё не дошли руки перенести из лички в wiki. Итого, по моему мнению, по данному вопросу сообщество всё-таки пришло к единому решению и одим поводом для споров и войн стало меньше.

Для тех, кому нужен любой другой формат написания названий, напомню, есть perl модуль: https://github.com/AMDmi3/Geo-Names-Russian-Mangle, который позволяет поставить статусную часть с любой стороны и по желанию сократить её. В планах добавить туда также поддержку номерной части и поясняющего слова, а также освоить CPAN и залить его туда. При условии соответсвия названия улицы соглашению логика работы достаточно тривиальна и легко может быть реализована на любом другом языке.

Интересные ссылки:
График по багам: http://amdmi3.ru/files/addresses.svg
График по нормализатору: http://amdmi3.ru/files/street-names.svg (считаются только названия улиц)
Статистика нормализатора по областям: http://amdmi3.ru/files/names-stat1.txt , http://amdmi3.ru/files/names-stat2.txt (считаются и названия улица и addr:street, сортировка по количеству названий для которых нормализатор предложил/не предложил замену соответственно; первое, обычно, сокращения и неправильный порядок слов, второе - отсутствие статусной части).
Страница в wiki с прогрессом: http://wiki.openstreetmap.org/wiki/User:AMDmi3/Конвертация_названий_улиц

Что сказать, очень здорово.

Весьма правильная идея, давно пора.

Там осваивать-то особо нечего :slight_smile: Заливайте!

Инструкция нагугливается достаточно легко (с ходу ссылку не дам, ибо не помню). Единственное уточнение: когда будете писать запрос на выдачу вам аккаунта в PAUSE, напишите подробно, что делает ваш модуль, а не «I have some cool perl stuff».

Оказывается, в CPAN уже есть http://search.cpan.org/~liosha/Geo-Names-Russian-0.01_1/lib/Geo/Names/Russian.pm, как ни странно, Лёшин. Не знаю, стоит ли его дублировать.

В Екб появилась улица с «неправильным» адресом от новичка. Как часто бот ходит проверять адреса?

Вроде как вручную по запросу.

Хм, хотелось бы регулярно…

И ещё. Другой новичок пронумеровал дома, но в адресе не указал статус. Это как-то можно починить автоматом?

По Казани и Волжску в Марий-Эл бот порезвился основательно, у половины названия улиц статусная часть в начале у половины в конце. Хотя по Волжску всё было правильно до этого.
http://www.openstreetmap.org/?lat=55.87576&lon=48.35594&zoom=16&layers=M

Наконец-то всё правильно сделали.

Бот сделал правильно, по-ботски. Не все люди разделяют такой подход.

Всё стало правильно.

Страница в вики и графики не обновлялись уже почти два месяца, но бота периодически вижу в истории изменений разных городов. Как там, ситуация всё улучшается?

Да не то чтобы сильно - проглядываю периодически валидатор и исправляю мелкие скопления и свежие ошибки, количество багов держится примерно на одном уровне (что означает улучшение ситуации, учитывая что общее количество улиц и адресов быстро растёт). Пока ещё осталось прилично улиц без статусных частей. А график (который http://addresses.amdmi3.ru/api/0.1/plot)) обновляется постоянно.

AMDmi3, запусти по Свердловской области бота еще раз

похоже у нас ситуация снова требует нормализации адресов

http://addresses.amdmi3.ru/?zoom=14&lat=56.95319&lon=63.25223&layers=B00T

фиксить руками такое количество мне не особо хочется…

dedNikifor
В джосме плагином делается за 5 минут…