---
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
