Фиас или кладр что использовать
Как перейти от КЛАДР к ФИАС и ничего себе не сломать
ГНИВЦ ФНС сообщает, что с начала 2018 года КЛАДР перестанет существовать и скачать его будет нельзя.
Дисклеймер:
Если вы совсем не поняли, что означают эти наборы букв, ничего страшного. Ниже мы расскажем о реалиях работы с адресами в России. Если вам это неинтересно, почитайте про топографические каламбуры.
Правильные адреса нужны компаниям, которые любят своих клиентов. Знакомые банки, страховые и интернет-магазины, которые сейчас используют справочник КЛАДР, спрашивают нас, что же делать дальше. Поэтому мы запарились и написали пошаговое руководство по переходу с одних букв на другие от КЛАДР к ФИАС.
Зачем нужны классификаторы адресов
Компаниям нужны адреса клиентов, чтобы рассылать письма, указывать в договорах и соглашениях. Но мало просто отправить письмо: желательно, чтобы его получили и прочитали. Поэтому адреса должны быть правильными и понятными.
Как вы думаете, какой государственный орган наиболее заинтересован в том, чтобы вы получали от него письма? Правильно! Налоговая. Поэтому ФНС России много лет разрабатывает и поддерживает ведомственные общероссийские классификаторы адресов. И так как более полных справочников нет, их стали использовать повсеместно.
Сначала был КЛАДР, и было в нем 6 уровней:
Регион → Район → Город → Населенный пункт → Улица → Дом со строениями и корпусами
С 2012 года в эксплуатацию ввели новый классификатор — ФИАС. Про основные отличия мы писали три года назад в статье «ФИАС или КЛАДР: выбираем справочник адресов». В ФНС к разработке нового классификатора подошли основательнее и постарались учесть все грабли минусы КЛАДР. Из интересного добавили дату начала и окончания записи, ввели фиксированный ID для каждого дома (предполагается, что он не будет меняться).
До сих пор продолжают обновляться оба классификатора, но поддерживать совместимость становится сложнее. В прошлом году в ФИАС начали добавлять новые уровни. Например, планировочные структуры — это всякие дачные товарищества и микрорайоны, в классификаторе их уже больше 81 000. В конечном итоге в ФНС приняли логичное решение прекратить поддержку КЛАДР и удалить его в конце 2017 года.
Как адреса хранятся в ФИАС и КЛАДР
Мы видели много способов хранения адресов в структуре КЛАДР. В основном они сводятся к двум вариантам:
То есть задача миграции сводится к тому, чтобы перевести код или текстовый адрес в формате КЛАДР в код ФИАС.
Классификационные коды выглядят так:
№ | Уровень | Пример | код ФИАС | код КЛАДР |
1 | Регион | Ленинградская область | СС: 47 | СС: 47 |
2 | Автономный округ | |||
3 | Район | Всеволожский р-н | РРР: 005 | РРР: 005 |
4 | Город | ГГГ: 000 | ГГГ: 000 | |
5 | Внутригородская территория | |||
6 | Населенный пункт | деревня Кудрово | ||
65 | Планировочная структура | мкр Новый Оккервиль | ||
7 | Улица | УУУУ | УУУУ: 0023 | |
75 | Земельный участок | ЗЗЗЗ | ||
8 | Здание, сооружение, объект незавершенного строительства | ДДДД | ДДДД | |
9 | Помещение в пределах здания, сооружения | ОООО | ||
90 | Дополнительная территория | |||
91 | Подчинённые дополнительных территорий |
Раскладываем адрес по уровням ФИАС и КЛАДР
Из примера видно, что даже в простых ситуациях между классификаторами возникает недопонимание. Но есть еще один очень важный момент.
Классификационный код отражает текущую структуру адреса, а она может измениться. Например, у Оккервиля изменится район и весь код станет недействительным, мы его уже не найдем.
Чтобы избавиться от этого, в ФИАС добавили еще идентификационный код ФИАС. Это глобальный идентификатор для каждого объекта: города, улицы, района и т. д. Выглядит он как набор букв и цифр, который формируется по стандарту GUID (Globally Unique Identifier). Типичный GUID в ФИАС выглядит так: f77948dc-7bc8-42cb-979e-2c958d162d63.
Код КЛАДР → идентификационный код ФИАС
Если адрес у вас хранится как код КЛАДР улицы + домовая часть («дом 1 строение 3 квартира 44»), то для него все относительно просто.
Таблица ADDROBJ хранит все адресные объекты с их идентификаторами
Для работы понадобится таблица ADDROBJ из выгрузки ФИАС в формате xml или dbf. В ней хранятся все объекты (города, улицы и т. д.) подряд с уникальными идентификаторами GUID.
Будем использовать следующие колонки:
Пример: Москва, ул Александра Солженицына. Код КЛАДР: 77000000000151900.
Шаг 1. Выделяем из кода КЛАДР код до улицы, то есть берем первые 15 цифр: 770000000001519 00.
Шаг 2. Ищем код КЛАДР в поле PlainCode. Если нашлась одна запись, то сохраняем значение поля AoGuid и пропускаем следующий пункт. Но по нашему коду 770000000001519 находится три записи, нужна дополнительная проверка.
Но можно поступить еще проще и воспользоваться готовым сервисом. DaData.ru умеет подсказывать адреса в конкретных регионах, районах, городах и населенных пунктах. Понимает названия («Петергоф»), коды КЛАДР («7800000800000») и ФИАС («8f238984-812b-4bb1-850b-49749fb5c56d»).
Строчный адрес КЛАДР → код ФИАС
Самый простой вариант — воспользоваться DaData.ru. Сервис сделает все за вас автоматически. Но можно и развлекаться самостоятельно.
Адреса одной строкой
Если адреса у вас хранятся одной строкой, вроде этой:
г Москва, улица Большая Коммунистическая, дом 3, то поздравляем, это самая интересная задача. Нужно писать свой адресный парсер, который будет разделять строку в формате КЛАДР на части, искать каждый ее компонент в ФИАС с учетом опечаток, сокращений, исторических названий и определять по ним ФИАС-код. Легче это сделать уже готовым адресным парсером. Как выбрать алгоритм для адресного фильтра, мы рассказывали раньше.
Адреса по КЛАДР
Тип региона | Название региона | Тип улицы | Название улицы | Тип дома | Номер дома |
г | Москва | улица | Коммунистическая Б. | дом | 3 |
Примерно так выглядит адрес, разложенный по КЛАДР
Код ФИАС можно собрать, используя всё ту же таблицу ADDROBJ. Но в этом случае двигаться по уровням нужно от большего к меньшему.
Шаг 1. Берем название региона и ищем его в поле FormalName таблицы ADDROBJ.
FormalName = Москва →
AoGuid = 0c5b2444-70a0-4932-980c-b4dc0d3f02b5
Шаг 2. Идем дальше по уровням вниз и ищем по FormalName с фиксированным родителем — найденным AoGuid на предыдущем шаге. В нашем случае уровни «город» и «населенный пункт» пустые, а следующий непустой уровень — улица.
ParentGuid = 0c5b2444-70a0-4932-980c-b4dc0d3f02b5,
FormalName = Коммунистическая Б. → AoGuid=f77948dc-7bc8-42cb-979e-2c958d162d63
Шаг 3. Если дошли до улицы, то можно найти и дом. Для этого в таблице HOUSE ищем номер дома с фиксированным AoGuid улицы. ФИАС не полон домами, поэтому не расстраивайтесь, если нужный номер не найдется.
AoGuid = f77948dc-7bc8-42cb-979e-2c958d162d63,
дом номер 3 →
HouseGuid = bce8be1f-f2f7-4cce-836e-08daac0b931e
Подводные камни
LEVEL | SCNAME | SOCRNAME | KOD_T_ST |
7 | тракт | Тракт | 727 |
7 | туп | Тупик | 728 |
7 | ул | Улица | 729 |
7 | уч-к | Участок | 730 |
7 | ф/х | Фермерское хозяйство | 789 |
7 | ферма | Ферма | 769 |
7 | х | Хутор | 758 |
7 | ш | Шоссе | 731 |
Таблица SOCRBASE хранит полные и сокращенные типы объектов
Тип по КЛАДР может быть сокращенным и полным: «ул» — «Улица», «х» — «Хутор». В ФИАС в явном виде хранится только сокращенный тип (в поле ShortName). Полный тип в сокращенный можно превратить с помощью таблицы SOCRBASE, в ней для каждого уровня хранится соответствие сокращённых и полных типов.
И напоследок хорошая новость для тех, кому лень запариваться всем перечисленным. В ближайшее время мы планируем выпустить ФИАС в формате КЛАДР для тех, кто не успеет перейти на формат ФИАС до конца года. Следите за новостями 🙂
ФИАС: особенности, этапы перехода и обязательность применения
ФИАС: что это такое
Федеральная информационная адресная система (ФИАС) была создана в соответствии с распоряжением Правительства РФ от 10.06.2011 № 1011-р и начала работать уже с 01.11.2011 года. До этого времени в целях систематизации информации об адресах использовался КЛАДР – классификатор адресов, разработанный ФНС России исключительно в налоговых целях.
В ФИАС вносятся сведения обо всех имеющихся на территории России адресах, а также о реквизитах документов о присвоении, изменении и аннулировании этих адресов (ст. 4 Федерального закона от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…»).
Сведения об адресах включают в себя следующую информацию:
Также в ФИАС представлены присвоенные объектам коды ОКТМО и коды ОКАТО.
Информация об адресах в ФИАС постоянно актуализируется и дополняется. В случае изменения или аннулирования адреса все ранее внесенные сведения об адресе сохраняются в ФИАС со статусом «архивная информация».
Предоставление сведений об адресах в электронном виде осуществляется бесплатно. Для получения сведений на бумажном носителе потребуется заплатить пошлину (ч. 6 ст. 8 Федерального закона от 28.12.2013 № 443-ФЗ).
Чем ФИАС отличается от КЛАДР
Главное отличие между этими двумя системами заключается в том, что КЛАДР – это сугубо ведомственная база данных, а ФИАС – общая для всех министерств, организаций и физлиц адресная система.
В КЛАДР используются формализованные наименования элементов планировочной структуры и элементов улично-дорожной сети. В ФИАС же содержатся официальные наименования всех этих элементов.
ФИАС содержит больше информации об объектах адресации, адреса в ней стандартизированы, а предоставление сведений конечному пользователю осуществляется в более удобной и детализированной форме.
В отличие от КЛАДР, в ФИАС добавлены такие весьма важные компоненты, как:
Для рядовых пользователей учетных программ (приложений) и их разработчиков основное различие между ФИАС и КЛАДР сводится к тому, что файлы первой адресной системы гораздо «тяжелее» файлов второй. Так, если файлы КЛАДР «весят» 300 Мб, то файлы ФИАС занимают уже 9 Гб файлового пространства.
Данное обстоятельство обуславливает следующие моменты:
Этапы внедрения ФИАС
Федеральный закон от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…» вступил в силу с 1 июля 2014 года. С этого момента содержащиеся в ФИАС сведения об адресах стали обязательны для использования следующими субъектами:
Для организаций и ИП обязанности по использованию сведений, содержащихся в ФИАС, законом не установлено. Поэтому рядовые налогоплательщики по-прежнему могут пользоваться сведениями из КЛАДР (в случае их актуальности).
При этом ФНС России официально поддерживала и регулярно обновляла КЛАДР до 31.12.2017.
Но и сейчас ведомство по-прежнему регулярно выгружает ФИАС в формате КЛАДР и публикует его.
Организации и ИП могут использовать в отчетности не только коды по ФИАС, но и коды по КЛАДР. Форматы, передаваемые в ФНС, не требуют обязательного указания идентификатора адреса по ФИАС.
Единственным форматом, в котором требовался обязательный ввод идентификатора адреса по ФИАС, в январе 2018 года стал формат «Спецификации на обмен данными в электронном виде о нетрудоспособности и других сведениях…», используемый при оформлении документов на прямые выплаты пособий в пилотных регионах ФСС.
С 1 января 2018 года при заполнении данного формата нельзя было использовать коды из КЛАДР. Между тем, уже в ноябре 2018 года ФСС утвердил спецификацию версии 1.7.6, в которой изменилась обязательность полей. Вместо GUID из ФИАС появилась возможность передавать код того же адреса по КЛАДР.
Таким образом, в настоящее время среди форм отчетности, передаваемых в контролирующие органы, не осталось ни одной, где код по ФИАС был бы обязателен.
ФИАС в учетных решениях 1С
В программе «1С:Бухгалтерия 8» начиная с версии 3.0.37.25 в качестве источника адресной информации используется ФИАС. Вся линейка других современных программ 1С также поддерживает работу с ФИАС с 2014 года.
Проверка адреса по ФИАС доступна в разделе Администрирование – Общие настройки – Контактная информация.
ФИАС не поддерживается только в программах «старого поколения». К ним, в частности, относятся:
Вместо автоматической загрузки кодов ФИАС во всех этих программах предусмотрен ручной ввод адресов, без подсказок, автозаполнения и проверки корректности адресов.
ФИАС или КЛАДР: выбираем справочник адресов
1 июля 2014 года произошло одно из самых значимых событий в истории государства Российского: с этого момента у нас в стране наконец появилась эталонная база адресов по всем, даже самым малым населённым пунктам! Имя этой базе — ФИАС. Собственно, сам по себе справочник ФИАС появился гораздо раньше, но именно 1 июля вступил в силу ФЗ 443, согласно которому все государственные и муниципальные структуры теперь должны опираться на него как на единственно верную базу адресов. Мы решили исследовать, стоит ли переходить на ФИАС, и с какими подводными камнями столкнутся те, кто решит это делать.
Почему не КЛАДР?
В настоящий момент времени основным адресным справочником России считается КЛАДР. Почему он не устроил людей, и откуда появилась необходимость в новом?
Изначально КЛАДР, скорее всего, задумывался как понятный структурированный справочник, содержащий актуальную информацию по адресам всей России. В настоящее время это, к сожалению, далеко от истины. Есть много особенностей в записях КЛАДР, и мы сейчас расскажем про самые интересные из них.
Ад в номерах домов или страшный сон программиста
Похоже, что из-за обилия различных написаний в справочнике запутываются даже его создатели, так как на одной улице можно часто встретить разные действующие записи одного дома. Например, в поселке Новый (Красногорский район Московской области) в КЛАДР есть запись с домом 8 и отдельно с двлд8. Теоретически, домовладение и дом — разные вещи, однако в реальности мало кто пишет «домовладение», и можно смело считать, что двлд и просто дом — одно и то же.
Теоретически, КЛАДР — это справочник адресов, на который все должны опираться при составлении любых справочников с адресами, и, следовательно, должны хранить некий ключ к этой базе, чтобы иметь возможность синхронизоваться с самим КЛАДР для получения обновлений. Но код КЛАДР — единственный идентификатор в этом справочнике — может меняться от версии к версии для одних и тех же объектов. Поэтому в других справочниках вы не найдёте его как ключ к адресной базе, везде для указания адреса служит только адрес без каких-либо id. Это плохо тем, что адреса в справочниках могут содержать ошибки, быть неактуальным или вообще не существовать, и чтобы привести его к КЛАДР, потребуется приложить немало усилий (или воспользоваться сервисом dadata.ru).
Где эта улица, где этот переулок?
В КЛАДР запись адреса разбита на уровни (регион, район, город, населённый пункт и улица), и для каждого уровня есть тип и наименование. Например, тип — автономный округ, наименование — Ямало-Ненецкий… К сожалению, не всегда можно точно определить, что наименование, а что тип. И не всегда понятно, что проблема КЛАДР, а что на самом деле так называется.
Например, можно встретить такие адреса:
Тип: «Автономный Округ»
Наименование: «Ханты-Мансийский Автономный Округ — Югра »
Согласно КЛАДР адрес правильно писать так: Россия, Автономный Округ Ханты- Мансийский Автономный Округ — Югра, …
Тип: «Улица»
Наименование: «КВАРТАЛ НОВЫЕ ЧЕРЕМУШКИ 32А»
Нам на разбор регулярно приходят замечательные адреса вида: Москва квартал Новые Черемушки 32А к8, кв xxx — заметьте, что, согласно КЛАДР, номер дома находится в наименовании улицы, и тип улицы не «квартал», а «улица».
Тип: «Переулок»
Наименование: «Ул. Советская»
В деревне Досотуй в Читинской области, есть улица «Советская» и переулок «Ул. Советская». Поэтому адреса Досотуй ул. Советская и Досотуй переулок ул. Советская — разные адреса
Лев или Толстой?
В КЛАДР много ошибок. Индексы из пяти символов, дублирующие записи домов с двойной нумерацией и прочее.
Так что если адрес есть в КЛАДР, то не факт, что он существует в реальной жизни, и наоборот.
Что с ФИАС
Давайте посмотрим, что представляет из себя ФИАС, и решает ли он проблемы КЛАДР.
Данные и структура
Первое, на что обращаешь внимание при работе с ФИАС — информации больше, чем в КЛАДР. Но полезной информации прибавилось не так много, как хотелось бы. Я выделил наиболее значимую адресную информацию в виде сравнительной таблицы ниже.
Поле | КЛАДР | ФИАС |
---|---|---|
Регионы и города федерального значения | + | + |
Районы | + | + |
Города и сельские округа | + | + |
Районы города | — | — |
Улицы | + | + |
Дома и расширения | + | + |
Индекс | + | + |
Статус центра | + | + |
Статус действия (что произошло с объектом: переименован, переподчинён. ) | + (условно закодировано в коде КЛАДР, но очень скудная расшифровка кодов) | + |
Статус актуальности | + | + |
Дата начала и окончания действия записи | — | + |
Состояние дома (требует ли ремонта, насколько) | — | +(но актуальность данных под сомнением, так как у более 95% домов одинаковый статус) |
Геокоординаты объекта | — | — |
Данные о квартирах (список, количество или диапазон) | — | — |
Население (на любом уровне) | — | — |
Признак моногорода | — | — |
Уникальный ID для каждого дома | — | + |
Назначение здания (жилой/не жилой) | — | — |
Этажность, год ввода в эксплуатацию, материал стен дома | — | — |
Таким образом, из полезного можно выделить только фиксированный ID дома, который, как предполагается, никогда не будет меняться и может служить ключом для внешних систем, а также даты начала и окончания действия записи. В остальном вся новая информация состоит из идентификаторов, которые периодически дублируют друг друга или являются частью других.
Качество информации о домах
В ФИАС есть две таблицы для домов. Структура данных сама по себе очень радует: для всего есть своё поле.
Первая таблица, HOUSE, содержит номера домов, и для каждого есть следующая информация:
Какие основные отличия от таблицы домов в КЛАДР?
Вторая таблица с домами, HOUSEINT, содержит интервалы домов. В КЛАДР в таблице домов содержатся записи вида Н(1-999), — это означает все нечётные дома из интервала 1 – 999. В ФИАС они разбиты на поля: начало интервала, конец, и его признак. К сожалению, содержимое этой таблицы так же далеко от истины, как и в КЛАДР: например, в Кирове есть неправдоподобно длинная улица Щорса, на которой есть все дома в диапазоне от 1 до 9999.
Качество всего остального
Посмотрим чуть выше — на адресные объекты вплоть до улицы. Они находятся в таблице ADDROBJ.
Формат
ФИАС доступен в трёх видах: формат КЛАДР, dbf и xml. Последний мне показался наиболее удобным — файлы не разбиваются по регионам в отличие от dbf, а хранятся в скомпонованном виде в xml. Однако вес исходного справочника в таком формате составляет около 14Гб.
ФИАС в формате dbf весит 9Гб вместо 14Гб, однако имеет не очень удобную структуру: таблицы домов и нормативных документов разбиты по регионам, и в итоге ФИАС в таком представлении содержит 187 файлов.
ФИАС в формате КЛАДР по сути и наполнению — то же самое, что и сам КЛАДР, за редким исключением, и весит он те же самые 330Мб. Построчное сравнение таблиц КЛАДР и ФИАС в формате КЛАДР выявило менее 0.1% расхождений, которые, вероятно, вызваны разным временем выгрузки рассматриваемых баз КЛАДР и ФИАС.
Что думает бизнес
Как может повлиять на работу переключение с КЛАДР на ФИАС? Готов ли бизнес переходить на этот справочник?
Наши коллеги из банков, для которых использование адресной информации является ключевым на всех этапах, не видят бизнес преимуществ перехода на ФИАС, однако планируют это делать, чтобы соответствовать требованиям регулятора. Из-за перехода всех федеральных агентств, министерств и ведомств на ФИАС в перспективе могут возникнуть требования использовать ФИАС при общении с ними (госуслуги, СМЭВ, отчетность, ЦБ).
Выводы
Самой большой проблемой официальных справочников в России была и остаётся неактуальность представленной информации. Пока не будет нормальной налаженной системы по пополнению ФИАС, не будет проверяться качество данных и не будет произведён рефакторинг того, что уже есть в справочнике, мы будем встречаться со всеми теми же проблемами, что и в КЛАДР.
Основными плюсами ФИАС являются начальные попытки стандартизации адресов и наличие стабильного ключа для каждого дома.
Итак, пока переход на ФИАС имеет смысл только как задел на будущее. Если вы уже работаете с КЛАДР и не взаимодействуете со внешними системами, то можно не переходить на ФИАС, а использовать КЛАДР дальше. Если вы только начинаете своё знакомство с адресами и планируете подключать их в свой продукт, или вам требуется отчётность и интеграция, то стоит выбирать ФИАС.
ФИАС и семь смертных граблей разработчика
Чтобы нормально работать с почтовыми адресами, сайты подключают справочник адресов налоговой службы (ФИАС). На dadata.ru это сделали уже пять тысяч интернет-магазинов, CRM и стартапов.
А мы поглядели на проблемы клиентов, подумали и собрали увесистый комплект граблей, по которым любят ходить разработчики в обнимку с ФИАСом.
1. Почтовые индексы ФИАС для доставки посылок
Тех, кто использует ФИАС для доставки писем и посылок, ждет сюрприз. Почему-то все считают, что если ФИАС — общероссийская база адресов, то индексы в нем должны быть правильные.
В ФИАС несколько тысяч неправильных или отсутствующих индексов. Например, поищем на fias.nalog.ru адрес «Новосибирская обл, г Новосибирск, ул Зорге, д 56»:
Индекса нет. Если посмотреть этот же адрес на сайте почты России — увидим индекс:
К сожалению, данные ФНС расходятся с реальностью и с данными Почты. На форуме Дадаты каждый месяц задают новый вопрос на эту тему.
Опытные владельцы интернет-магазинов знают про подставу с индексами и дополнительно проверяют индексы ФИАС по базе Почты России. Но и с Почтой не все хорошо: там нет части индексов, которые есть в ФИАС (например, 742602, 103340 и нескольких тысяч других индексов).
Мы в Дадате работаем над объединенной базой индексов ФИАС и Почты России. Она компенсирует ошибки ведомств и пригодится для доставки писем и посылок. Планируем выпустить до конца года.
2. Код КЛАДР как идентификатор адреса до дома
Разработчики используют в качестве идентификатора дома код КЛАДР — хотя давно уже существует ФИАС и уникальный код адреса в нем (GUID). Обычно так делают для совместимости со старыми системами.
Идентифицировать дом кодом КЛАДР — очень соблазнительно с девелоперской точки зрения, но так делать не стоит. Потому что код до дома нестабилен и меняется каждый месяц (примеры не исчерпывающие, просто иллюстрирую проблему):
Адрес | Код КЛАДР в ФИАС от 10.03.16 | Код КЛАДР в ФИАС от 18.04.16 |
г Казань, ул Космонавтов, д 12 | 1600000100006330009 | 1600000100006330082 |
г Нижний Новгород, ул Панфиловцев, д 4Б | 5200000100008060003 | 5200000100008060018 |
г Самара, поселок Мехзавод, кв-л 16-й, д 7 | 6300000103700170018 | 6300000103700170043 |
Надежнее для идентификации адреса использовать код КЛАДР улицы и домовую часть адреса: 160000010000633, д 12. А еще лучше вместо кода КЛАДР сохранять ФИАС-код улицы.
3. Код ФИАС как идентификатор адреса до дома
Идентифицировать адрес до дома с помощью кода ФИАС — тоже не лучшая идея.
Кодом ФИАС часто обозначают не отдельный дом, а диапазон домов, например «1–10». Разумеется, у всех домов внутри диапазона будет один и тот же код. Если дом исходно был в составе диапазона, а потом вылез в отдельную запись — его код изменится:
Адрес | Код ФИАС диапазона, ФИАС от 10.03.16 | Код ФИАС дома, ФИАС от 18.04.16 |
Московская обл, Истринский р-н, с Павловская Слобода, ул Дзержинского, д 1 | 720b25da-f43e-4204-9013-3cb06be3e9e4 диапазон домов 1–6 | 5bbc0463-ffc4-4d8f-bc5f-632c46eeedca |
г Волгоград, ул им Пархоменко, д 33 | 44de3bc5-a650-4f77-b19a-7a12bb619c21 диапазон домов 15–35, нечётные | 98216a50-2c52-4b0c-8864-a19dc7a30a73 |
г Ижевск, ул Удмуртская, д 267 к 3 | 92ff5f38-01fb-42e6-97d6-a95f541644f4 диапазон домов 261–277, нечётные | ac8015c8-0e73-442d-a6aa-427f2e973ec5 |
Поэтому рекомендую поступать так же, как с кодом КЛАДР — использовать ФИАС-код улицы и домовую часть адреса.
4. Адрес одной строкой — вместо ФИАС-кода
Если хранить адрес одной строкой, то со временем база заполнится записями разного формата. Типа «Урюпинск, проспект Ленина» и «Урюпинск, пр-кт Ленина».
Это происходит потому, что формат записей в ФИАС все время меняется:
1. Смена типа улицы:
г Обнинск ул Ленина → пр-кт Ленина
Тюменская обл, г Ишим, линия 5-я → ул 5-я линия
г Самара, ул Симферопольская → г Самара, п Управленческий, ул Симферопольская
г Красноярск, ул им Академика Вавилова → ул Академика Вавилова
Чеченская Респ, Итум-Калинский р-н, село Гучум-Кала → село Гучум-Кали
Ямало-Ненецкий АО, г Губкинский, мкр 12-й → мкр 12
Поэтому в дополнение к адресу одной строкой хорошо сохранять ФИАС-код улицы.
5. Дома только из ФИАС
Бывает, что разработчики ограничивают ввод дома только домами из ФИАС. Это парадоксально приводит одновременно к нехватке и избытку информации:
В ФИАС домов не хватает
Недавний пример:
Московская обл., г. Балашиха, Горенский б-р, д. 3 (на карте).
В ФИАС дома 3 нет, зато есть 3 к А.
А иногда их слишком много
В ФИАС есть фальшивые «дома» с литерами, которых в реальной жизни нет (или есть, но радости от них никакой это будка трансформаторная).
г. Санкт-Петербург, ул. Кораблестроителей
дом 38к3
дом 38к3 литер А
дом 38к3 литер Т
Лучше не ограничивать ввод дома, а предлагать человеку дома из ФИАС и разрешать ввести свой вариант (в Подсказках делаем именно так).
6. Поселки и улицы только из ФИАС
ФИАС скуден не только домами. В России все время появляются новые улицы и поселки, а налоговая служба за жизнью не успевает. Например, нет поселка Новогорелово из Ленинградской области, и Нового Лапино из Московской области.
Мы в Дадате собираем такие адреса от пользователей и ведем их как дополнительный справочник к ФИАС, чтобы помогать пользователям вводить несуществующие в ФИАС адреса.
7. Форма ввода адреса по структуре ФИАС
Некоторые разработчики, поддавшись магии ФИАС, делают формы ввода адреса по структуре ФИАС: заставляют пользователя различать город и населенный пункт, обязательно вводить регион и район.
Например, интернет-магазин Почты России:
Как, вы еще не помните наизусть свой индекс?!
Правильные ребята позволяют клиентам указывать адрес одной строкой и не заморачиваться вводом индекса.
Вывод
Я тоже когда-то думала, что с помощью ФИАС избавлюсь от проблем с вводом адресов раз и навсегда. Но у ФИАС есть свои проблемы: прыгучие идентификаторы, кривые индексы и забытые адреса.