added vegetation

This commit is contained in:
2026-06-23 15:31:40 +03:00
parent c7435955c3
commit b230f7277c
9 changed files with 101 additions and 2 deletions
+31
View File
@@ -199,6 +199,7 @@ curl -s -X POST http://localhost:5603/api/v1/terrain/los \
geometric_obstructions_count,
building_obstructions_count,
worst_obstruction,
fresnel_profile: .fresnel_profile[0:3],
diffraction_loss_db,
vegetation_loss_db
}'
@@ -211,6 +212,7 @@ curl -s -X POST http://localhost:5603/api/v1/terrain/los \
- `first_fresnel_clearance_pct`: минимальный процент доступного просвета относительно требуемого `fresnel_clearance * F1`.
- `obstructions`: все точки, где `clearance_m < required_clearance_m`.
- `geometric_obstructions`: только точки, где `clearance_m < 0`.
- `fresnel_profile`: полный профиль по всем `samples` для построения графика зоны Френеля.
- `fresnel_violations_count`: количество нарушений зоны Френеля.
- `geometric_obstructions_count`: количество геометрических пересечений.
- `building_obstructions_count`: количество геометрических препятствий типа `building`.
@@ -230,6 +232,35 @@ curl -s -X POST http://localhost:5603/api/v1/terrain/los \
}
```
Поля `fresnel_profile` для графика:
```json
{
"i": 12,
"lat": 59.93623,
"lon": 30.30746,
"distance_m": 312.5,
"surface_m": 18.4,
"path_height_m": 29.7,
"obstacle_height_m": 18.42,
"clearance_m": 11.28,
"fresnel_radius_m": 11.9,
"required_clearance_m": 7.14,
"fresnel_lower_60pct_m": 22.56,
"fresnel_lower_100pct_m": 17.8,
"type": "terrain"
}
```
Для отрисовки профиля обычно достаточно:
- `distance_m` по X.
- `surface_m` как земля/DSM.
- `path_height_m` как прямая TX-RX.
- `fresnel_lower_60pct_m` как нижняя граница требуемой свободной зоны.
- `fresnel_lower_100pct_m` как нижняя граница полной первой зоны Френеля.
- точки, где `clearance_m < required_clearance_m`, подсветить как нарушения.
## Buildings
### `POST /api/v1/buildings/query`