Доки B17/E5: README §11а (полевые данные КОНТУРа: inbound sync, локальное чтение, слой карты)

This commit is contained in:
2026-09-25 11:05:39 +03:00
parent 31757f18b3
commit cdfbf30232
+24 -2
View File
@@ -334,6 +334,27 @@ SPA на react-scripts (CRA). Роутинг:
--- ---
## 11а. Полевые данные КОНТУРа (B17/E5)
Двусторонний обмен с КОНТУРом по операции:
- **Outbound** (E4): `POST /operations/{id}/send-to-contour` — зоны расчёта.
- **Inbound** (B17): `POST /operations/{id}/field-data/sync` — тянет из КОНТУРа
`GET {CONTOUR_API_URL}/api/v1/vector/areas-checked?operation_id=<contour_operation_id>`
и делает идемпотентный upsert в `areas_checked` (dedupe по `contour_area_id`,
хранит geom GeoJSON / checked_at / result clear|partial / coverage_pct / callsign цепи,
`source=contour`). Каждая синхронизация аудируется (`field_data_sync`).
- `GET /operations/{id}/areas-checked` — после sync читает локальную БД (`source: db`),
до первой синхронизации прозрачно проксирует КОНТУР (`source: contour`).
- Фронт: кнопка «⟳ Синхронизировать полевые данные» в КОНТУР-панели страницы анализа;
проверенные квадраты рисуются на карте **поверх зон** — зелёный = прочесано (≥99.5%),
жёлтый пунктир = частично; в попапе покрытие %, время проверки, callsign.
Статусы КОНТУРа: `clear` (покрытие ≥99.5%) / `partial`. Нахождение субъекта на стороне
КОНТУРа статусом не передаётся — находка фиксируется завершением поиска в ВЕКТОРе.
---
## 12. Интеграция с КОНТУР (отправка зон) ## 12. Интеграция с КОНТУР (отправка зон)
КОНТУР — система полевой координации (ATAK + Meshtastic). ВЕКТОР отдаёт приоритетные зоны (outbound): КОНТУР — система полевой координации (ATAK + Meshtastic). ВЕКТОР отдаёт приоритетные зоны (outbound):
@@ -403,6 +424,7 @@ SPA на react-scripts (CRA). Роутинг:
- Карта: концентрические круги + подсветка направлений (дизайн согласованный) - Карта: концентрические круги + подсветка направлений (дизайн согласованный)
- РБАК: иерархия РЦУ РЧС → ОУМЧС → Г(Р)ОЧС (142 юнита), 4 роли / 9 прав, блокировки, сессии - РБАК: иерархия РЦУ РЧС → ОУМЧС → Г(Р)ОЧС (142 юнита), 4 роли / 9 прав, блокировки, сессии
- Мультипоиск: операции, статусная машина, дашборд «Активные поиски» - Мультипоиск: операции, статусная машина, дашборд «Активные поиски»
- B17/E5: ингестия полевых данных КОНТУРа (проверенные квадраты на карте операции)
- Завершение поиска с внесением исхода, архив завершённых с «прогноз vs факт» - Завершение поиска с внесением исхода, архив завершённых с «прогноз vs факт»
- Аудит 90 дней с field-level деталями - Аудит 90 дней с field-level деталями
- Прикладное логирование `vector.*`: события анализа, входов, КОНТУРа, аудита (README §13а) - Прикладное логирование `vector.*`: события анализа, входов, КОНТУРа, аудита (README §13а)
@@ -413,8 +435,8 @@ SPA на react-scripts (CRA). Роутинг:
### В планах ### В планах
- **E5 (B17)** — приём полевых данных от КОНТУРа: треки групп, проверенные квадраты (areas-checked) на карте операции - **E5/B17 расширение** — треки групп (tracks/live) как field_observations; полевой статус «найден»
- **Живая интеграция с КОНТУР** (CT130) — настройка токена и реальная отправка зон - **Авто-sync полевых данных** — периодический (сейчас кнопка вручную)
- **Локальный tile-сервер** — для полностью offline-фронта (сейчас тайлы OSM с CDN в браузере) - **Локальный tile-сервер** — для полностью offline-фронта (сейчас тайлы OSM с CDN в браузере)
- **Калибровка settlement_score** — вкладка населённых пунктов в скоринге секторов (открытый методический вопрос) - **Калибровка settlement_score** — вкладка населённых пунктов в скоринге секторов (открытый методический вопрос)
- **Калибровка зонального скоринга** по накопленному архиву «прогноз vs факт» - **Калибровка зонального скоринга** по накопленному архиву «прогноз vs факт»