From 3867eda080c8591165c62b7aa8869559fb5e30c8 Mon Sep 17 00:00:00 2001 From: Stream Date: Mon, 4 May 2026 08:00:02 +0300 Subject: [PATCH] auto-sync: 2026-05-04 08:00:01 --- tasks/enduro-trails/CONCEPT.md | 12 ++++++++++-- tasks/enduro-trails/PROJECT.md | 16 ++++++++++------ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/tasks/enduro-trails/CONCEPT.md b/tasks/enduro-trails/CONCEPT.md index fafb862..8a8a220 100644 --- a/tasks/enduro-trails/CONCEPT.md +++ b/tasks/enduro-trails/CONCEPT.md @@ -173,8 +173,16 @@ CREATE TABLE elevation_grid ( #### 🛤️ "Дикий путь" (Wild Route) - **Вход:** точки А и Б - **Цель:** максимизировать грунтовку, минимизировать асфальт -- **Алгоритм:** модифицированный Dijkstra с весами (грунтовка = -1, асфальт = +10) -- **Настройки:** % грунтовки (50/70/90%), максимальная дистанция +- **Реализация (v0.2, OSRM):** + - Кастомный профиль `enduro.lua` для `osrm-routed` + - `weight_name = 'routability'` — OSRM оптимизирует не по времени, а по предпочтительности дорог + - `forward_speed = 30` для всех типов дорог — duration одинаковый, выбор идёт ТОЛЬКО по `forward_rate` + - `forward_rate` (чем выше — тем предпочтительнее): track=100, bridleway=90, path=85, cycleway=70, motorway=0.1 + - `tracktype` мультипликатор: grade1×1.3 (твёрдая грунтовка), grade3×1.0, grade5×0.8 (размытая тропа) + - `weight = distance / forward_rate` — самый короткий путь по грунтовкам, даже если ехать дольше + - U-turn penalty 20s, развороты разрешены + - Граф ~5.2 GB из `enduro.osm.pbf` (ЦФО + Чувашия), контейнер `osrm-routed` порт 5559 +- **Проблемы:** может строить "вне дорог" через unmapped-связи между нодами OSM #### 🎨 "Красивый маршрут" (Scenic Route) - **Вход:** начальная точка, желаемая дистанция diff --git a/tasks/enduro-trails/PROJECT.md b/tasks/enduro-trails/PROJECT.md index 7cbc59c..60dff5d 100644 --- a/tasks/enduro-trails/PROJECT.md +++ b/tasks/enduro-trails/PROJECT.md @@ -68,6 +68,16 @@ ### ✅ Готово +**OSRM роутинг:** +- ✅ «Дикий путь» — OSRM с кастомным профилем `enduro.lua` +- ✅ `weight_name = 'routability'` (не `duration` — не оптимизирует по времени) +- ✅ `forward_speed = 30` для всех типов дорог (duration не влияет на выбор) +- ✅ `forward_rate` определяет предпочтительность: track=100, bridleway=90, path=85, motorway=0.1 +- ✅ `tracktype` мультипликатор: grade1×1.3, grade3×1.0, grade5×0.8 +- ✅ U-turn penalty 20s, нет односторонних ограничений +- ✅ Граф: `enduro.osrm.*` (~5.2 GB), собран из `enduro.osm.pbf` (ЦФО + Чувашия) +- ✅ Контейнер `osrm-osrm-routed-1`, порт 5559, OSRM_URL=`http://172.22.0.1:5559` + **Инфраструктура:** - Прототип задеплоен: `https://openclaw.mva154.duckdns.org/enduro/` - БД: 1 141 926 треков, 14 882 POI (Spatialite) @@ -93,12 +103,6 @@ - ✅ Поиск (Nominatim) — строка в хедере, debounce 400ms, flyTo - ✅ Линейка 📏 — кружки точно на координатах, плашки над ними, крестик удаления, haversine расстояние -### 🔄 В работе - -- OSRM пересборка с `weight_name='routability'` (3-я итерация, запущена 2026-05-03 ~21:00 UTC) - - Предыдущая версия с `weight_name='duration'` давала маршруты по асфальту - - Новый профиль: штрафы track=1, tertiary=15, secondary=25, primary=40, trunk=60, motorway=999 - ### ⏳ Бэклог **Фаза 3 — Умный маршрут:**