52 lines
2.4 KiB
Markdown
52 lines
2.4 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)
|
||
|
||
## Метрики успеха
|
||
|
||
- Маршрут через точку с шлагбаумом → 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 уже настроен |
|