Структура адреса по фиас

ФИАС (Федеральная информационная адресная система) — единый российский государственный адресный реестр. Создан в 2011 году по распоряжению Правительства РФ. В ФИАС хранятся данные об адресных объектах, расположенных на территории России: субъектах федерации, районах, населенных пунктах, улицах, домах и др. База данных общедоступна для скачивания на сайте http://fias.nalog.ru/ в формате DBF и XML.

Российские органы государственной власти обязаны использовать адреса из ФИАС при оказании государственных и муниципальных услуг [1] [2] .

Содержание

Назначение [ править | править код ]

Цель создания ФИАС — «обеспечение в Российской Федерации унификации структуры адресной информации и единообразного наименования входящих в неё элементов, а также обеспечение предоставления государственных и муниципальных услуг [3] ».

Органы государственной власти России обязаны пользоваться ФИАС при оказании услуг и формировании юридически значимых документов [4] [5] .

В ФИАС содержатся официальные наименования элементов планировочной структуры, элементов улично-дорожной сети [6] .

В реестре также хранится дополнительная информация об адресных объектах [7] :

История [ править | править код ]

До ФИАС в России использовали КЛАДР — классификатор адресов Российской Федерации, совместную разработку ФНС и Почты России, появившуюся в 1998 году [6] .

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

ФИАС стал попыткой государства создать более совершенный адресный справочник [8] , осуществлённый силами ФНС.

10 июня 2011 года Правительство РФ издало распоряжение № 1011-р о создании ФИАС. Оператором ФИАС стала ФНС России [3] . [9]

1 ноября 2011 года ФИАС начал функционировать на территории России [10] . С этого дня реестр доступен всем органам госвласти, муниципалитетам, юридическим и физическим лицам. При этом КЛАДР по-прежнему регулярно обновляется и оба реестра существуют параллельно.

1 июля 2014 года начал действовать Федеральный закон от 28.12.2013 № 443-ФЗ. Он обязал государственные и муниципальные организации, а также Почту России использовать ФИАС как единую базу адресов [1] [11] ; негосударственные организации могли продолжать использование КЛАДР. С этого же дня вступило в силу Постановление Правительства РФ от 29.04.2014 № 384 определившее Минфин РФ — федеральным органом исполнительной власти, осуществляющим нормативно-правовое регулирование в области отношений, возникающих в связи с ведением государственного адресного реестра, эксплуатацией ФИАС, а также с использованием содержащихся в государственном адресном реестре сведений об адресах, а ФНС — оператором федеральной информационной адресной системы [12] .

Практическое внедрение системы сопровождается по всей стране постепенным внесением местных адресов, не представленных в ФИАС, в эту базу данных. Обеспечение этой работы относится к сфере ответственности муниципалитетов [13] [14] , а мониторинг за соответствием употребления названий адресных объектов в нормативных актах базе ФИАС заняты территориальные подразделения Росреестра [15] . Практическое внедрение, так же, активно идёт в сфере предоставления коммунальных услуг — приведение адресов абонентов к стандарту ФИАС в процессе интеграции с ГИС ЖКХ стало одним из существенных направлений работы МРСК Северного Кавказа по повышению собираемости оплаты за электроэнергию [16] .

Летом 2017 года в ФНС объявили о решении прекратить поддержку КЛАДР с 31 декабря 2017 года [17] [5] .

С 2018 года по плану ФНС в употреблении госорганов должен был остаться только один актуальный государственный реестр адресных объектов — ФИАС. Однако, этого не произошло даже в практике самой налоговой службы [18] . Процесс всеобщего внедрения ФИАС растянулся и не закончен до сих пор [19] .

Сравнение с КЛАДР [ править | править код ]

