gnss/README.md

1.4 KiB
Raw Blame History

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 — работа с временем/таймзонами