- README: add GPX upload feature to fiche list and intro section - CLAUDE.md: clarify ADR convention (per-work-item vs global) - ET-005: add YAML frontmatter to business request - PH-7: document F-07/F-08 done, F-10 pending in phase BRD - docs/architecture: add client modules table (app.js, units.js, gpx.js)
64 lines
3.2 KiB
Markdown
64 lines
3.2 KiB
Markdown
---
|
||
type: phase-brd
|
||
phase_id: PH-7.barriers
|
||
title: "Барьеры: исключить шлагбаумы и тротуары, слой препятствий"
|
||
version: 1
|
||
status: active
|
||
created_at: 2026-05-18
|
||
authors:
|
||
- "agent:stream"
|
||
---
|
||
|
||
# PH-7 — Барьеры
|
||
|
||
## Цель
|
||
|
||
Сделать роутинг безопасным: маршрут не проходит через физические препятствия (шлагбаумы) и запрещённые для мотоциклов дороги (тротуары, пешеходные зоны). Добавить визуальный слой препятствий на карту.
|
||
|
||
## Scope
|
||
|
||
### F-07: Исключить шлагбаумы из OSRM
|
||
- Ноды с `barrier=gate|bollard|lift_gate|chain|cycle_barrier|motorcycle_barrier|border_control|block` → `mode.inaccessible` в OSRM
|
||
- `cattle_grid` и `ford` — оставить (проезжие)
|
||
|
||
### F-08: Исключить тротуары из OSRM
|
||
- Ways с `highway=footway|pedestrian|steps|corridor` → исключить из графа (return в process_way)
|
||
|
||
### F-10: Слой препятствий на карте
|
||
- Визуализация шлагбаумов, ворот, блоков на карте
|
||
- Иконки по типу барьера
|
||
- Popup с информацией (тип, OSM ID)
|
||
|
||
|
||
## Что реализовано
|
||
|
||
### ET-001 (done)
|
||
- ✅ **F-07** — Шлагбаумы и физические барьеры исключены из OSRM: `barrier=gate|bollard|lift_gate|chain|cycle_barrier|motorcycle_barrier|border_control|block` → `mode.inaccessible`
|
||
- ✅ **F-08** — Тротуары и пешеходные зоны исключены из OSRM: `highway=footway|pedestrian|steps|corridor` → blocked in process_way
|
||
- ✅ `cattle_grid` и `ford` оставлены проезжими
|
||
- ✅ OSRM граф пересобран с обновлённым `enduro.lua`
|
||
|
||
### Pending
|
||
- ❌ **F-10** — Визуальный слой препятствий на карте (шлагбаумы/ворота как иконки с popup) — **не реализовано**
|
||
|
||
## Метрики успеха
|
||
|
||
- Маршрут через точку с шлагбаумом → OSRM обходит или возвращает "не найден"
|
||
- Маршрут в городе → не проходит по тротуарам
|
||
- Время пересборки графа ≤ 60 мин
|
||
- Существующие маршруты без шлагбаумов/тротуаров — не ломаются
|
||
|
||
## Зависимости
|
||
|
||
- OSRM граф (пересборка с обновлённым enduro.lua)
|
||
- OSM PBF данные (уже есть)
|
||
- Work item: [ET-001](../../work-items/ET-001/)
|
||
|
||
## Риски
|
||
|
||
| Риск | Митигация |
|
||
|------|-----------|
|
||
| Пересборка графа ~40 мин (сервис недоступен) | Пересобирать ночью или в low-traffic |
|
||
| Слишком много заблокированных нод → маршруты не строятся | cattle_grid и ford оставлены; тестировать на реальных маршрутах |
|
||
| OSRM RAM при пересборке | Swap 6 GB уже настроен |
|