В профессиональной среде отмечают следующие преимущества ФИАС перед КЛАДР [20] :

  • постоянные идентификаторы адресных объектов. В КЛАДР коды адресных объектов могут меняться от версии к версии. Из-за этого нельзя использовать код КЛАДР как ключ и создать постоянную ссылку на адресный объект. В случае же с ФИАС это возможно, так как код адресного объекта постоянный;
  • четкая структура для записи номера дома. В КЛАДР номер дома с расширением (корпусом, строением или литерой) хранится одной строкой. Из-за этого встречаются номера домов вида «4влд2» или «2/7влд1в», в которых сложно выделить составляющие. В ФИАС номер дома и расширение хранятся в разных полях;
  • период действия записи. В ФИАС явно указано, какие записи актуальны, а какие устарели.
  • в отличие от КЛАДР в ФИАС входят расширенные данные из 12 пунктов. В предшественнике этой информации было гораздо меньше.

В то же время, по сравнению с КЛАДР, ФИАС обладает таким существенным недостатком, как повышенный объём, занимаемый на диске. По сравнению с полным [21] вариантом КЛАДР, занимающим на диске около 50МБ, полный вариант ФИАС занимает несколько Гб [18] . Это затрудняет внедрение нового стандарта.

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

Структура адреса по ФИАС [ править | править код ]

Правилами установлена единая структура адреса на основе территориальных принципов организации местного самоуправления, которая включает в себя следующую иерархическую последовательность адресообразующих элементов [5] :

  1. Наименование страны (Российская Федерация).
  2. Наименование субъекта Российской Федерации.
  3. Наименование муниципального района, городского округа или внутригородской территории (для городов федерального значения) в составе субъекта Российской Федерации.
  4. Наименование городского или сельского поселения в составе муниципального района (для муниципального района) или внутригородского района городского округа.
  5. Наименование населенного пункта.
  6. Наименование элемента планировочной структуры.
  7. Наименование элемента улично-дорожной сети.
  8. Номер земельного участка.
  9. Тип и номер здания, сооружения или объекта незавершенного строительства.
  10. Тип и номер помещения, расположенного в здании или сооружении.

Согласно ФИАС, классификационный код любого адреса в России можно разложить по следующим уровням [8] .

Уровень Описание
1 Регион
2 Автономный округ
3 Район
4 Город
5 Внутригородская территория
6 Населенный пункт
7 Улица
8 Здание, сооружение, объект незавершенного строительства
9 Помещение в пределах здания, сооружения
65 Планировочная структура
75 Земельный участок
90 Дополнительная территория
91 Объект, подчиненный дополнительной территории

Проблемы [ править | править код ]

Поскольку ФИАС наполняли данными из КЛАДР, проблемы старого реестра перекочевали в новый [20] :

  • неправильные или отсутствующие индексы;
  • некоторых домов не хватает, зато есть несуществующие дома;
  • встречаются дома, у которых литера является частью номера, хотя для литер в таблице есть отдельное поле;
  • некоторые номера домов заведомо недопустимы, как «0п»;
  • домам с двойной нумерацией соответствует несколько записей. Например, для адреса Казань, Кремлёвская 23/17 есть записи «Кремлёвская 23», «Кремлёвская 23/17» и «Кремлёвская 17/23»;
  • нелепые ошибки: согласно ФИАС, наименование Чувашии — «Чувашская Республика -», а тип региона — «Чувашия».

ГНИВЦ ФНС сообщает, что с начала 2018 года КЛАДР перестанет существовать и скачать его будет нельзя.

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

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

Читайте также:  Телевизоры thomson отзывы покупателей

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

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

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

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

Регион → Район → Город → Населенный пункт → Улица → Дом со строениями и корпусами

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

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

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

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

  1. Код КЛАДР до улицы + домовая часть вида «дом 1 строение 3 квартира 33», так как части домов в классификаторе хранятся как диапазоны
  2. Адрес в виде текста — одним полем или разбитый по структуре КЛАДР.

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

  1. Код ФИАС до улицы + дом + квартира для идентификации адреса (подробные рекомендации).
  2. Адрес одной строкой в формате ФИАС. При этом лучше сохранять исходный адрес. ФИАС — это все-таки справочник налоговой, и там есть не всё.

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

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

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

