Сергей Гладков @gladkovs
Разработчик баз данных
Information
- Rating
- Does not participate
- Location
- Красноярск, Красноярский край, Россия
- Registered
- Activity
Specialization
Database Developer
Lead
From 100,000 ₽
PostgreSQL
Database
SQL
Algorithms and data structures
Maths
Python
Спасибо! Исправлю.
Мне трудно точно ответить на Ваш вопрос, т.к. я только пользователь данных ФИАС. А данные ФИАС - это "дитя" двух "нянек": ФНС(оператора) и администрации населенного пункта (в Вашем случае города Санкт-Петербурга). ФНС только хранит данные, а ответственность за них несет администрация города.
Можно попробовать направить Ваш вопрос в ФНС (https://www.nalog.gov.ru/rn77/service/service_feedback/?service=22). Но, скорее всего, Вам предложат обратится в службу администрации (или районной администрации) Санкт-Петербурга, которая предоставляет эти данные.
Я думаю, что поле POSTALCODE (почтовый индекс) в таблице ADDROB78 остается не заполненным потому, что дома на улице обслуживаются не одним, а несколькими почтовыми отделениями. Т.е. одной улице могут соответствовать несколько почтовых индексов. Но поле POSTALCODE имеет длину 6 символов, так что больше одного почтового индекса в него не запишешь. В этом случае можно было бы включить поле POSTALCODE в таблицу домов HOUSE, чего сделано небыло. Правда, это приведет к увеличению трудоемкости заполнения этой таблицы . Другим, но не слишком хорошим, решением могло быть разрешение вводить в поле POSTALCODE таблицы ADDROB более одного почтового индекса.
Есть и более сложные варианты решения этой задачи.
Поэтому я думаю, что одной из причин того, что «файле AS_ADDROBJ_*.XML нет всех индексов», является ошибка в схеме хранения данных или обменного формата ФИАС.
Мыслей выложить код на github/gitlab пока не было.
Спасибо за замечание. Исправлю.
При этом, внешний адрес может содержать устаревшие названия улиц и населенный пунктов. Как Вы знаете, переименование названий адресообразующих элементов не такое уж редкое явление.
Для этих целей создан справочник адресов со своей структурой, особенностью которого является наличие синонимов для каждого адресообразующего элемента.
Адреса ФИАС используется в качестве одного из источников для пополнения адресными данными, а также их синонимами, основного справочника.В этом же сценарии используются, описанные в публикации функции.
Мое описание проблем с адресами ФИАС можно найти по названию публикации «Эх, ФИАС, ФИАС… Почему ты не адресный реестр?».
Задача состоит в том, чтобы по адресу, поступившему откуда-то извне (например, от заказчика), найти соответствующий адрес в справочнике ФИАС. При этом, внешний адрес может содержать устаревшие названия улиц и населенный пунктов. Как Вы знаете, переименование названий адресообразующих элементов не такое уж редкое явление.
Поэтому в структуре таблицы, созданной из справочника, были сохранены записи об истории переименования каждого элемента. Я надеялся, что смогу по устаревшему названию элемента находить актуальное. К сожалению, эта надежда не оправдалась. Как написано в первой части статьи лишь в 6,8% от числа элементов, имеющих записи об истории переименования, присутствуют различия в названиях одного и того же элемента. Да и в этих случаях, речь идет скорее об исправлении ошибок, чем об истории переименования адресообразующих элементов. Поэтому, мне не удалось использовать ФИАС, как базовый справочник для решения поставленной задачи. Сейчас он используется как один из источников данных для моего внутреннего справочника адресов.
Подробнее проблемы связанные и использованием адресов ФИАС изложены: .
Описанная задача решается как часть основной задачи – задачи геопривязки, т.е. по предоставленному извне адресу найти объект на карте. Но объектами на карте не обязательно являются дома в населенных пунктах. Такими объектами могут быть, например, дома в дачных или садовых товариществах, или здания цехов на территории промышленной зоны.
Вот как выглядят адреса таких и подобных мест:
«Республика Хакасия, г Абакан, пр-кт Дружбы Народов, дворовая территория домов 15 17 19 тер»
«Республика Хакасия, г Абакан, ул Пушкина, дворовая территория дома 21 тер»
Для идентификации таких мест код ФИАС расширен полями:
Смотри документ «Сведения о составе информации государственного адресного реестра федеральной информационной адресной системы» на сайте .
Не буду обманывать, задача геопривязки дополнительных территорий еще не решена, но она стоит в ближайших планах компании, в которой я работаю. Поэтому и эти поля я не убирал из структуры таблицы.