Код фиас что это такое

Код фиас что это такое ГИС ЖКХ

Как перейти от КЛАДР к ФИАС и ничего себе не сломать

Время на прочтение

Дисклеймер:
Если вы совсем не поняли, что означают эти наборы букв, ничего страшного. Ниже мы расскажем о реалиях работы с адресами в России. Если вам это неинтересно, почитайте про топографические каламбуры.

Правильные адреса нужны компаниям, которые любят своих клиентов. Знакомые банки, страховые и интернет-магазины, которые сейчас используют справочник КЛАДР, спрашивают нас, что же делать дальше. Поэтому мы запарились и написали пошаговое руководство по переходу


Код фиас что это такое

Зачем нужны классификаторы адресов

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

Как вы думаете, какой государственный орган наиболее заинтересован в том, чтобы вы получали от него письма? Правильно! Налоговая. Поэтому ФНС России много лет разрабатывает и поддерживает ведомственные общероссийские классификаторы адресов. И так как более полных справочников нет, их стали использовать повсеместно.

Сначала был КЛАДР, и было в нем 6 уровней:

С 2012 года в эксплуатацию ввели новый классификатор — ФИАС. Про основные отличия мы писали три года назад в статье «ФИАС или КЛАДР: выбираем справочник адресов». В ФНС к разработке нового классификатора подошли основательнее и постарались учесть все

минусы КЛАДР. Из интересного добавили дату начала и окончания записи, ввели фиксированный ID для каждого дома (предполагается, что он не будет меняться).

До сих пор продолжают обновляться оба классификатора, но поддерживать совместимость становится сложнее. В прошлом году в ФИАС начали добавлять новые уровни. Например, планировочные структуры — это всякие дачные товарищества и микрорайоны, в классификаторе их уже больше 81 000. В конечном итоге в ФНС приняли логичное решение прекратить поддержку КЛАДР и удалить его в конце 2017 года.

Как адреса хранятся в ФИАС и КЛАДР

Мы видели много способов хранения адресов в структуре КЛАДР. В основном они сводятся к двум вариантам:

Так как в ФИАС нет части домов, мы рекомендуем хранить адрес как:

То есть задача миграции сводится к тому, чтобы перевести код или текстовый адрес в формате КЛАДР в код ФИАС.

Классификационные коды выглядят так:

Смотрится страшно, рассмотрим пример: Ленинградская обл, Всеволожский р-н, деревня Кудрово, мкр Новый Оккервиль. Адрес реально существует, вот он на Яндекс. Картах. Классификационный код КЛАДР и ФИАС на первый взгляд для него выглядит одинаково: 470050000550023. Разложим его на составляющие.

Раскладываем адрес по уровням ФИАС и КЛАДР

Из примера видно, что даже в простых ситуациях между классификаторами возникает недопонимание. Но есть еще один очень важный момент.

Классификационный код отражает текущую структуру адреса, а она может измениться. Например, у Оккервиля изменится район и весь код станет недействительным, мы его уже не найдем.

Чтобы избавиться от этого, в ФИАС добавили еще идентификационный код ФИАС. Это глобальный идентификатор для каждого объекта: города, улицы, района и т. д. Выглядит он как набор букв и цифр, который формируется по стандарту GUID (Globally Unique Identifier). Типичный GUID в ФИАС выглядит так: f77948dc-7bc8-42cb-979e-2c958d162d63.

Если адрес у вас хранится как код КЛАДР улицы + домовая часть («дом 1 строение 3 квартира 44»), то для него все относительно просто.

Про ГИС ЖКХ:  Официальная информация об управляющих компаниях


Код фиас что это такое

Таблица ADDROBJ хранит все адресные объекты с их идентификаторами

Для работы понадобится таблица ADDROBJ из выгрузки ФИАС в формате xml или dbf. В ней хранятся все объекты (города, улицы и т. д.) подряд с уникальными идентификаторами GUID.

Будем использовать следующие колонки:

Пример: Москва, ул Александра Солженицына. Код КЛАДР: 77000000000151900.

