No description
Find a file
2025-12-12 15:34:27 +05:00
Docs Start point for first iteration 2025-12-10 16:48:19 +05:00
gnss Cutt maps for tiles. Clean project architecture 2025-12-12 15:34:27 +05:00
.gitignore gitignore 2025-12-11 13:43:15 +05:00
poetry.lock Cutt maps for tiles. Clean project architecture 2025-12-12 15:34:27 +05:00
pyproject.toml Cutt maps for tiles. Clean project architecture 2025-12-12 15:34:27 +05:00
README.md Cutt maps for tiles. Clean project architecture 2025-12-12 15:34:27 +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
  • Тайлы ожидаются по пути 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) по умолчанию.

Ключевые зависимости

  • fastapi — REST и WebSocket
  • uvicorn[standard] — ASGI-сервер
  • pyserial — чтение GNSS по последовательному порту
  • pynmea2 — парсинг NMEA
  • python-dateutil — работа с временем/таймзонами