Уровень Пример код ФИАС код КЛАДР
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.

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

  • код КЛАДР (PlainCode);
  • наименование и тип текстом (FormalName и ShortName);
  • актуальность объекта (CurrStatus);
  • почтовый индекс (PostalCode);
  • собственный и родительский идентификатор ФИАС (AoGuid и ParentGuid);
  • уровень (AoLevel).

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

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

  • Если КЛАДР меньше 15 цифр, берем 11 и дополняем нулями — это код до населённого пункта: 77000000000 0000 ;
  • Меньше 11 цифр — берем 8: 77000000 000000000 ;
  • Меньше 8 — берем 5: 77000 000000000000 ;
  • Меньше 5 — берем 2 цифры кода региона: 77 000000000000000 .

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

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

  • Александра Солженицына, CurrStatus = 2;
  • Коммунистическая Б., CurrStatus = 1;
  • Александра Солженицына, CurrStatus = 0, AuGu >f77948dc-7bc8-42cb-979e-2c958d162d63 .


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

  • берем PostalCode — это почтовый индекс: 109004
  • добавляем ShortName и FormalName: 109004, ул. Александра Солженицына
  • если объект является регионом (поле AoLevel = 1), то адрес готов. Но в нашем случаем AoLevel = 7 — это улица. Поэтому ищем родительский элемент по полю ParentGu >109004, г. Москва, ул. Александра Солженицына

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

Строчный адрес КЛАДР → код ФИАС

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

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

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

Адреса по КЛАДР

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

Тип региона Название региона Тип улицы Название улицы Тип дома Номер дома
г Москва улица Коммунистическая Б. дом 3

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

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

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

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

ParentGu > FormalName = Коммунистическая Б. → AoGu >

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

Читайте также:  Фольга под теплый пол под плитку

AoGu > дом номер 3
HouseGu >

Подводные камни

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

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-р. С целью.

Замена КЛАДР. Тем не менее классификатор КЛАДР продолжает публиковаться и обновляться – версия 4.0 от 24.12.2012.

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

//ToDo – понятие "адрес" из докум. "Перечень типовых вопросов и предложений по использованию ПО «ФИАС»" // Секретность

Процесс импорта данных из файлов XML в реляционную базу данных дается на примере PostgreSQL. Все применяемые инструменты являются кросплатформенными. Для других БД (MySQL, Oracle и т.п.) процедура потребует незначительной доработки. См. также гл. 2.3, в которой приводятся ссылки на сторонние проекты, предоставляющие подготовленные данные в других форматах.

Создание таблиц

На сайте ФИАС представлены схемы XSD, описывающие структуру данных. Для преобразования схемы в формат SQL (CREATE TABLE. ) применим XSL Transformation (XSLT). В зависимости от БД может потребоваться изменить типы данных колонок.

Схема подходит для всех таблиц ФИАС. Для работы требуется процессор, поддерживающий XSLT 2.0. Например, Saxon XSLT Processor (MPL). Тогда обработка файлов принимает вид (версии .NET, Windows):

Далее, полученные файлы SQL желательно откорректировать, чтобы явно назначить ключи (primary keys).

//// Ссылка на готовые файлы

Импорт данных

Для работы с большими файлами XML предпочтительнее применять потоковые парсеры: используется фиксированное количество оперативной памяти (в приведенном скрипте – порядка 80 Мб) на протяжении всего процесса работы.

Ниже приводится скрипт ETL Scriptella (Apache License) на базе парсера SAX. Он подходит для любой реляционной БД, для которой есть java-драйвер.

  1. Паттерн ###TABLE### следует заменить на имя файла/таблицы (например, ADDROBJ);
  2. Да работы требуются дополнительные библиотеки: Janino, PostgreSQL JDBC Driver;
  3. Выполняется простейшее экранирование значений (одиночная кавычка ‘). //ToDo: пустые > null

Другие источники

Данные ФИАС также распространяются в формате DBF. Для работы с ними рекомендуются утилиты типа PgDBF (импорт ФИАС).

  • BasicData.ru – WebAPI и файлы для импорта в БД MySQL. Также может быть интересна БД "Почтовые отделения".
  • Классификаторы России (rus-ref)
  • zXML Parser – "Парсинг баз ФИАС в MySQL (потоковый XML парсер)". Программа из данных XML создает файл с sql-запросами.

