Результаты обсерватории: 30-дневный архив по Балтике и исследование чувствительности
Версия kshana-observatory/adsb/v1 поверх kshana-interference-map/adsb/v2 (параметры предварительно зарегистрированы в базовом методе, не изменены). MODELLED: нет ни внешнего оракула, ни эталона истины, ни указания причины. Ухудшенная ячейка означает, что высокая доля воздушных судов, попавших там в выборку, в этот день сообщала о низкой точности навигации; почему — она не говорит. Ячейка, которая не наблюдалась или отсутствует, не оценивалась, а это не то же самое, что «чисто».
Что было запущено#
- Источник: история readsb от adsb.lol (ODbL 1,0), выпуск GitHub
v<YYYY>.<MM>.<DD>-planes-readsb-prod-0изadsblol/globe_history_2026, загруженныйscripts/fetch_adsblol_day.shпо одной части за раз (около 3,4 ГБ в сутки, 2 части). Издатель не указывает контрольных сумм, поэтому SHA-256 каждой части записан вback-catalogue/fetch/<tag>.parts.json. - Регион и дни: прямоугольник 53,5, 9,0, 66,0, 31,0 (юг, запад, север, восток: Балтийское море и его побережья), 30 суток UTC с 2026-09-15 по 2026-10-14, ячейки в 0,5 градуса, с помощью
scripts/observatory_backcatalogue.sh(по одним суткам за раз, необработанные файлы удаляются после каждых суток). - Правила публикации: самые новые сутки (2026-10-14) на момент создания прошли более 24 ч после своего конца; иначе команда отклоняет запуск. Региональные прогоны вычисляют базовый уровень оборудования и фон суток только по сообщениям из прямоугольника (
method.scope). - Файлы: 120 файлов продукта (GeoJSON, PNG, JSON инцидентов и манифест на каждые сутки) не находятся в git. Хеш каждого файла записан в
back-catalogue/MANIFEST.json, и сутки можно перестроить из архива и сравнить.
Пример того, что показывают сутки: 2026-09-15 архив содержал 110 619 797 строк положений в 79 826 файлах трасс; 103,0 млн были вне прямоугольника, 5,6 млн — не ADS-B, 1,2 млн — на земле или ниже 5 000 фт, 0,6 млн не имели поля точности, а 212 426 были агрегированы (счётчики входных данных в manifest.json).
Воспроизводимость#
Трое суток (2026-09-18, 2026-09-26, 2026-10-03) были заново загружены из архива и запущены второй раз: GeoJSON, PNG и файл инцидентов побайтно идентичны первому прогону (SHA-256 равны), поэтому продукт детерминирован, хотя соль хеша идентификатора случайна для каждого прогона.
Сводка по архиву прошлых дней#
| сутки UTC | опубликованные ячейки | ухудшены | не ухудшены | не наблюдались (опубликованные) | инциденты |
|---|---|---|---|---|---|
| 2026-09-15 | 643 | 7 | 461 | 175 | 3 |
| 2026-09-16 | 686 | 6 | 472 | 208 | 5 |
| 2026-09-17 | 691 | 5 | 460 | 226 | 2 |
| 2026-09-18 | 694 | 8 | 473 | 213 | 5 |
| 2026-09-19 | 663 | 2 | 416 | 245 | 2 |
| 2026-09-20 | 673 | 1 | 464 | 208 | 1 |
| 2026-09-21 | 674 | 3 | 465 | 206 | 3 |
| 2026-09-22 | 674 | 4 | 455 | 215 | 3 |
| 2026-09-23 | 668 | 2 | 456 | 210 | 2 |
| 2026-09-24 | 683 | 3 | 468 | 212 | 2 |
| 2026-09-25 | 701 | 3 | 469 | 229 | 3 |
| 2026-09-26 | 656 | 1 | 423 | 232 | 1 |
| 2026-09-27 | 682 | 2 | 459 | 221 | 1 |
| 2026-09-28 | 683 | 2 | 472 | 209 | 2 |
| 2026-09-29 | 666 | 3 | 454 | 209 | 2 |
| 2026-09-30 | 687 | 6 | 465 | 216 | 4 |
| 2026-10-01 | 691 | 1 | 476 | 214 | 1 |
| 2026-10-02 | 684 | 4 | 462 | 218 | 3 |
| 2026-10-03 | 650 | 0 | 397 | 253 | 0 |
| 2026-10-04 | 675 | 5 | 458 | 212 | 4 |
| 2026-10-05 | 689 | 2 | 466 | 221 | 1 |
| 2026-10-06 | 662 | 4 | 448 | 210 | 3 |
| 2026-10-07 | 671 | 3 | 458 | 210 | 2 |
| 2026-10-08 | 664 | 4 | 447 | 213 | 4 |
| 2026-10-09 | 687 | 4 | 465 | 218 | 2 |
| 2026-10-10 | 640 | 3 | 402 | 235 | 2 |
| 2026-10-11 | 678 | 3 | 459 | 216 | 2 |
| 2026-10-12 | 688 | 4 | 467 | 217 | 4 |
| 2026-10-13 | 672 | 0 | 457 | 215 | 0 |
| 2026-10-14 | 669 | 1 | 474 | 194 | 1 |
30 суток: всего 96 ухудшенных ячеек, не менее одной — в 28 из 30 суток, 70 инцидентов (групп соприкасающихся ухудшенных ячеек), ни одних суток с эффектом на весь день. Медианная доля затронутых воздушных судов в ячейке (фон суток) равна 0 в 29 сутках и 0,006 в одних, поэтому ограничение по фону (ячейка должна превышать фон на 0,15) ни разу не изменило суждение в этом регионе. Число ухудшенных ячеек в сутки лежит от 0 до 8 (в среднем 3,2). Около трети опубликованных ячеек каждых суток — not_observed (в выборку попало слишком мало воздушных судов): ограничение этого продукта — покрытие, а не небо.
Чего это не говорит: сутки с большим числом ухудшенных ячеек не «хуже» ни в каком физическом смысле, устойчивая затронутая область была бы занижена (воздушные суда, летающие весь день только внутри неё, не имеют базового уровня за её пределами и не учитываются), и ничто здесь не говорит, кто или что вызвало низкую точность.
Исследование чувствительности (трое суток)#
kshana interference-map sensitivity воспроизводит записанные сообщения одних суток при поочерёдных изменениях зарегистрированных параметров (по два значения, плюс сетка в 1,0 градус). Сутки: 2026-09-18 (больше всего ухудшенных ячеек, 8), 2026-09-26 (1 ухудшенная ячейка) и 2026-10-03 (0). Полные отчёты: sensitivity/<day>.json (по 23 варианта; воспроизведено 2,2, 1,7 и 1,7 млн строк). Ухудшенные ячейки при каждом варианте (зарегистрированное значение в скобках; зарегистрированный результат — 8, 1 и 0 ухудшенных ячеек):
| параметр (зарегистрированный) | значение | 09-18 (8) | 09-26 (1) | 10-03 (0) |
|---|---|---|---|---|
low_nacp_max (6) |
5 / 7 | 6 / 8 | 1 / 3 | 0 / 2 |
low_nic_max (5) |
4 / 6 | 3 / 16 | 0 / 12 | 0 / 8 |
good_nacp_min (8) |
7 / 9 | 8 / 6 | 1 / 0 | 0 / 1 |
min_alt_ft (5000) |
3000 / 8000 | 6 / 6 | 1 / 1 | 0 / 1 |
affected_report_share (0.5) |
0.4 / 0.6 | 8 / 4 | 2 / 1 | 2 / 0 |
degraded_share (0.30) |
0.2 / 0.4 | 14 / 1 | 5 / 1 | 4 / 0 |
min_aircraft_sampled (10) |
8 / 15 | 8 / 8 | 2 / 0 | 2 / 0 |
min_reports_per_aircraft_in_cell (3) |
2 / 5 | 11 / 2 | 12 / 0 | 6 / 1 |
background_margin (0.15) |
0.10 / 0.20 | 8 / 8 | 1 / 1 | 0 / 0 |
min_baseline_good_reports (5) |
3 / 10 | 8 / 8 | 1 / 1 | 0 / 0 |
day_confound_background (0.15) |
0.10 / 0.25 | 8 / 8 | 1 / 1 | 0 / 0 |
| сетка 0,5 градуса | 1.0 | 2 (более крупные ячейки) | 3 | 1 |
Как это читать, не выбирая победителя:
- Суждения чувствительны к порогам кодов точности и правилам выборки, а малые числа сильно колеблются.
low_nic_max,degraded_shareиmin_reports_per_aircraft_in_cellкаждый меняют число ухудшенных ячеек вдвое или более в каждых сутках; ослаблениеlow_nic_maxдо 6 превращает 1 ухудшенную ячейку в 12 на 09-26 (Жаккар с зарегистрированным множеством 0,08). На 09-18 повышениеdegraded_shareдо 0,4 сохраняет 1 из 8 (Жаккар 0,125). Суждение по ячейке вблизи порогов — это утверждение о порогах не меньше, чем о данных. min_aircraft_sampledв основном перемещает ячейки между «не ухудшены» и «не наблюдались»: на 09-18 число ухудшенных остаётся 8, тогда как от 21 до 56 ячеек меняют состояние.- Три ограничения здесь неактивны:
background_margin,min_baseline_good_reportsиday_confound_backgroundничего не меняют ни в одних из трёх суток (доля фона равна 0), поэтому этот регион и период ничего не говорят о том, насколько хорошо они работают. Они имели бы значение там, где региональный эффект поднимает фон. - Более крупная сетка (1,0 градус) меняет картину (2, 3 и 1 ухудшенные ячейки; опубликованных ячеек становится около трети, 226 против 694 на 09-18, потому что каждая ячейка в четыре раза больше): размер ячейки — выбор метода, и обсерватория фиксирует его в 0,5 градуса.
- Сутки без зарегистрированной ухудшенной ячейки (10-03) имеют ухудшенные ячейки при 9 из 22 вариантов без сетки (до 8 при
low_nic_max6): «нет ухудшенной ячейки» — тоже утверждение, зависящее от порога.
Ни один вариант не является проверенной альтернативой, и зарегистрированное правило этим исследованием не меняется. Исследование не говорит, какие значения параметров верны.