Почтовый индекс на уровне улицы/населенного пункта

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

В условиях ручной привязки к адресным точкам, поддерживать индексы в актуальном состоянии очень сложно. Получается нудное и бестолковое накликивание (этакий корова кликер 2.0). Предлагаю добавить возможность создавать почтовый индекс на уровне Дорог (улиц) и Населенных пунктов. Если индекс проставлен на уровне населенного пункта, то все Адресные точки, привязанные к подчиненным Дорогам (улицам), получат этот индекс. Если индекс Населенного пункта не задан, его можно задать на уровне Дороги (улицы) и адресные точки также должны его получить.

Такое изменение на порядки сократит объём механических действий для поддержания актуальности базы индексов. Вместо того, чтобы править сотни адресных точек в поселках и деревнях можно будет исправить только индекс Населенного пункта. Аналогично и в городах - большая часть улиц находится в одном индексе. Также это будет полезно для новых адресных точек – не нужно думать об индексе, если он уже задан для дороги или Населенного пункта.

Алгоритм:

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

P.S. Еще два небольших предложения по теме:

  1. Создать технический индекс с именем «Отсутствует» и без ограничения по расстоянию до него. Этот индекс можно будет использовать для различных СНТ и т.п., чтобы визуально отличать точки, у которых индексы еще не проставлены, от тех, у которых индекса вообще нет.

  2. Для индексов, у которых нет привязанных адресных точек изменить оттенок цвета на НЯК, чтобы можно было легко их увидеть для последующей привязки или удаления.

Не проще сделать в самих почтовых отделениях базу со писком прикреплённых адресов, даже улиц с любыми номерами и т.п. А в самих АТ высасывать данные или виртуально или серверным заполнением? Буквально все индексы будут заполнены сразу. Новое почтовое отделение не потребует лопатить 100500 отдельных адресных точек.

Думаю, что совсем не проще. Если предположить, что в базе данных у нас есть таблица адресных точек, где в каждой строке параметры точек: имя, ссылка на таблицу дорог и ссылка на таблицу индексов; аналогично, таблица дорог в свою очередь имеет ссылки на таблицы Населенного пункта (и т.п.), то задание индекса на уровне улицы и населенного пункта ничего принципиально не меняет. Так как для сборки адреса уже просматриваются все таблицы, никакого влияния на производительность и логику быть не должно. Если, наоборот, адресные точки привязывать к индексам, то это существенно меняет и запрос, и логику всей работы, к тому же, нужно придумывать новый интерфейс работы. Мне представляется, что для реализации первоначального варианта нужно сравнительно небольшое число человеко-часов. Зато базу индексов станет возможно актуализировать и поддерживать. Без этого вся уже проделанная работа обесценивается. Кому нужен сервис, в котором доброй половины данных нет, а тем данным, что есть, доверять нельзя.

Если ресурсы программистов не ограничены, тогда не менять шило на мыло, а сразу делать связку карт с ФИАС, исключать человеческий фактор, и автоматически получать имена улиц, индексов и налоговых оттуда.

Сейчас каждая АТ имеет координаты точки, ссылку на улицу, номер (номера) здания, язык, и тупо номер индекса. Допустим 3 почтовых отделения попадают в радиус поиска, в одном из них искомый адрес - индекс из этой базы. Рилтайм или серверным заполнением после появления, изменения АТ или изменения базы индексов - всё.