Техническое задание: Создание глобальной базы населённых пунктов

Цель проекта

Разработать полную, структурированную и актуальную базу данных, содержащую информацию о населённых пунктах всех стран мира. База должна включать русскоязычные названия и географические координаты для последующего использования в локальной веб-системе с функциями поиска, фильтрации и картографии.

Требования к данным

Географическое покрытие:

  • Все страны мира без исключений.

Типы включаемых населённых пунктов:

  • Города (city)
  • Посёлки городского типа (town, urban-type settlement)
  • Сёла и деревни (village, hamlet, settlement)
  • Иные малые населённые пункты по аналогии с классификацией OpenStreetMap (OSM).

Критерии включения:

  • Все населённые пункты, включая малые (деревни, сёла, хутора).

Требования к формату и структуре

Формат данных:

  • Основной вариант: NDJSON (Newline-Delimited JSON) - каждый объект (населённый пункт) на отдельной строке.
  • Альтернативный вариант: Стандартный JSON в виде массива объектов, сгруппированных по странам.

Технические характеристики:

  • Кодировка файлов: UTF-8.
  • Нормализация Unicode: NFC.
  • Каждая запись должна содержать как минимум следующие поля:
    • Русское название населённого пункта.
    • Оригинальное название (опционально).
    • Географические координаты (широта и долгота).
    • Тип населённого пункта (city, town, village и т.д.).
    • Страна и регион (административное деление).
    • Уникальный идентификатор (например, из открытых источников).

Критерии качества

  • Полнота: База должна стремиться к максимальному охвату.
  • Актуальность: Данные должны быть проверены и обновлены.
  • Чистота данных: Отсутствие дубликатов, корректность кодировки и формата координат.
  • Удобство использования: Структура JSON должна быть понятной и легко интегрируемой в код.

Разработка воркфлоу в n8n для сбора мероприятий из Telegram

Требуется создать автоматизированный рабочий процесс в n8n для мониторинга публичных Telegram-каналов. Система должна собирать информацию о мероприятиях, фильтровать рекламный контент и исключать дублирование записей.