Введение 3
1.1. Краткие сведения о ФИАС 4
2. Применение в приложениях 5
2.1.1. Подсказки для пользователя 5
2.1.2. Анализ массивов данных 6
2.1.3. Перспектива геокодирования 7
2.1.4. Существующие сервисы, стоимость 9
3. Используемые технологии 16
3.1. Node.js 16
3.2. PostgreSQL 19
3.2.1. Описание 19
3.2.2. Индекс GIN 19
3.2.3. Индекс RUM 21
4. Информация о ФИАС 23
4.1. Описание файлов выгрузки ФИАС 23
4.2. Минусы ФИАС 26
5. Разработка 27
5.1. Процессирование данных 27
5.2. Денормализация и поиск 33
5.3. Программное API 42
6. Заключение 48
7. Литература
Актуальность этого дипломного проекта обусловлена высоким спросом на услуги интеграции с федеральной адресной информационной системой. Российские органы государственной власти обязаны использовать адреса из ФИАС при оказании государственных и муниципальных услуг, этот факт дополнительно стимулирует их указывать возможность интеграции с ФИАС в конкурсах на разработку программного обеспечения. Актуальность также возросла по причине того, что Летом 2017 года в ФНС приняли решение прекратить поддержку КЛАДР с 31 декабря 2017 года. С 2018 года ФИАС — единственный классификатор адресов РФ.
На данный момент на рынке существует всего одно решение, которое соответствует всем запросам. Данное решение активно используется в разработке программного обеспечения многими компаниями, в их числе и компания, в которой я работаю на данный момент. К сожалению, этот продукт не распространяется свободно, имеет высокую стоимость. Для минимизации расходов при разработке ПО было решено разработать собственное решение.
Целью данной дипломного проекта является разработка программного обеспечения для интеграции с федеральной информационной адресной системой. Для достижения цели требуется решить следующие задачи:
• Анализ данных ФИАС
• Поиск наиболее эффективных решений для разработки данного ПО
• Процессирование данных ФИАС для размещения и использования
• Поиск и разработка методов оптимизации поиска по данным ФИАС
• Разработка API для удобной интеграции корпоративной системы с базой ФИАС
• Поиск проблем ФИАС
В результате проделанной работы был разработан продукт, который обеспечивает удобную интеграцию с федеральной информационной адресной системой. С целью разработки данного программного обеспечения я:
• Проанализировал текущую ситуацию на рынке ПО для интеграции с ФИАС
• Изучил структуру ФИАС
• Успешно препроцессировал данные с сайта ФИАС
• Нашел наиболее эффективный метод поиска по данным ФИАС
• Разработал API для удобного использования
• Выделил некоторые проблемы ФИАС
Главным результатом этого дипломного проекта является успешное внедрение рабочего прототипа в промышленные проекты организации, где я на момент написания работаю старшим программистом