Files
wiki/tasks/flightradar24
2026-04-19 00:30:01 +03:00
..
2026-04-19 00:20:01 +03:00
2026-04-12 21:55:33 +03:00
2026-04-12 21:55:33 +03:00
2026-04-12 21:55:33 +03:00
2026-04-12 21:55:33 +03:00
2026-04-12 21:55:33 +03:00
2026-04-19 00:30:01 +03:00
2026-04-19 00:20:01 +03:00

FR24 / noisemap

Проект шумовой карты авиации для Московской области и локального ADS-B ingest-контура на RTL-SDR.

Что внутри

  • noisemap / FR24-прототип — визуализация и расчёт шумовой плотности на базе исторических данных Flightradar24
  • RTL-SDR ingest-контур — локальный приём ADS-B, хранение в PostgreSQL/PostGIS и recovery после сбоев

Куда смотреть

  • tasks/flightradar24/PROJECT.md — общий статус проекта
  • tasks/flightradar24/docs/INDEX.md — карта документации
  • tasks/flightradar24/docs/ARCHITECTURE.md — контейнерная архитектура ingest-контура
  • tasks/flightradar24/docs/RTL-SDR_TZ.mdТЗ на RTL-SDR ingest
  • tasks/flightradar24/docs/VM_SETUP.md — инструкция по созданию VM в PVE
  • tasks/flightradar24/docs/DEV_AGENT_HANDOFF.md — пакет передачи Dev-агенту

Текущий статус

  • FR24-прототип жив и остаётся в проекте как историческая и визуальная база
  • новая линия проекта — переход к локальному RTL-SDR контуру
  • целевая БД: PostgreSQL + PostGIS
  • целевое развёртывание: одна VM + Docker Compose

Историческая часть

Ниже сохранена справка по старому FR24/noisemap-прототипу.

📋 О проекте

Проект создаёт интерактивную веб-карту Московской области, на которой отображаются:

  • Траектории полётов за выбранный период (до 12 месяцев)
  • Шумовые границы вокруг траекторий, рассчитанные на основе высоты полёта
  • Интерактивные элементы: зум, фильтры по времени, всплывающая информация о рейсах

🎯 Цели проекта

  1. Визуализация: Наглядно показать распределение шумового загрязнения от авиации
  2. Анализ: Выявить наиболее загруженные воздушные коридоры
  3. Информирование: Предоставить данные для исследований и принятия решений
  4. Оптимизация: Эффективное использование данных Flightradar24 API в рамках тарифа Explorer

🛠 Технологический стек

Бэкенд

  • Язык: Python 3.8+
  • Фреймворк: FastAPI (лёгкий, асинхронный)
  • Библиотеки:
    • requests - работа с Flightradar24 API
    • sqlalchemy / sqlite3 - работа с базой данных
    • pandas / numpy - обработка данных
    • python-dotenv - управление конфигурацией

Фронтенд

  • Карты: Leaflet.js с OpenStreetMap
  • Интерфейс: Bootstrap 5 + чистый JavaScript
  • Визуализация: встроенные возможности Leaflet + D3.js (опционально)

Хранение данных

  • База данных: SQLite (разработка) / PostgreSQL (production)
  • Кэш: файловая система (JSON/CSV)
  • Конфигурация: .env файл + config.json

📊 Модель шумового воздействия (v1.0)

Основные допущения

  • Фактор: только высота полёта
  • Зависимость: уровень шума обратно пропорционален высоте
  • Формула:
    noise_radius_km = base_radius * (min_height / actual_height) * factor
    
    где:
    • base_radius = 5.0 км (базовый радиус шума)
    • min_height = 300 м (минимальная высота для расчёта)
    • factor = 0.01 (коэффициент масштабирования)

Параметры (config.json)

"noise_model": {
  "base_noise_radius_km": 5.0,
  "height_factor": 0.01,
  "min_height_m": 300,
  "max_height_m": 12000,
  "min_radius_km": 0.5,
  "max_radius_km": 10.0
}

