44 lines
1.7 KiB
Markdown
44 lines
1.7 KiB
Markdown
---
|
||
type: phase-brd
|
||
phase_id: PH-2.routing
|
||
title: "Роутинг: OSRM с кастомным эндуро-профилем"
|
||
version: 1
|
||
status: done
|
||
created_at: 2026-05-18
|
||
authors:
|
||
- "agent:stream"
|
||
---
|
||
|
||
# PH-2 — Роутинг: «Дикий путь»
|
||
|
||
## Цель
|
||
|
||
Добавить построение маршрутов с приоритетом грунтовых дорог. Использовать OSRM с кастомным Lua-профилем, оптимизированным под эндуро.
|
||
|
||
## Scope
|
||
|
||
- Кастомный профиль `enduro.lua` для OSRM (приоритет грунтовок, штраф за асфальт)
|
||
- Пересборка OSRM графа из OSM PBF (~5.2 GB)
|
||
- Базовый UI для построения маршрута (точка А → Б)
|
||
- Отображение маршрута на карте
|
||
|
||
## Что реализовано
|
||
|
||
- OSRM с профилем enduro.lua (веса: track > path > unclassified > tertiary > secondary)
|
||
- API эндпоинт `/api/route` (FastAPI → OSRM)
|
||
- UI: клик по карте для установки точек старта/финиша
|
||
- Отображение маршрута (GeoJSON LineString на карте)
|
||
- Docker-сервис OSRM в compose
|
||
|
||
## Ключевые решения
|
||
|
||
| Решение | Причина |
|
||
|---------|---------|
|
||
| OSRM (не GraphHopper) | Быстрый, проверенный, кастомный lua-профиль |
|
||
| Кастомный enduro.lua | Стандартные профили не учитывают грунтовки как приоритет |
|
||
| Swap 6 GB | OSRM граф требует ~5.2 GB RAM |
|
||
|
||
## Дата завершения
|
||
|
||
03.05.2026
|