Шаг 1. Выделяем из кода КЛАДР код до улицы, то есть берем первые 15 цифр: 00.

Шаг 2. Ищем код КЛАДР в поле PlainCode. Если нашлась одна запись, то сохраняем значение поля AoGuid и пропускаем следующий пункт. Но по нашему коду находится три записи, нужна дополнительная проверка.

Шаг 3. Находим актуальную запись. Значение поля CurrStatus = 0 означает, что запись актуальна. Выбираем ее и сохраняем значение поля AoGuid. Идентификационный код ФИАС найден!

  • Александра Солженицына, CurrStatus = 2;
  • Коммунистическая Б., CurrStatus = 1;
  • Александра Солженицына, CurrStatus = 0, AuGuid = .

В качестве бонуса соберем текстовый адрес по найденному AoGuid:

Но можно поступить еще проще и воспользоваться готовым сервисом. DaData.ru умеет подсказывать адреса в конкретных регионах, районах, городах и населенных пунктах. Понимает названия («Петергоф»), коды КЛАДР («7800000800000») и ФИАС («8f238984-812b-4bb1-850b-49749fb5c56d»).

Самый простой вариант — воспользоваться DaData.ru. Сервис сделает все за вас автоматически. Но можно и развлекаться самостоятельно.

Адреса одной строкой

Если адреса у вас хранятся одной строкой, вроде этой:
г Москва, улица Большая Коммунистическая, дом 3, то поздравляем, это самая интересная задача. Нужно писать свой адресный парсер, который будет разделять строку в формате КЛАДР на части, искать каждый ее компонент в ФИАС с учетом опечаток, сокращений, исторических названий и определять по ним ФИАС-код. Легче это сделать уже готовым адресным парсером. Как выбрать алгоритм для адресного фильтра, мы рассказывали раньше.

Если адреса у вас хранятся разложенными по КЛАДР, то задача немного проще.

Примерно так выглядит адрес, разложенный по КЛАДР

Код ФИАС можно собрать, используя всё ту же таблицу ADDROBJ. Но в этом случае двигаться по уровням нужно от большего к меньшему.

Шаг 1. Берем название региона и ищем его в поле FormalName таблицы ADDROBJ.

Шаг 2. Идем дальше по уровням вниз и ищем по FormalName с фиксированным родителем — найденным AoGuid на предыдущем шаге. В нашем случае уровни «город» и «населенный пункт» пустые, а следующий непустой уровень — улица.

Шаг 3. Если дошли до улицы, то можно найти и дом. Для этого в таблице HOUSE ищем номер дома с фиксированным AoGuid улицы. Ф ИАС не полон домами, поэтому не расстраивайтесь, если нужный номер не найдется.

Может ли что-то пойти не так? Конечно. Например, по названию может легко найтись несколько объектов. « Москва, Тверская» — это про площадь или про улицу? Тогда нужно сравнивать типы, но не все так просто.

Таблица SOCRBASE хранит полные и сокращенные типы объектов

Тип по КЛАДР может быть сокращенным и полным: «ул» — «Улица», «х» — «Хутор». В ФИАС в явном виде хранится только сокращенный тип (в поле ShortName). Полный тип в сокращенный можно превратить с помощью таблицы SOCRBASE, в ней для каждого уровня хранится соответствие сокращённых и полных типов.

И напоследок хорошая новость для тех, кому лень запариваться всем перечисленным. В ближайшее время мы планируем выпустить ФИАС в формате КЛАДР для тех, кто не успеет перейти на формат ФИАС до конца года. Следите за новостями 🙂

P. S. Благодарю за неоценимую помощь в создании этой статьи моих коллег по HFLabs Михаила Березина, Елену Расторгуеву и Антона Жиянова.

ФИАС и семь смертных граблей разработчика

Чтобы нормально работать с почтовыми адресами, сайты подключают справочник адресов налоговой службы (ФИАС). На dadata.ru это сделали уже пять тысяч интернет-магазинов, CRM и стартапов.

Про ГИС ЖКХ:  Как без проблем передать показания счетчиков воды онлайн

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


Код фиас что это такое

Почтовые индексы ФИАС для доставки посылок

