From 2fef8b8830c80c923b4cb0200b2191a47469d8b8 Mon Sep 17 00:00:00 2001 From: Stream Date: Sat, 25 Apr 2026 13:50:01 +0300 Subject: [PATCH] auto-sync: 2026-04-25 13:50:01 --- tasks/flightradar24/PROJECT.md | 11 ++++++++--- tasks/flightradar24/docs/SYSTEM_OVERVIEW.md | 1 + tasks/flightradar24/frontend/README.md | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/tasks/flightradar24/PROJECT.md b/tasks/flightradar24/PROJECT.md index b817b40..ac5427e 100644 --- a/tasks/flightradar24/PROJECT.md +++ b/tasks/flightradar24/PROJECT.md @@ -11,7 +11,7 @@ - **Старт проекта:** 22 марта 2026 - **Текущий статус:** активен - **Текущий фокус:** переход от FR24-only к локальному RTL-SDR контуру с PostgreSQL/PostGIS -- **Последнее обновление:** 21 апреля 2026 +- **Последнее обновление:** 25 апреля 2026 ## 3. Текущая часть: noisemap / FR24-прототип ### URL @@ -117,11 +117,16 @@ - [x] Метрики source_coverage - [x] FR24 API: 1 трек загружен и проверен (FV6807) - [x] FA API: 5 треков загружено (тест) -- [ ] ⚠️ Мэтчинг RTL-SDR/FA в витрине сломан (ICAO vs IATA) — в работе -- [ ] ⚠️ DDL fix: VARCHAR(5) в flight_tracks_fa — в работе +- [x] Мэтчинг RTL-SDR/FA в витрине исправлен (ICAO vs IATA фикс, 21.04.2026) +- [x] DDL fix: VARCHAR(5) → VARCHAR(20) в flight_tracks_fa (21.04.2026) - [ ] ⚠️ Яндекс backfill 06–19.04 не завершён (rate limit) - [ ] Bulk rebuild витрины за 02–19.04 +### ✅ UI enrichment (выполнено 24.04.2026) +- [x] Таблица `fr24_ext.flight_actual` (FR24 summary/full данные) +- [x] UI расписания: 13 колонок (fr24_id, actual_takeoff, actual_landed, delay_*, flight_category, registration) +- [x] `aircraft_type` через `COALESCE(mf.aircraft_type, s.aircraft_type)` — fallback на расписание (25.04.2026) + ### 🔜 Фаза 2, Шаг 3: Перенос noisemap на VM-FR24 - [ ] Адаптация прототипа под fr24_mart - [ ] Live режим из RTL-SDR diff --git a/tasks/flightradar24/docs/SYSTEM_OVERVIEW.md b/tasks/flightradar24/docs/SYSTEM_OVERVIEW.md index 6b56481..bbdf283 100644 --- a/tasks/flightradar24/docs/SYSTEM_OVERVIEW.md +++ b/tasks/flightradar24/docs/SYSTEM_OVERVIEW.md @@ -187,6 +187,7 @@ track_points → altitude_to_noise_db(alt_ft, aircraft_type) → noise_score - Маршрут отображается из `thread_title` (Яндекс) — "Москва → Санкт-Петербург" - **CSV экспорт** — выгрузка с городами вместо IATA-кодов - Иконки источника трека (RTL/FR24/FA) +- **Тип ВС:** `COALESCE(mf.aircraft_type, s.aircraft_type)` — сначала из витрины `fr24_mart.flights` (если есть трек), иначе из расписания `fr24_ext.schedule`. Гарантирует заполненность колонки даже для дней без RTL-SDR данных. #### `/monitoring` — Мониторинг системы - Capture lag, throughput, unprocessed packets diff --git a/tasks/flightradar24/frontend/README.md b/tasks/flightradar24/frontend/README.md index 0417887..45c16fa 100644 --- a/tasks/flightradar24/frontend/README.md +++ b/tasks/flightradar24/frontend/README.md @@ -12,6 +12,22 @@ Minimal Flask HTTP API that reads from the `fr24` PostgreSQL schema and exposes | GET | `/captures` | List capture sessions (`?limit=50`) | | GET | `/aircraft` | List aircraft (`?limit=100`) | | GET | `/flights` | List flights (`?limit=100&status=active`) | +| GET | `/api/schedule/data` | Расписание рейсов с обогащением. Параметры: `flight_date`, `date_from`, `date_to`, `airport`, `direction`, `limit`, `offset` | +| GET | `/api/flight-actual` | Данные из `fr24_ext.flight_actual` (FR24 summary/full) | +| GET | `/api/data-sources/coverage` | Покрытие источниками по дням | +| GET | `/api/data-sources/quality` | Качество данных | +| GET | `/api/data-sources/top-airlines` | Топ авиакомпаний | +| GET | `/api/data-sources/top-routes` | Топ маршрутов | +| GET | `/api/data-sources/airport-load` | Загрузка аэропортов | +| GET | `/monitoring` | Мониторинг системы (контейнеры, DB, диск) | + +### Поле `aircraft_type` в `/api/schedule/data` + +Тип ВС возвращается через `COALESCE(mf.aircraft_type, s.aircraft_type)`: +- Приоритет: `fr24_mart.flights` (если есть трек за этот день) +- Fallback: `fr24_ext.schedule` (из Яндекс.Расписаний) + +Это гарантирует заполненность колонки даже для дней без RTL-SDR данных. ## Dependencies