gnss/README.md

23 lines
1.4 KiB
Markdown
Raw Normal View History

2025-12-10 16:48:19 +05:00
# GNSS Backend (FastAPI + WebSocket)
## Установка
- Убедитесь, что установлен Python 3.11+ и Poetry.
- Выполните `poetry install` (ставит зависимости и проект как пакет `gnss`).
## Запуск
- `poetry run uvicorn gnss.main:app --host 0.0.0.0 --port 8000`
2025-12-10 16:48:19 +05:00
- Тайлы ожидаются по пути `gnss/tiles/{zoom}/{x}/{y}.png` (можно положить заглушку `placeholder.png` в эту же директорию).
- API для нарезки: `POST /tiles/slice` с JSON `{ "source": "/path/input.tif", "destination": "/path/to/tiles", "min_zoom": 10, "max_zoom": 16 }`.
## Нарезка тайлов (GDAL)
- Требуется установленный `gdal2tiles` (например, пакет `gdal-bin` в apt).
- Нарезка через API `POST /tiles/slice` или вызов сервиса `TileService.slice_to_tiles` (внутри backend).
- Поддерживаются входы, которые понимает GDAL (GeoTIFF, JPEG, MBTiles и др.). Нарезка идёт в профиле Web Mercator (XYZ) по умолчанию.
2025-12-10 16:48:19 +05:00
## Ключевые зависимости
- fastapi — REST и WebSocket
- uvicorn[standard] — ASGI-сервер
- pyserial — чтение GNSS по последовательному порту
- pynmea2 — парсинг NMEA
- python-dateutil — работа с временем/таймзонами