Техническое задание: Геокодирование городов в регионах РФ
Суть задачи
Имеется большой файл в формате CSV или Excel (около 70 000 строк). В первом столбце этого файла содержатся названия населенных пунктов (городов). Данные могут быть неидеальными: встречаются опечатки, общепринятые сокращения (например, "СПб", "Нск"), неполные или альтернативные названия.
Требуемый результат
Для каждой строки файла необходимо определить и добавить информацию о том, к какому субъекту Российской Федерации (региону) относится указанный город.
Ключевые особенности и сложности
- Объем данных: Обработка значительного массива информации (70 000 записей).
- «Грязные» данные: Названия городов требуют нормализации из-за возможных опечаток, сокращений и неточностей.
- Точность сопоставления: Алгоритм должен корректно определять регион даже при неполном или искаженном написании названия города.
- Актуальность справочника: Необходимо использовать актуальный, официальный перечень субъектов РФ и их населенных пунктов.
Ожидаемый подход к решению
Исполнителю предлагается предложить и реализовать метод решения. Возможные варианты включают:
- Использование сторонних API для геокодирования.
- Применение локальных справочников и алгоритмов нечеткого поиска (fuzzy matching) для сопоставления.
- Разработка скрипта на Python, R или другом подходящем языке для автоматической обработки файла.
В решении важно предусмотреть обработку исключений и случаев, когда однозначное сопоставление невозможно.