auto-sync: 2026-05-31 14:10:01
This commit is contained in:
145
tasks/enduro-trails/BRD_SATELLITE_MODE.md
Normal file
145
tasks/enduro-trails/BRD_SATELLITE_MODE.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# BRD: Режим спутниковой карты (Схема / Спутник)
|
||||
|
||||
> Переключатель между векторной картой и спутниковым видом (как в Google Maps / Яндекс.Картах)
|
||||
|
||||
**Статус:** Analysis (ожидает работы Analyst)
|
||||
**Приоритет:** Medium
|
||||
**Фаза:** 5.5 (после terrain)
|
||||
**Инициатор:** Слава
|
||||
**Дата создания:** 2026-05-31
|
||||
|
||||
---
|
||||
|
||||
## Контекст
|
||||
|
||||
Сейчас Enduro Trails использует полностью векторную карту на базе MapLibre GL JS с кастомными стилями:
|
||||
- `style.json` (светлая тема)
|
||||
- `style-dark.json` (тёмная тема)
|
||||
|
||||
Рельеф (terrain) реализован в фазе 5.4: гипсометрия + hillshade (SRTM 30м).
|
||||
|
||||
Пользователь хочет иметь возможность переключаться между **схемой** и **спутником**, как на популярных картах. Это особенно полезно для:
|
||||
- Визуальной оценки рельефа и ландшафта перед поездкой
|
||||
- Понимания, как выглядит местность «вживую»
|
||||
- Планирования маршрутов в сложных районах
|
||||
|
||||
---
|
||||
|
||||
## Цель
|
||||
|
||||
Реализовать переключатель режимов отображения карты:
|
||||
- **Схема** — текущая векторная карта (с дорогами, POI, terrain)
|
||||
- **Спутник** — растровый спутниковый слой (с возможностью гибридного отображения)
|
||||
|
||||
---
|
||||
|
||||
## Требования (MVP)
|
||||
|
||||
1. Переключатель режимов в UI (toolbar, рядом с кнопкой 🏔️ рельефа)
|
||||
2. Сохранение выбора пользователя в localStorage
|
||||
3. Корректная работа переключения вместе с terrain (гипосометрия + hillshade)
|
||||
4. Производительность: тайлы должны загружаться быстро, без деградации UX
|
||||
5. Поддержка мобильных устройств
|
||||
|
||||
---
|
||||
|
||||
## Исследовательские вопросы (для Analyst)
|
||||
|
||||
Analyst должен провести исследование и дать рекомендации по следующим направлениям:
|
||||
|
||||
### 1. Источники спутниковых тайлов
|
||||
|
||||
| Источник | Покрытие РФ | Качество | Лицензия/Стоимость | Примечание |
|
||||
|----------|-------------|----------|---------------------|------------|
|
||||
| ESRI World Imagery | Хорошее | Хорошее | Free (attribution) | Самый популярный вариант для MapLibre |
|
||||
| Яндекс.Спутник | Отличное (РФ) | Отличное | ? | Нужно проверить API/тайлы |
|
||||
| Maxar / DigitalGlobe | Отличное | Высокое | Платно | Дорого для open-source проекта |
|
||||
| Sentinel Hub | Среднее | Среднее | Free tier | Низкое разрешение (~10м) |
|
||||
| Mapbox Satellite | Хорошее | Хорошее | Платно | Требует Mapbox токен |
|
||||
|
||||
**Вопросы для Analyst:**
|
||||
- Какой источник оптимален для ЦФО + Чувашия по соотношению качество/скорость/стоимость?
|
||||
- Есть ли ограничения на использование ESRI World Imagery в коммерческих/открытых проектах?
|
||||
- Можно ли использовать Яндекс.Спутник без токена (как тайлы)?
|
||||
|
||||
### 2. Архитектура реализации
|
||||
|
||||
**Вариант A: Отдельный satellite style**
|
||||
- Полностью новый `style-satellite.json`
|
||||
- Плюсы: чистый контроль над слоями
|
||||
- Минусы: дублирование стилей, сложнее поддерживать terrain
|
||||
|
||||
**Вариант B: Raster overlay поверх текущего стиля**
|
||||
- Добавление `raster` source + layer в текущий стиль
|
||||
- Плюсы: минимальные изменения, terrain работает «из коробки»
|
||||
- Минусы: z-order слоёв нужно контролировать
|
||||
|
||||
**Вариант C: Hybrid (спутник + дороги/подписи)**
|
||||
- Спутник как base layer
|
||||
- Векторные дороги/подписи поверх с полупрозрачностью
|
||||
- Плюсы: лучший UX (понимаешь и рельеф, и дороги)
|
||||
- Минусы: сложнее в разработке, нужно два набора стилей
|
||||
|
||||
**Вопросы для Analyst:**
|
||||
- Какой вариант рекомендуешь и почему?
|
||||
- Какой подход лучше с точки зрения поддержки terrain (F-29)?
|
||||
|
||||
### 3. UX и поведение
|
||||
|
||||
- Какой формат переключателя использовать (сегмент, иконка, выпадающий список)?
|
||||
- Нужно ли показывать подписи (населённые пункты, реки) в спутниковом режиме?
|
||||
- Как переключение должно влиять на terrain (автоматически выключать/оставлять)?
|
||||
- Нужна ли отдельная тёмная версия спутника (ночь)?
|
||||
- Какой дефолтный режим при первом открытии карты?
|
||||
|
||||
### 4. Производительность и кэширование
|
||||
|
||||
- Тайлы спутника кэшировать на клиенте (browser cache) или через nginx?
|
||||
- Есть ли лимиты на запросы у выбранного источника?
|
||||
- Какое разрешение тайлов использовать (256 vs 512 px)?
|
||||
|
||||
### 5. Открытые вопросы для согласования со Славой
|
||||
|
||||
Analyst должен явно выделить вопросы, которые требуют решения от владельца продукта:
|
||||
|
||||
1. **Чистый спутник или гибрид?**
|
||||
Хочешь видеть просто снимки из космоса, или чтобы дороги и подписи тоже отображались поверх?
|
||||
|
||||
2. **Приоритет качества vs скорости**
|
||||
Готов ли жертвовать скоростью загрузки ради более детальных снимков (или наоборот)?
|
||||
|
||||
3. **Интеграция с terrain**
|
||||
При включении спутника terrain должен автоматически выключаться, или оставаться (и тогда гипсометрия будет «накладываться» на спутник)?
|
||||
|
||||
4. **Яндекс или ESRI?**
|
||||
Есть ли сильное предпочтение по источнику (российский vs международный)?
|
||||
|
||||
5. **Тёмный режим для спутника**
|
||||
Нужна ли «ночная» версия спутника, или достаточно текущей?
|
||||
|
||||
---
|
||||
|
||||
## Результат работы Analyst'а
|
||||
|
||||
1. **BRD_SATELLITE_MODE.md** (обновлённый, с заполненными разделами)
|
||||
2. **Рекомендация** по источнику + архитектуре (с обоснованием)
|
||||
3. **Список открытых вопросов** с предлагаемыми вариантами ответов
|
||||
4. (Опционально) Ссылки на примеры реализации в других проектах
|
||||
|
||||
---
|
||||
|
||||
## Следующие шаги (после анализа)
|
||||
|
||||
1. Согласование BRD со Славой
|
||||
2. Создание DEV_TASK (Architect + Developer)
|
||||
3. Реализация переключателя и интеграция с terrain
|
||||
4. Тестирование (в т.ч. на мобильных устройствах)
|
||||
5. Деплой
|
||||
|
||||
---
|
||||
|
||||
## Примечания
|
||||
|
||||
- Спутниковый режим не отменяет текущую векторную карту — это дополнительная опция.
|
||||
- Кнопка 🏔️ (рельеф) должна продолжать работать в обоих режимах.
|
||||
- При переключении на спутник маршруты и POI должны оставаться видимыми (или с возможностью скрыть).
|
||||
Reference in New Issue
Block a user