added vegetation

This commit is contained in:
2026-06-23 13:57:33 +03:00
parent 0c9fc22d22
commit c7435955c3
32 changed files with 336 additions and 15 deletions
+6 -3
View File
@@ -2,18 +2,19 @@ from typing import Literal
from pydantic import BaseModel, Field
from app.models.common import AntennaPoint, GeoJSON, Point, SurfaceKind
from app.models.common import AntennaPoint, DataSources, GeoJSON, Point, SurfaceKind
class ElevationResponse(Point):
elevation_m: float
surface: SurfaceKind
data_sources: DataSources = Field(default_factory=DataSources)
class TerrainProfileRequest(BaseModel):
start: Point
end: Point
samples: int = Field(default=512, ge=2, le=10000)
samples: int = Field(default=512, ge=2, le=2048)
include_buildings: bool = True
include_canopy: bool = True
k_factor: float = Field(default=1.333, gt=0)
@@ -35,6 +36,7 @@ class TerrainProfileResponse(BaseModel):
distance_m: float
samples: list[ProfileSample]
path_geojson: GeoJSON
data_sources: DataSources = Field(default_factory=DataSources)
class LosRequest(BaseModel):
@@ -46,7 +48,7 @@ class LosRequest(BaseModel):
include_canopy: bool = True
include_vegetation: bool = True
k_factor: float = Field(default=1.333, gt=0)
samples: int = Field(default=512, ge=2, le=10000)
samples: int = Field(default=512, ge=2, le=2048)
class Obstruction(BaseModel):
@@ -69,4 +71,5 @@ class LosResponse(BaseModel):
building_obstructions_count: int
diffraction_loss_db: float
vegetation_loss_db: float
data_sources: DataSources = Field(default_factory=DataSources)
profile_ref: str