Files
RadioPropagationApi/README.md
T
2026-06-23 09:32:36 +03:00

1.5 KiB

RF Propagation API

HTTP API for radio visibility, terrain profiles, Fresnel/LOS checks, link budget, viewshed, and coverage calculations.

This repository follows SPEC.md. The first implementation pass creates the full service skeleton, pure RF/math kernels, and Copernicus DEM sampling. Integrations that require PostGIS data, pycraf, ITM/P.1812, landcover/canopy rasters, or external viewshed binaries are exposed through stable interfaces and return explicit "not implemented" responses until the corresponding data pipeline is connected.

Layout

  • api/ - FastAPI service, core calculations, service orchestration, tests.
  • scripts/ - data bootstrap/import entry points.
  • data/ - mounted data volume for DEM, landcover, and canopy rasters.
  • docker-compose.yml - local stack with API, worker, Redis, PostGIS, optional tiler.

Quick Start

cp .env.example .env
docker compose up --build api redis postgis

The API is served at http://localhost:8000, with OpenAPI docs at /docs.

DEM Bootstrap

Download Copernicus DEM GLO-30 COG tiles for Saint Petersburg and Leningrad Oblast:

python scripts/bootstrap_dem.py --bbox 27.3,58.4,35.8,61.4 --output-dir data/dem
docker compose restart api worker

The API samples all .tif/.tiff files under DEM_PATH recursively. In Docker, the default DEM_PATH=/data/dem points to the mounted ./data/dem directory.

For local Python development:

cd api
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python -m pytest
python -m ruff check .