Сделал более точный расчёт процента заполнения.
В главную таблицу добавил для каждой улицы количество “неканонически” записанных номеров домов и названий улиц
спасибо! может все таки раскрасить большим количеством цветов?
например, логичным мне кажется следующий набор
зеленый - правильный
серый - не найден в осм
розовый - не найден в реестре
желтый - неправильный формат адреса
оранжевый - неправильное название улицы
и куда нибудь легенду ткнуть…
Я бы рекомендовал пользоваться подходом ОКУМ-а, во всяком случае он разумен и непротиворечив. Улицы с двойными названиями есть во всех крупных городах и так их различают. А для удобства пользователей можно вводить сколько угодно понятных всем территорий типа Замоскворечье, Китай-город или Южное Бутово.
Так все таки что же делать? Эти домики, например, по http://www.ggk.mos.ru/data/guest/show_map_frame имеют совершенно другие адреса и по другой улице. В ОСМ они по ул. Академика Скрябина - в ОМКУМ таких адресов вообще нет, в ggk.mos.ru они по Ферганской ул.
А нельзя ли прикрутить статистику, когда и сколько процентов было сделано? Чтобы видеть “прогресс”?
И еще мне интересно, что все-таки помешало когда-то взять адресацию с http://www.atlasmoscow.ru ?
А можно не форсить адреса с пробелами? Кроме того, что никто так и не сказал зачем они нужны (учитывая что буквы, включенные в номер и с/к от строения/корпус мы различаем по регистру), один еще и сумятицу вносят - я видел где-то адрес вида 1 к2/2. Посмотрите как написаны адреса в том же atlasmoscow - по-моему, больше ничего не надо.
Лучше отмечать жёлтым всякие “корп.” и “стр.”. И, кстати, как писать владение и домовладение?
PS. Валидатор приравнивает латинские k и с к соответствующим кириллическим, но не aAbBdDeE. Поэтому я вчера сконвертил все addr:housenumber в Москве в кириллицу где можно было - с B и D получается неоднозначно, им добавил fixme.
Зеленоград в эту норму, как всегда, не укладывается.
Если название улицы не уникально в Москве, то это еще не повод от нее требовать в обязательном порядке наличия suburb. Улица может и без этого быть вполне уникальна в рамках Зеленограда. (Первомайская улица)
Если название улицы уникально в Москве, или в Зеленограде, то это еще не повод от нее требовать в обязательном порядке отсутствия suburb. Для уточнения suburb бывает полезен. (Медведковская улица, Садовая, Новая, Ровная и т.п.)
Если название улицы не уникально в Зеленограде, то это еще не повод от нее требовать в обязательном порядке наличия suburb. subur должны иметь только улицы вне “собственно Зеленограда”. Иначе suburb=Зеленоград
Если название улицы уникально в Зеленограде, то это еще не повод от нее требовать в обязательном порядке наличия/отсутствия правильного suburb. Для уникальности в классификаторе стоит или “Зеленоград” или suburb, угадать невозможно.
Заречная улица (г. Зеленоград), плавно переходит в Школьная улица (Крюково). Ладно, есть Школьная улица (пос. Малино) , но почему улица Ленина (Крюково), а выходящая на нее Советская улица (г. Зеленоград), это никак не понять.
В общем алгоритм надо выворачивать на изнанку. Идти от того, что есть в OSM и пытаться найти это в классификаторе, причем не единственным образом.
Сейчас же из классификатора берется “идеальное название” и ищется в OSM причем единственным образом.
С Заводской беда. Она, как я писал, искусственно поделена на две части, но дома приписаны к одной.
Вообще-то мне это кажется или те улицы, на которых, по мнению справочника, нет домов в список не попадают?
Зато потом выплывают, как “неизвестные” .
А потом скатимся
addr:city=Москва
addr:suburb=Москва
У нас задача не привести адреса к тому, как они в реестре, а проверить по реестру.
Там введена искусственная конструкция, из-за ленивости программистов, не могущих дом повесить на город.
В OSM сейчас введена другая, чуть более осмысленная, искусственная конструкция (addr:street=Микрорайон), для ленивых программистов конверторов, не могущих сделать поиск домов без улицы.
Еще раз повторяю, что в реестре suburb написан порой от балды.
Оно конечно можно мапить под данный валидатор, но тогда почему бы не под другой, или под конвертор?
В общем, как минимум, перед сравнением надо избыточные addr:suburb откидывать при сравнении, как в адресе, так и в улице.
Ибо наличие уже addr:city приводит к уменьшению неоднозначности.