Для понимания структуры данных ФИАС требуются следующие документы:

Таблицы

  • ADDROBJ – Классификатор адресообразующих элементов (край > область > город > район > улица)
  • HOUSE – Сведения по номерам домов улиц городов и населенных пунктов, номера земельных участков и т.п
  • HOUSEINT – Интервалы домов
  • LANDMARK – Описание мест расположения имущественных объектов
  • NORMDOC – Сведения по нормативному документу, являющемуся основанием присвоения адресному элементу наименования
  • ACTSTAT – Статус актуальности ФИАС
  • CENTERST – Статус центра
  • CURENTST – Статус актуальности КЛАДР 4.0
  • ESTSTAT – Признак владения
  • HSTSTAT – Статус состояния объектов недвижимости
  • INTVSTAT – Статус интервала домов
  • NDOCTYPE – Тип нормативного документа (закон, приказ, справка) // не упоминается в официальной документации
  • OPERSTAT – Статус действия
  • SOCRBASE – Типы адресных объектов (условные сокращения и уровни подчинения)
  • STRSTAT – Признак строения

ADDROBJ

Текстовые элементы адреса

  • OFFNAME – Официальное наименование
  • FORMALNAME – то же что и OFFNAME , но оптимизированная для поиска
  • SHORTNAME – Тип объекта: обл, р-н, г, ул. Расшифровку сокращений см. по табл. SOCRBASE .

Поле FORMALNAME создано специально для поиска: из него исключены все нестандартные символы и знаки пунктуации, буква "ё" заменена на "е" и т.п. Все записи удовлетворяют запросу:

Иерархия административных единиц

В таблице ADDROBJ иерархия построена по типу плоского дерева. И родительские и дочерние элементы хранятся в одной таблице. Воссоздание иерархии выполняется с помощью полей:

  • AOGUID – Глобальный уникальный идентификатор адресного объекта. Не смотря на название, уникальным в пределах таблицы он не является. Могут существовать несколько исторический версий и одна единственная актуальная для данного объекта. Подробнее см. раздел "Статус актуальности".
  • PARENTGUID – Идентификатор объекта родительского объекта. Содержит ссылку на AOGUID родительского элемента.
  • AOLEVEL – Уровень адресного объекта. Условные названия уровней (подробнее см. табл. SOCRBASE ): 1 – регион 2 – зарезервирован 3 – район 4 – город 5 – внутригородская территория 6 – населенный пункт 7 – улицы 8 – зарезервирован 90 – дополнительная территория (ГСК, СНТ, лагери отдыха и т.п.) 91 – улицы на дополнительной территории (улицы, линии, проезды)

Получение полного адреса (от младшего к старшему):

AOLEVEL отражает административно-правовое подчинение, поэтому одни и те же текстовые элементы адреса могут располагаться на разных уровнях. Например, в снт. "Волжанка" (AOLEVEL=90) улицы имеют уровень 91 (против более распространенного 7):

(1) обл. Самарская (3) р-н Сызранский (90) снт Волжанка (91) ул. Ягодная (91) ул. Дачная (91) ул. Рябиновая

Аналогично, существуют населенные пункты без улиц. Например, в пос. Лужки иерархия заканчивается на уровне 6:

(1) обл. Орловская (3) р-н Мценский (6) п. Лужки

Таким образом, построение таблицы полных адресов следует начинать от верхних элементов (AOLEVEL=1) к нижним (AOLEVEL=91), как правило, запрос оформляется в виде множества подзапросов (subquery). Или рекурсивно подниматься от нижних, не имеющих дочерних элементов. Рассмотрим для примера второй вариант. Поскольку число полей в обоих случаях не определено, то полный адрес будет формироваться единой строкой:

  1. На настоящий момент существует 10 уровней ( AOLEVEL ). Но могут быть введены дополнительные. Например, ранее все ГСК и СНТ вносились на уровень 7 (улицы). Позднее, для них был выделен уровень 90 (дополнительные территории).
  2. На зарезервированных уровнях (2 и 8) не содержится записей, в том числе и исторических.

Статус актуальности

