Files
RadioPropagationApi/api/app/models/common.py
T
2026-06-23 09:13:51 +03:00

29 lines
621 B
Python

from typing import Any, Literal
from pydantic import BaseModel, Field
class Point(BaseModel):
lat: float = Field(ge=-90, le=90)
lon: float = Field(ge=-180, le=180)
class AntennaPoint(Point):
height_agl: float = Field(ge=0)
class TxPoint(AntennaPoint):
power_dbm: float | None = None
gain_dbi: float | None = None
frequency_mhz: float | None = Field(default=None, gt=0)
class RxPoint(AntennaPoint):
gain_dbi: float | None = None
sensitivity_dbm: float | None = None
GeoJSON = dict[str, Any]
SurfaceKind = Literal["dtm", "dsm"]
OutputFormat = Literal["geotiff", "png", "geojson"]