Бэклог для v2.0

  • Учёт типа воздушного судна
  • Учёт времени суток (ночные полёты)
  • Учёт направления и скорости ветра
  • Привязка к санитарным нормам

🚀 Быстрый старт

1. Установка зависимостей

pip install -r requirements.txt

2. Настройка API ключа

export FLIGHTRADAR24_API_KEY="your_api_key_here"

Или создайте файл .env:

FLIGHTRADAR24_API_KEY=your_api_key_here

3. Проверка подключения

python scripts/check_api.py

4. Запуск тестового сбора данных

python scripts/flightradar24_explorer.py

📁 Структура проекта

flightradar24/
├── README.md                    # Эта документация
├── requirements.txt             # Зависимости Python
├── config.json                  # Конфигурация проекта
├── scripts/                     # Вспомогательные скрипты
│   ├── check_api.py            # Проверка API ключа
│   └── flightradar24_explorer.py # Базовый клиент API
├── reports/                     # Отчёты и документация
│   └── ТЗ_Картаумовогоагрязнения_Flightradar24.md
├── data/                        # Данные (будет создано)
│   ├── cache/                  # Кэшированные данные API
│   ├── processed/              # Обработанные данные
│   └── exports/                # Экспортированные файлы
├── backend/                     # Бэкенд приложения (будет создано)
├── frontend/                    # Фронтенд приложения (будет создано)
└── docs/                       # Документация (будет создано)

🔧 Конфигурация

Основные параметры настройки в config.json:

Параметр Описание Значение по умолчанию
geography.region Регион исследования Московская область
geography.bounds Границы региона 54.5-56.5°N, 35.5-39.5°E
data_collection.target_period_months Целевой период данных 12 месяцев
data_collection.initial_period_days Начальный период для тестирования 30 дней
visualization.default_center Центр карты [55.7558, 37.6173] (Москва)
visualization.default_zoom Увеличение карты 9

💳 Использование кредитов Flightradar24 API

Тариф Explorer

  • Базовый лимит: 60,000 кредитов/месяц
  • Промо-период: до 120,000 кредитов/месяц (до 31.05.2026)
  • Обновление: раз в неделю/месяц в зависимости от лимитов

Примерная стоимость запросов

Endpoint Кредитов/запрос Примерное использование
flight/list (live) 5 100 запросов = 500 кредитов
flight/{id}/history 20 50 рейсов = 1,000 кредитов
flight/{id}/playback 30 30 треков = 900 кредитов

Стратегия оптимизации

  1. Кэширование: Сохранять полученные данные локально
  2. Пакетная обработка: Собирать данные партиями
  3. Приоритизация: Сначала ключевые маршруты и периоды
  4. Мониторинг: Регулярно проверять остаток кредитов

📈 План разработки

Этап 1: Подготовка и прототип (23-25 марта 2026)

  • Проверка доступности исторических данных
  • Создание proof-of-concept с 10-50 траекториями
  • Согласование визуализации с Заказчиком

Этап 2: Разработка бэкенда (26-28 марта 2026)

  • Архитектура FastAPI приложения
  • Система сбора и обработки данных
  • API для фронтенда

Этап 3: Разработка фронтенда (29-31 марта 2026)

  • Интерфейс карты (Leaflet)
  • Панель управления и фильтры
  • Интеграция с бэкендом

Этап 4: Тестирование и оптимизация (1-2 апреля 2026)

  • Функциональное тестирование
  • Оптимизация производительности
  • Документация и развёртывание

🔗 Полезные ссылки

📞 Контакты

  • Заказчик: Слава
  • Исполнитель: Стрим (ИИ-ассистент)
  • Канал связи: Telegram через OpenClaw

Проект находится в активной разработке. Последнее обновление: 22 марта 2026.