Из базы ФИАС почти никогда не удаляются элементы. Они могут быть только переведены в разряд "отключенных" (устаревшие, измененные и т.п.), что аналогично работе КЛАДР.

Примечание. Но информация о некоторых адресных объектах всё же может удаляться из БД ФИАС. См документ СВЕДЕНИЯ О СОСТАВЕ ИНФОРМАЦИИ ФЕДЕРАЛЬНОЙ ИНФОРМАЦИОННОЙ АДРЕСНОЙ СИСТЕМЫ, цитирую: "Технологически удалённые из БД ФИАС записи с адресными сведениями. включают удалённые администратором ФИАС по заявке операторов ФИАС (ошибочно введённые, дубли адресных сведений) адресные сведения". Т.е. дубли и ошибочно введённые данные могут быть физически удалены. Большинство из них приобретают статус актуальности КЛАДР (CURRSTATUS) равный 99, т.е. "несуществующий", а после этого уже становятся "технологически удалёнными". Если их нужно найти, то надо скачать т.н. "дельты данных", которые используются для обновления БД ФИАС, это архивы fias_delta_dbf.rar на сайте ФИАС. В некоторых из них имеются таблицы DADDROBJ, DHOUSE, и пр., содержащие технологически удалённые записи, попавшие в "дельту". На дату 15.12.2014 всего технологически удалено 793 записи, из них: 363 актуальных (т.е. ACTSTATUS = 1), 1 с CURRSTATUS != 99, и 1 с LIVESTATUS = 1.

Читайте также:  Чем натереть машину чтобы грязь не прилипала

Рассмотрим поля, определяющие действительность объекта:

Для выбора актуальных записей рекомендуется ориентироваться на поля CURRSTATUS и LIVESTATUS .

  • LIVESTATUS – Признак действующего адресного объекта. Принимает значения: 0 – не действующий, 1 – действующий (см. прим. 1).
  • CURRSTATUS – Статус актуальности КЛАДР 4. Принимает значения: 0 – актуальный, 1-50 – исторический, 51 – переподчиненный (см. табл. CURENTST и гл. 1.2. "Коды адресных объектов" документации КЛАДР).
  • OPERSTATUS – Статус действия. Принимает значения: 1 – Инициация, 10 – Добавление, 20 – Изменение и др (см. табл. OPERSTAT ).
  • ACTSTATUS – Статус актуальности адресного объекта ФИАС. Принимает значения: 1 – актуальный, 0 – не актуальный (см. табл. ACTSTAT ). Отвечает непосредственно за актуальность "имени". Если объект был переименован (чаще это исправление опечаток), то старая запись получает CURRSTATUS=1 и ACTSTATUS=0. Если же административная единица была ликвидирована или переподчинена, то имя останется по-прежнему актуальным: CURRSTATUS=99/51 и ACTSTATUS=1. В тоже время, при внесении изменений, не касающихся непосредственно адресной части, признак актуальности все равно сбрасывается (ACTSTATUS=0).

Также, в категорию актуальности можно отнести поля STARTDATE , ENDDATE , UPDATEDATE . Но, на данный момент (декабрь 2012 г.) значения этих полей редко бывают заполнены правильно.

Покажем на примере выбор актуальных и исторический записей. "Пермский край" был образован 01.12.2005 объединением "Пермской области" и "Коми-Пермяцкого АО". В базе ФИАС это отразилось следующим образом (см. табл. 1):

  1. Создана новая запись "Пермский край" (1-й столбец);
  2. Запись "Пермская область" (2-й столбец) сохранена, причем AOGUID обеих записей идентичен (для связи с дочерними объектами);
  3. Запись "Коми-Пермяцкий АО" (3-й столбец) также сохранена.
