6.5 KiB
6.5 KiB
Enduro Trails 🏍️
OSM-карта с фокусом на грунтовые дороги для построения красивых эндуро-маршрутов
Статус: active (прототип задеплоен)
Старт: 2026-05-02
Автор: Слава
Концепция
Обычные карты оптимизированы под автомобили — асфальт яркий, грунтовки не видны. Enduro Trails переворачивает эту логику: грунтовки/тропы — главный слой, асфальт — тусклый фон. Плюс фичи для поиска и построения красивых маршрутов (минимум асфальта, максимум красоты).
Ключевые фичи
| Фича | Описание |
|---|---|
| 🛤️ "Дикий путь" | Роутинг А→Б с максимизацией грунтовок |
| 🎨 "Красивый маршрут" | Замкнутый круг через водоёмы, виды, заброшки |
| 🏔️ "Горка" | Макс набор высоты, мин дистанция |
| 🔗 "Связка" | Соединить два трека грунтовками |
| 📍 "Разведка" | Грунтовки вокруг точки |
| 🚧 "Препятствия" | Броды, шлагбаумы, болота, ЛЭП |
| 🌐 "Народные треки" | Сбор и отображение треков с внешних сервисов |
| 🔍 "Поиск" | Поиск населённых пунктов, адресов и объектов как на обычных картах |
| 🌙 "День/ночь" | Переключатель темы — светлая/тёмная карта |
| 🎨 "Эндуро-дизайн" | Современный агрессивный UI в духе эндуро/оффроад |
| 📏 "Линейка" | Измерение расстояния между точками на карте |
| 🚩 "Флажки/метки" | Расстановка именованных меток на карте |
| 🗺️ "Умный маршрут" | Промежуточные точки, расстояние между ними, % асфальт/грунт/тропа |
Регионы
- ЦФО + Чувашия (первый регион, прототип)
- Расширение на новые ФО по запросу
План
Прототип (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
План развития
| Фаза | Что | Статус |
|---|---|---|
| Фаза 1 | Прототип — визуализация OSM треков | ✅ Готово |
| Фаза 2 | OSRM роутинг + "Дикий путь" | 🔄 В работе |
| Фаза 3 | SRTM рельеф + уклоны + "Горка" | ⏳ Планируется |
| Фаза 4 | "Красивый маршрут", "Связка", "Разведка" | ⏳ Планируется |
| Фаза 5 | PWA + оффлайн | ⏳ Планируется |
| Фаза 6 | Народные треки — сбор с внешних сервисов | ⏳ Планируется |
Фаза 6: Народные треки (детали)
Источники для сбора:
- OSM Traces — публичные GPS-треки загруженные в OSM, бесплатно, API открытый
- Wikiloc — огромная база треков эндуристов/велосипедистов/туристов, есть API
- Komoot — активно используется эндуристами и велотуристами
- Strava — велосипедисты, бегуны (API платный для массового сбора)
- 4x4travel.ru — джипперы, форум с GPX-файлами
- Enduroad.ru — эндуро-сообщество
- Garmin Connect — публичные активности
Реализация:
- Сборщик треков → конвертация в GeoJSON → отдельная таблица
community_tracksв БД - Отдельный слой на карте "Народные треки" (другой цвет, можно вкл/выкл)
- Фильтрация по типу активности: мото / велосипед / джип / пеший
- Атрибуты: источник, автор, дата, рейтинг, тип активности
| Компонент | Объём |
|---|---|
| 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