added fresnel zone
This commit is contained in:
@@ -246,6 +246,8 @@ curl -s -X POST http://localhost:5603/api/v1/terrain/los \
|
||||
"clearance_m": 11.28,
|
||||
"fresnel_radius_m": 11.9,
|
||||
"required_clearance_m": 7.14,
|
||||
"fresnel_upper_60pct_m": 36.84,
|
||||
"fresnel_upper_100pct_m": 41.6,
|
||||
"fresnel_lower_60pct_m": 22.56,
|
||||
"fresnel_lower_100pct_m": 17.8,
|
||||
"type": "terrain"
|
||||
@@ -257,8 +259,8 @@ curl -s -X POST http://localhost:5603/api/v1/terrain/los \
|
||||
- `distance_m` по X.
|
||||
- `surface_m` как земля/DSM.
|
||||
- `path_height_m` как прямая TX-RX.
|
||||
- `fresnel_lower_60pct_m` как нижняя граница требуемой свободной зоны.
|
||||
- `fresnel_lower_100pct_m` как нижняя граница полной первой зоны Френеля.
|
||||
- `fresnel_lower_60pct_m` и `fresnel_upper_60pct_m` как требуемая свободная зона.
|
||||
- `fresnel_lower_100pct_m` и `fresnel_upper_100pct_m` как полная первая зона Френеля.
|
||||
- точки, где `clearance_m < required_clearance_m`, подсветить как нарушения.
|
||||
|
||||
## Buildings
|
||||
|
||||
Binary file not shown.
@@ -70,6 +70,8 @@ class FresnelProfileSample(BaseModel):
|
||||
clearance_m: float
|
||||
fresnel_radius_m: float
|
||||
required_clearance_m: float
|
||||
fresnel_upper_60pct_m: float
|
||||
fresnel_upper_100pct_m: float
|
||||
fresnel_lower_60pct_m: float
|
||||
fresnel_lower_100pct_m: float
|
||||
type: Literal["terrain", "building", "canopy"]
|
||||
|
||||
Binary file not shown.
@@ -130,6 +130,8 @@ def los(
|
||||
clearance_m=sample.clearance_m,
|
||||
fresnel_radius_m=sample.fresnel_radius_m,
|
||||
required_clearance_m=sample.required_clearance_m,
|
||||
fresnel_upper_60pct_m=sample.path_height_m + sample.required_clearance_m,
|
||||
fresnel_upper_100pct_m=sample.path_height_m + sample.fresnel_radius_m,
|
||||
fresnel_lower_60pct_m=sample.path_height_m - sample.required_clearance_m,
|
||||
fresnel_lower_100pct_m=sample.path_height_m - sample.fresnel_radius_m,
|
||||
type=sample.obstruction_type,
|
||||
|
||||
Binary file not shown.
@@ -86,6 +86,8 @@ def test_los_endpoint_returns_obstruction_summary_fields() -> None:
|
||||
"path_height_m",
|
||||
"fresnel_radius_m",
|
||||
"required_clearance_m",
|
||||
"fresnel_upper_60pct_m",
|
||||
"fresnel_upper_100pct_m",
|
||||
"fresnel_lower_60pct_m",
|
||||
"fresnel_lower_100pct_m",
|
||||
}.issubset(data["fresnel_profile"][0])
|
||||
|
||||
Reference in New Issue
Block a user