Примечание Актуальная запись Пермская обл. Коми-Пермяцкий АО
AOID c685f6ca-d7e1-4938-8b21-7c20035652d2 744e2599-d2bb-4364-9922-c13febb16e81 68824dc3-da0f-42d3-bd0b-1ceb91ff27bf
AOGUID 4f8b1a21-e4bb-422f-9087-d3cbf4bebc14 4f8b1a21-e4bb-422f-9087-d3cbf4bebc14 e3d95b95-cc2d-440d-95c6-65577fae076e
AOLEVEL 1 1 1
PREVID 744e2599-d2bb-4364-9922-c13febb16e81 68824dc3-da0f-42d3-bd0b-1ceb91ff27bf
NEXTID c685f6ca-d7e1-4938-8b21-7c20035652d2 744e2599-d2bb-4364-9922-c13febb16e81
ACTSTATUS 1 1
OPERSTATUS 1 1 1
CURRSTATUS 1 51
LIVESTATUS 1
UPDATEDATE 2011-09-13 2011-09-13 2011-09-13
STARTDATE 1900-01-01 1900-01-01 1900-01-01
ENDDATE 2079-06-06 2079-06-06 2079-06-06
FORMALNAME Пермский Пермская Коми-Пермяцкий
OFFNAME Пермский Пермская Коми-Пермяцкий
SHORTNAME край обл АО
  1. ACTSTATUS для Коми-Пермяцкого АО сохранен в значении "Актуальный";
  2. OPERSTATUS не изменился – ошибочно(?);
  3. CURRSTATUS правильный (0 – актуальный, 1 – исторический, 51 – переподчиненный);
  4. LIVESTATUS показывает единственную актуальную запись, но значения инвертированы (см. прим. 1).

//ToDo – изменения в подчиненных объектах

  1. Все актуальные записи (CURRSTATUS = 0) имеют значение (LIVESTATUS = 1) и наоборот. Очевидно, что поведение LIVESTATUS не соответствует описанному в документации. Поле можно использовать для выбора актуальных записей, но с осторожностью до выяснения ситуации в будущем.

Исторические названия

Поля AOID , PREVID , NEXTID в совокупности составляют цепочку от современного к устаревшим наименованиям объекта. Хотя, если имеется два прямых предка (как в примере про "Пермский край"), то наследование невозможно отразить полностью однозначно.

В общем виде получение исторических вариантов наименований объекта имеет вид:

shortname formalname actstatus operstatus currstatus livestatus updatedate startdate enddate
д Малое Пермиево 1 21 1 2012-09-08 2012-02-01 2079-06-06
д Малое Пермиево 1 2 2011-09-14 1900-01-01 2012-02-01
с Малое Пермиево 1 1 2011-09-14 1900-01-01 2079-06-06
.
ул Подстанция 220 1 20 1 2012-03-12 1911-11-11 2079-06-06
ул Подстанция (Комиссарово) 1 1 2011-09-15 1900-01-01 1911-11-11
.
пер Рябиновый 1 20 1 2011-09-27 1900-01-01 2079-06-06
ул Рябиновая 1 1 2011-09-15 1900-01-01 2079-06-06
.
снт Восход(п.Селезнево) 1 1 1 2011-09-14 1900-01-01 2079-06-06
дп СТ Восход(п.Селезнево) 1 1 2011-09-14 1900-01-01 2079-06-06
.
ул Самбуева В.М. 1 1 1 2011-09-14 1900-01-01 2079-06-06
ул Ф.Энгельса 1 1 2011-09-14 1900-01-01 2079-06-06
.
проезд 3-й Лабинский 1 1 1 2011-09-14 1900-01-01 2079-06-06
ул Лабинская 2-я 1 1 2011-09-14 1900-01-01 2079-06-06
  1. Наблюдение (в документации не разъяснено): при внесении изменений, предыдущая историческая запись получает значение (CURRSTATUS = 1). Если вносится повторное изменение, то аннулируемая запись принимает значение (CURRSTATUS = 2). Таким образом, цепочка от современного названия к самому старому принимает вид: актуальное (0), предыдущее (3), более раннее (2), самое старое (1).

Адресные классификаторы

Записи в БД ФИАС содержат ссылки на другие российские адресные классификаторы:

  • OKATO – код объекта административно-территориального деления (ОКАТО)
  • OKTMO – код муниципального образования (ОКТМО)
  • CODE – код КЛАДР
  • PLAINCODE – код КЛАДР без признака актуальности (последних двух цифр), см. также CURRSTATUS

