Files
wiki/tasks/enduro-trails/PROJECT.md
2026-05-03 19:50:01 +03:00

3.7 KiB
Raw Blame History

Enduro Trails 🏍️

OSM-карта с фокусом на грунтовые дороги для построения красивых эндуро-маршрутов

Статус: active (прототип задеплоен)
Старт: 2026-05-02
Автор: Слава


Концепция

Обычные карты оптимизированы под автомобили — асфальт яркий, грунтовки не видны. Enduro Trails переворачивает эту логику: грунтовки/тропы — главный слой, асфальт — тусклый фон. Плюс фичи для поиска и построения красивых маршрутов (минимум асфальта, максимум красоты).

Ключевые фичи

Фича Описание
🛤️ "Дикий путь" Роутинг А→Б с максимизацией грунтовок
🎨 "Красивый маршрут" Замкнутый круг через водоёмы, виды, заброшки
🏔️ "Горка" Макс набор высоты, мин дистанция
🔗 "Связка" Соединить два трека грунтовками
📍 "Разведка" Грунтовки вокруг точки
🚧 "Препятствия" Броды, шлагбаумы, болота, ЛЭП

Регионы

  1. ЦФО + Чувашия (первый регион, прототип)
  2. Расширение на новые ФО по запросу

План

Прототип (mva154) → проверка концепта → новая VM с PostGIS + OSRM → масштабируемая платформа

Архитектура

Схема: ../../enduro_architecture.png
Концепт: CONCEPT.md

Стек

  • Pyrosm/Osmium → парсинг PBF
  • Spatialite/PostGIS → хранение
  • OSRM (кастомный профиль) → роутинг
  • FastAPI → бэкенд
  • MapLibre GL JS → фронт (веб + PWA)

Хостинг

  • Прототип: slin@82.22.50.71, контейнер prototype-enduro-trails-1, порт 5558
  • URL: https://openclaw.mva154.duckdns.org/enduro/
  • Продакшен: новая VM (4 vCPU, 8 GB RAM, 50 GB диск)

Текущее состояние (2026-05-03)

  • Прототип задеплоен: https://openclaw.mva154.duckdns.org/enduro/
  • БД: 1 141 926 треков, 14 882 POI (Spatialite)
  • Векторные тайлы (MVT) через FastAPI, 4 uvicorn workers
  • LRU-кэш тайлов (512 тайлов в памяти)
  • Упрощение геометрии по зуму (Shapely simplify)
  • Фильтр треков по длине на низких зумах (z8: ≥500м, z9: ≥200м)
  • Dockerfile — быстрый старт контейнера без apt/pip при рестарте
  • Nginx /enduro/ с HTTPS через openclaw.mva154.duckdns.org
  • Фронт: MapLibre GL JS, легенда (Lev1-2 / Lev3-5 / Тропа)
  • Тропы — красный пунктир, асфальт скрыт
  • Кнопки: 🧭 компас (север/свободный), 📍 геолокация с маркером
  • Попапы с name, surface, tracktype, length_m, mtb_scale

Ресурсы на регион

Компонент Объём
PBF (регион) ~150-200 MB
Spatialite/PostGIS ~500 MB - 1 GB
OSRM граф ~1-3 GB
SRTM DEM ~2-3 GB
Тайлы (z10-16) ~2-5 GB
Итого ~5-12 GB

Ссылка на онтологию: proj_enduro_trails