Тех, кто использует ФИАС для доставки писем и посылок, ждет сюрприз. Почему-то все считают, что если ФИАС — общероссийская база адресов, то индексы в нем должны быть правильные.

В ФИАС несколько тысяч неправильных или отсутствующих индексов. Например, поищем на fias.nalog.ru адрес «Новосибирская обл, г Новосибирск, ул Зорге, д 56»:


Код фиас что это такое

Индекса нет. Если посмотреть этот же адрес на сайте почты России — увидим индекс:


Код фиас что это такое

К сожалению, данные ФНС расходятся с реальностью и с данными Почты. На форуме Дадаты каждый месяц задают новый вопрос на эту тему.

Опытные владельцы интернет-магазинов знают про подставу с индексами и дополнительно проверяют индексы ФИАС по базе Почты России. Но и с Почтой не все хорошо: там нет части индексов, которые есть в ФИАС (например, 742602, 103340 и нескольких тысяч других индексов).

Мы в Дадате работаем над объединенной базой индексов ФИАС и Почты России. Она компенсирует ошибки ведомств и пригодится для доставки писем и посылок. Планируем выпустить до конца года.

Код КЛАДР как идентификатор адреса до дома

Разработчики используют в качестве идентификатора дома код КЛАДР — хотя давно уже существует ФИАС и уникальный код адреса в нем (GUID). Обычно так делают для совместимости со старыми системами.

Идентифицировать дом кодом КЛАДР — очень соблазнительно с девелоперской точки зрения, но так делать не стоит. Потому что код до дома нестабилен и меняется каждый месяц (примеры не исчерпывающие, просто иллюстрирую проблему):

Надежнее для идентификации адреса использовать код КЛАДР улицы и домовую часть адреса: 160000010000633, д 12. А еще лучше вместо кода КЛАДР сохранять ФИАС-код улицы.

Код ФИАС как идентификатор адреса до дома

Идентифицировать адрес до дома с помощью кода ФИАС — тоже не лучшая идея.

Кодом ФИАС часто обозначают не отдельный дом, а диапазон домов, например «1–10». Разумеется, у всех домов внутри диапазона будет один и тот же код. Если дом исходно был в составе диапазона, а потом вылез в отдельную запись — его код изменится:

Поэтому рекомендую поступать так же, как с кодом КЛАДР — использовать ФИАС-код улицы и домовую часть адреса.

Адрес одной строкой — вместо ФИАС-кода

Если хранить адрес одной строкой, то со временем база заполнится записями разного формата. Типа «Урюпинск, проспект Ленина» и «Урюпинск, пр-кт Ленина».

Это происходит потому, что формат записей в ФИАС все время меняется:

1. Смена типа улицы:

2. Переподчинение (город стал микрорайоном или улица переехала из города в поселок):

3. Переименование (или исправление по мелочи):

Поэтому в дополнение к адресу одной строкой хорошо сохранять ФИАС-код улицы.

Дома только из ФИАС

Бывает, что разработчики ограничивают ввод дома только домами из ФИАС. Это парадоксально приводит одновременно к нехватке и избытку информации:

В ФИАС домов не хватает
Недавний пример:

Московская обл., г. Балашиха, Горенский б-р, д. 3 (на карте).

В ФИАС дома 3 нет, зато есть 3 к А.

А иногда их слишком много
В ФИАС есть фальшивые «дома» с литерами, которых в реальной жизни нет (или есть, но

радости от них никакой

это будка трансформаторная).

г. Санкт-Петербург, ул. Кораблестроителей
дом 38к3
дом 38к3 литер А
дом 38к3 литер Т

Лучше не ограничивать ввод дома, а предлагать человеку дома из ФИАС и разрешать ввести свой вариант (в Подсказках делаем именно так).

Поселки и улицы только из ФИАС

ФИАС скуден не только домами. В России все время появляются новые улицы и поселки, а налоговая служба за жизнью не успевает. Например, нет поселка Новогорелово из Ленинградской области, и Нового Лапино из Московской области.

