Техническое задание: Создание глобальной базы населённых пунктов
Цель проекта
Разработать полную, структурированную и актуальную базу данных, содержащую информацию о населённых пунктах всех стран мира. База должна включать русскоязычные названия и географические координаты для последующего использования в локальной веб-системе с функциями поиска, фильтрации и картографии.
Требования к данным
Географическое покрытие:
- Все страны мира без исключений.
Типы включаемых населённых пунктов:
- Города (city)
- Посёлки городского типа (town, urban-type settlement)
- Сёла и деревни (village, hamlet, settlement)
- Иные малые населённые пункты по аналогии с классификацией OpenStreetMap (OSM).
Критерии включения:
- Все населённые пункты, включая малые (деревни, сёла, хутора).
Требования к формату и структуре
Формат данных:
- Основной вариант: NDJSON (Newline-Delimited JSON) - каждый объект (населённый пункт) на отдельной строке.
- Альтернативный вариант: Стандартный JSON в виде массива объектов, сгруппированных по странам.
Технические характеристики:
- Кодировка файлов: UTF-8.
- Нормализация Unicode: NFC.
- Каждая запись должна содержать как минимум следующие поля:
- Русское название населённого пункта.
- Оригинальное название (опционально).
- Географические координаты (широта и долгота).
- Тип населённого пункта (city, town, village и т.д.).
- Страна и регион (административное деление).
- Уникальный идентификатор (например, из открытых источников).
Критерии качества
- Полнота: База должна стремиться к максимальному охвату.
- Актуальность: Данные должны быть проверены и обновлены.
- Чистота данных: Отсутствие дубликатов, корректность кодировки и формата координат.
- Удобство использования: Структура JSON должна быть понятной и легко интегрируемой в код.