compare panel, docs update, wind visualisation

This commit is contained in:
Vasilisk9812 2026-06-17 00:20:55 +09:00
parent b7f7ec8dc5
commit 48140f0f77
29 changed files with 2299 additions and 38 deletions

View file

@ -0,0 +1,62 @@
@startuml dfd-telemetry
title Диаграмма потоков данных (DFD) подсистемы слежения (телеметрия)
skinparam shadowing false
skinparam defaultFontName Helvetica
skinparam rectangle {
BorderColor black
BackgroundColor #F5F5F5
}
skinparam usecase {
BorderColor #2C5AA0
BackgroundColor #E8F0FE
}
skinparam database {
BorderColor #6B6B6B
BackgroundColor #FFFFFF
}
' ── Внешние сущности ───────────────────────────────────────────────
rectangle "Стратосферный зонд\n(тестовый клиент)" as sat
rectangle "Оператор\n(браузер)" as op
' ── Процессы ──────────────────────────────────────────────────────
usecase "1.0\nПриём телеметрии\n(WebSocket onmessage)" as p1
usecase "2.0\nЗагрузка истории\n(REST fetchHistory)" as p2
usecase "3.0\nНормализация\nparseTelemetry" as p3
usecase "4.0\nОтрисовка на карте\n(MapLibre $effect)" as p4
usecase "5.0\nАнализ отклонений\ncomputeDeviations" as p5
' ── Хранилища данных ──────────────────────────────────────────────
database "D1 | БД телеметрии\n(Backend)" as d1
database "D2 | points[]\n(TelemetryStore, in-memory)" as d2
database "D3 | result\n(прогноз рабочей области)" as d3
' ── Потоки данных ─────────────────────────────────────────────────
sat --> p1 : пакет телеметрии\n(JSON: lat, lon, alt, ts)
p1 --> d1 : сохранение пакета
p1 --> d2 : TelemetryPoint\n(unix-сек → ISO 8601)
op --> p2 : UUID спутника
d1 --> p2 : RawTelemetryPacket[]\n(новые первыми)
p2 --> d2 : история (reverse → хронология)
d2 --> p3 : points[]
p3 --> p4 : Telemetry\n{flight_path[lat,lng,alt], launch}
p4 --> op : трек + маркеры + анимированный\nмаркер текущего положения
d2 --> p5 : фактические точки
d3 --> p5 : прогнозная траектория
p5 --> op : профиль высоты,\nгоризонтальное отклонение (Хаверсин),\nΔh, макс./текущее отклонение
' ── Текущие показатели (геттер latest) ────────────────────────────
d2 --> op : широта, долгота, высота,\nсчётчик пакетов
legend left
Нотация DFD (Йордан/ДеМарко):
▢ прямоугольник — внешняя сущность
◯ овал — процесс
▭ database — хранилище данных
→ — поток данных
endlegend
@enduml