gnss/README.md

1.9 KiB
Raw Blame History

GNSS Backend (FastAPI + WebSocket)

Установка

  • Убедитесь, что установлен Python 3.13+ и 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 всего проекта можно изучить при переходе по адресу localhost:8000/docs или localhost:8000/redoc

Нарезка тайлов (GDAL)

  • Требуется установленный gdal2tiles (например, пакет gdal-bin в apt).
  • Нарезка через API POST /tiles/slice или вызов сервиса TileService.slice_to_tiles (внутри backend).
  • Поддерживаются входы, которые понимает GDAL (GeoTIFF, JPEG, MBTiles и др.). Нарезка идёт в профиле Web Mercator (XYZ) по умолчанию.

Фронтенд

  • В frontend лежит Tauri/React приложение для проверки бекенда (карта Leaflet, WebSocket трек, форма для запуска нарезки тайлов).
  • Запуск: cd frontend && pnpm install && pnpm dev (или pnpm tauri dev при установленном Rust/Tauri). Бекенд должен слушать http://localhost:8000.

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

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