ФИАС предлагает собственный "классификационный код", который хранится, разбитым на отдельные элементы: REGIONCODE , AUTOCODE , AREACODE , CITYCODE , CTARCODE , PLACECODE , STREETCODE , EXTRCODE , SEXTCODE .

В целом, код является расширенным вариантом КЛАДР:

Могут быть случаи, когда адресному объекту в БД ФИАС не соответствует никакой КЛАДР-код, например:

Подробное описание см. в документе "Сведения о составе информации Федеральной информационной адресной системы".

Прочие поля

  • Ведомственные классификаторы ФНС России: СОНО – IFNSFL , IFNSUL ; СОУН – TERRIFNSFL , TERRIFNSUL .
  • CENTSTATUS – статус центра; ненулевое значение присвоено столицам, административным центрам и центральным районам регионов (подробнее см. табл. CENTERST ).
  • NORMDOC – нормативный документ (табл. NORMDOC ).

На портал ФИАС выгружаются актуальные и исторические сведения ФИАС, а так же технологически удалённые из БД ФИАС адресные сведения. Актуальные и исторические сведения ФИАС выгружается в виде файлов (таблиц) DBF и файлов XML. Вместе с полной базой ФИАС выгружаются дельта данные – новые, изменившиеся и удаленные данные с момента предыдущей выгрузки базы. Дельта данные, т.е. новые, изменившиеся и удаленные данные появившиеся с момента предыдущей выгрузки базы ФИАС, загружаются по следующему алгоритму: по наличию или отсутствию ключа в пользовательской базе определяется тип операции – добавление или обновление записи. После проведения соответствующих операций необходимо удалить по ключу записи, присутствующие в таблицах технологически удаленных данных.

Наличие таких "дельт" позволяет быстро обновить БД ФИАС, не скачивая полный архив (на 2014.12.01 его размер составляет 1.8 Гб). Алгоритм обнобления, действительно, довольно прост. Привожу текст процедуры обновления для MySQL на примере таблицы ADDROBJ:

Иногда может изменятся структура самих таблиц, что требует ручного контроля. Например, колонка "oktmo" сначала содержала 8 символов, а потом была расширена до 11 символов.

Тем не менне, несмотря на удобство обновления через дельты, я рекомендую для обновления заменять БД ФИАС целиком (а после этого объединять её с таблицами технологически удалённых данных, при необходимости). Дело в том, что дельты могут содержать неполную информацию, проще говоря oldfias + delta != newfias. Например, я обновлял БД ФИАС от 2012.07.01 через дельты до состояния на 2012.09.24. Если в дельте была информация о переподчинении или об изменении адресного объекта, то предыдущая версия адресного объекта не обновлялась, т.е. не проставлялось (NEXT >

БД ФИАС может содержать ошибки в данных, а) связанные с нарушением целостности двунаправленных списков PREV >

Для иллюстрации можно открыть портал ФИАС и воспользоваться расширенным поиском. В поле "Регион" введите "Санкт-Петербург город", в поле "Уровень" выберите "Регион". Нажмите "Найти". Если просмотреть историю изменения города Санкт-Петербург, то можно обнаружить, что Санкт-Петербург раньше назывался "станция Володарская", а должно быть "Ленинград". Это иллюстрирует нарушение целостности двунаправленных списков.

Для иллюстрации ситуации, когда отсутствуют исторические сведения можно рассмотреть адресный объект с AOGU . В БД ФИАС от 2012.08.06 этот объект имел КЛАДР код равный 24000001101000100. В какой-то момент произошло переподчинение родительского объекта, и в итоге у него изменился уровень AOLEVEL с 6 на 90. Соответственно, уровень AOLEVEL дочернего объекта изменился с 7 на 91. Если взять БД ФИАС от 2014.12.01, то в ней нельзя обнаружить исторической записи с КЛАДР кодом равным 24000001101000100. Нет этой записи и в таблицах DADDROBJ.

Ошибки с неправильным OPERSTATUS слишком многочисленны, их классифицирование выходит за рамки данной статьи.

Оцените статью
Добавить комментарий

Adblock
detector