Мы в Дадате собираем такие адреса от пользователей и ведем их как дополнительный справочник к ФИАС, чтобы помогать пользователям вводить несуществующие в ФИАС адреса.

Про ГИС ЖКХ:  ДЕЛАЙТЕ ПОКУПКИ НА УЛИЦЕ МАРШАЛА ЖУКОВА 42

Форма ввода адреса по структуре ФИАС

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

Например, интернет-магазин Почты России:


Код фиас что это такое

Как, вы еще не помните наизусть свой индекс?!

Правильные ребята позволяют клиентам указывать адрес одной строкой и не заморачиваться вводом индекса.

Вывод

Я тоже когда-то думала, что с помощью ФИАС избавлюсь от проблем с вводом адресов раз и навсегда. Но у ФИАС есть свои проблемы: прыгучие идентификаторы, кривые индексы и забытые адреса.

Чтобы облегчить себе жизнь и не наступать на известные грабли:

А самый удобный вариант — использовать Подсказки для ввода адреса. В них решены все проблемы, кроме последней — ее планируем закрыть до конца года.

КЛАДР, ФИАС  и ГАР – форматы предоставления информации об адресах на территории Российской федерации.

Все это связывается классификационными кодами. Для КЛАДРа он следующий:СС+РРР+ГГГ+ППП+УУУУ+ДДДД, гдеСС   – код субъекта Российской Федерации (региона);РРР   – код района;ГГГ – код города (код сельского поселения);ППП – код населенного пункта;УУУУ – код улицы, планировочной единицы территории);

Один из основных минусов КЛАДРа  — множественные неточности в адресах. В 2011 году начинается разработка новой модернизированной адресной базы данных – Федеральной информационной адресной системы (ФИАС). Ф ИАС содержит следующую информацию:·    классификатор адресообразующих элементов, или классифицированные коды;·   сведения об элементах адреса, идентифицирующих адресуемые объекты — земельные участки и объекты капитального строительства (дома, владения, домовладения, корпуса, строения, сооружения), дополнительная информация, уточняющая (при необходимости) местоположение этих объектов относительно ориентиров на местности.

Классифицированный код представлен в следующем виде:СС – код субъекта Российской Федерации (региона);А   – код округа в составе субъекта Российской Федерации (региона);РРР– код района;ГГГ– код города (код сельского поселения);ВВВ– код внутригородского района;ППП– код населенного пункта;УУУУ – код улицы, планировочной единицы территории);ЭЭЭЭ  – код дополнительного адресообразующего элемента;ЦЦЦ – код подчиненного адресного объекта дополнительного адресообразующего элемента.

В ФИАС была сильно переработана структура данных. Классификационный код отражает текущую структуру адреса, если один из элементов будет изменен, то это приведет к потере информации.   Поэтому одно из важны дополнений – наличие поля GUID, или глобального идентификатора, позволяющего связать структуру адреса воедино. В 2022 году появляется ГАР – государственный адресный реестр. Понадобился он по причине реформы местного самоуправления, которая позволяется проследить цепочку подчинения объектов территориального деления. Ко всем трем базам данных доступ осуществляется через сайт федеральной налоговой службы: https://fias.nalog.ru/Updates

Основные отличия ГАР от ФИАС:·    Введены новые уровни адресов: «Муниципальный район», «Сельское/городское поселение», «Машиноместо»·  Введен уникальный идентификатор компонентов адреса – OBJECTID, который позволят собирать части адресов, расположенные по разным справочникам;·      Изменен формат хранения адресов.

Остается последний вопрос: как с этим всем работать?Согласны, когда первый раз качаешь БД, выглядит страшно и не очень понятно, тк руками в ней работать бесполезно. В каждой папке лежат 10 xml-файлов. Внутри каждого хранится информация об адресах соответствующего папке субъекта РФ. В папках неактуальных регионов хранятся исторические адресные данные.


Код фиас что это такое

Код фиас что это такое

Но выход есть. Энтузиасты опубликовали код для парсинга данных из ГАР БД ФИАС:

И ответ на поставленный вопрос: это не съедобно 😉

Оцените статью
ГИС ЖКХ