From ca706cc4164bed626fd56bfa278ea4a653f5fc24 Mon Sep 17 00:00:00 2001 From: Stream Date: Sat, 2 May 2026 06:40:06 +0300 Subject: [PATCH] auto-sync: 2026-05-02 06:40:01 --- enduro_architecture.png | Bin 0 -> 59031 bytes tasks/enduro-trails/CONCEPT.md | 320 +++++++++++++++++++++++++++++++++ 2 files changed, 320 insertions(+) create mode 100644 enduro_architecture.png create mode 100644 tasks/enduro-trails/CONCEPT.md diff --git a/enduro_architecture.png b/enduro_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..7c51cc39967139dca796c0b57fcb5bb745a5ab1e GIT binary patch literal 59031 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 UjYDZhla8+IY8hU~Y2118Z|qe 20% | ⚠️ Высокий (по желанию) | + +### 5. Фичи для построения маршрутов + +#### 🛤️ "Дикий путь" (Wild Route) +- **Вход:** точки А и Б +- **Цель:** максимизировать грунтовку, минимизировать асфальт +- **Алгоритм:** модифицированный Dijkstra с весами (грунтовка = -1, асфальт = +10) +- **Настройки:** % грунтовки (50/70/90%), максимальная дистанция + +#### 🎨 "Красивый маршрут" (Scenic Route) +- **Вход:** начальная точка, желаемая дистанция +- **Цель:** замкнутый круг через живописные места +- **Оценка аттрактивности:** + - Близость к водоёмам (+10) + - Перепад высот > 300 м (+15) + - Видовые точки на маршруте (+20) + - Наличие заброек/руин (+10) + - Тропы с trail_visibility=yes (+5) + - Прохождение через ЛЭП как ориентир (+3) + +#### 🏔️ "Горка" (Elevation Route) +- **Вход:** точка старта, желаемый набор высоты +- **Цель:** максимизировать перепад высоты, минимизировать дистанцию +- **Использование:** тренировка, эндуро-кросс + +#### 🔗 "Связка" (Link Route) +- **Вход:** два существующих трека +- **Цель:** соединить их грунтовками, не по асфальту + +#### 📍 "Разведка" (Recon Mode) +- **Вход:** точка на карте +- **Выход:** все грунтовые дороги в радиусе X км +- **Использование:** посмотреть что есть вокруг, исследовать местность + +#### 🚧 "Препятствия" (Obstacle Layer) +- Карта с подсветкой всех бродов, шлагбаумов, болот, ЛЭП +- Фильтр по сезонам: некоторые дороги непроходимы в межсезонье +- Отчёт "что тебя ждёт" перед поездкой + +#### 📊 Статистика маршрута +- Общая дистанция, % грунтовки, % асфальта +- Набор/потеря высоты +- Максимальный уклон +- Прогноз времени (зависит от сложности) +- Техничность: 1-5 по grade дорогам + +--- + +## Фронтенд + +### Веб-приложение (основное) +- **Картографический движок:** MapLibre GL JS (open source форк Mapbox GL) +- **Стили:** кастомный Mapbox GL Style JSON с перевёрнутой логикой: + - Грунтовки = яркие, толстые, с градиентом по grade + - Асфальт = тонкие серые линии + - POI = иконки (озёра 💙, видовые точки 📷, заброек 🏚️) + - Рельеф = heatmap с тангенсом угла +- **Функции:** + - Клик → статистика дороги (название, длина, grade, покрытие) + - Рисование маршрута (ручной + автоматический роутинг) + - Поиск по названиям/тэгам + - Фильтр слоёв (вкл/выкл) + - Экспорт GPX/KML + +### PWA (Mobile) +- Progressive Web App для работы оффлайн +- Кэш тайлов для оффлайн навигации +- GPS трекинг в реальном времени +- Оффлайн роутинг (загрузка графа в браузер) + +--- + +## Данные и лицензии + +### OpenStreetMap +- **Лицензия:** ODbL (Open Database License) +- **Требования:** атрибуция (© OpenStreetMap contributors) +- **Коммерческое использование:** разрешено с сохранением атрибуции + +### SRTM (рельеф) +- **Источник:** NASA/USGS +- **Лицензия:** Public Domain +- **Качество:** 30 м (1 arc-second), 90 м для регионов без SRTM 30 м + +### Overpass API +- **Термины использования:** https://wiki.openstreetmap.org/wiki/Overpass_API +- **Rate limits:** необходимо уважать (не чаще 1-2 запросов/сек) +- **Рекомендуемое использование:** для дельта-обновлений, not bulk download + +--- + +## Технический стек (предварительный) + +| Компонент | Технология | Обоснование | +|-----------|------------|-------------| +| Парсинг PBF | Pyrosm (Python) + Osmium | Простота, Python-стек | +| Хранилище | Spatialite | Портативность, zero-config | +| Роутинг | OSRM + кастомный профиль | Быстрый, проверенный | +| API Backend | FastAPI (Python) | Async, типизация | +| Тайлы | TileServer GL или самописный | Поддержка MapLibre | +| Фронт | MapLibre GL JS + React/Vanilla | Open source, производительность | +| Мобильный | PWA + Service Workers | Оффлайн, без store | + +--- + +## Этапы реализации + +### Фаза 1: MVP (дьявол в деталях) +- [ ] Настройка PBF загрузки выбранного региона +- [ ] Парсинг и фильтрация highway=track + surface +- [ ] Импорт в Spatialite +- [ ] Базовый рендеринг тайлов (грунтовки яркие, асфальт серый) +- [ ] Веб-карта с MapLibre GL + +### Фаза 2: Роутинг +- [ ] Установка OSRM + кастомный профиль "Enduro" +- [ ] API для роутинга (точки А→Б → маршрут) +- [ ] "Дикий путь" — минимизация асфальта +- [ ] Экспорт GPX + +### Фаза 3: Слои и фичи +- [ ] Импорт SRTM DEM + расчёт уклонов +- [ ] Слой рельефа +- [ ] POI (водоёмы, видовые точки, заброшки) +- [ ] Слой препятствий (броды, шлагбаумы, болота) + +### Фаза 4: Продвинутый роутинг +- [ ] "Красивый маршрут" — через живописные места +- [ ] "Горка" — макс набор высоты +- [ ] "Разведка" — грунтовки вокруг точки +- [ ] Оценка маршрута (дистанция, сложность, время) + +### Фаза 5: Мобильность +- [ ] PWA с оффлайн тайлами +- [ ] GPS трекинг +- [ ] Интеграция с OsmAnd/Locus (экспорт) + +--- + +## Вопросы для Славы + +1. **Регион:** какой регион берём для начала? (ЦФО, вся Россия, конкретная область?) +2. **Хостинг:** разворачиваем FR24 VM (PostGIS) или локально на mva154? +3. **Бюджет на данные:** SRTM 30 м бесплатные, но если нужен ASTER (15 м) — $50/регион +4. **Мобильное:** PWA достаточно, или нужно нативное приложение (Android)? +5. **Совместное использование:** сделать публичным (кто хочет пользуется) или только для Славы? +6. **Приоритет:** что важней — роутинг, красивая визуализация, или оффлайн работа? + +--- + +*Документ будет дорабатываться после согласования со Славой*