Integrate SBAS workflows and redesign task center
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Gamma SBAS 0 速率无效值与结果展示设计
|
||||
|
||||
## 当前口径
|
||||
|
||||
专家 Gamma SBAS 核心速率产品:
|
||||
|
||||
- `publish/geotiff/geo_los_def_rate.tif`
|
||||
- 原始单位按专家命令解释为 `m/yr`
|
||||
- 前端展示统一换算为 `mm/yr`
|
||||
|
||||
当前处理口径按用户确认执行:`0` 速率按无效值处理。
|
||||
|
||||
原因是当前 GeoTIFF 的覆盖区外和部分背景区域都可能被写为 0;在没有专家显式稳定区 mask 或质量 mask 前,把 0 解释为稳定值会把背景大量纳入统计,导致 P05/P50/P95 等摘要失真。因此本阶段先按无效值处理 0,后续若专家确认稳定区 mask,再调整。
|
||||
|
||||
## 有效性规则
|
||||
|
||||
1. 有效像元必须位于专家 RGB 覆盖区内。
|
||||
2. 有效像元必须是有限值:不是 `NaN`、`Inf`、`-Inf`。
|
||||
3. 有效像元必须满足 `geo_los_def_rate != 0`。
|
||||
4. `0` 不参与统计、不参与纯速率图渲染,显示为透明背景。
|
||||
5. GeoTIFF 元数据 `nodata=0.0` 与当前口径一致,但后端仍显式记录该规则,避免前端误解。
|
||||
|
||||
## 后端实现
|
||||
|
||||
### `_build_expert_gamma_primary_geotiff_stats`
|
||||
|
||||
- 使用 `masked=False` 读取速率,避免 Rasterio 隐式规则不可见。
|
||||
- 使用 `geo_los_def_rate_rgb.tif` 非黑像元推断专家覆盖区。
|
||||
- 有效条件:`coverage & finite & (value != 0.0)`。
|
||||
- 输出字段:
|
||||
- `zero_is_valid: false`
|
||||
- `validity_rule: "expert_rgb_coverage_finite_nonzero_values"`
|
||||
- `coverage_mask_source`
|
||||
- `zero_count`
|
||||
- `nonzero_count`
|
||||
- `metadata_nodata_applied: true`
|
||||
|
||||
### `_build_gamma_hls_rate_preview`
|
||||
|
||||
- 使用同一覆盖区规则;
|
||||
- `0` 速率透明;
|
||||
- 非零速率按 Gamma `hls.cm` 和专家固定范围 `[-0.08, 0.08] m/yr` 着色。
|
||||
|
||||
## 前端展示
|
||||
|
||||
1. `LOS 速率纯色图` 文案说明:
|
||||
- 由 `geo_los_def_rate.tif` 派生;
|
||||
- 不叠加强度图或底图;
|
||||
- 0 速率按无效值透明处理。
|
||||
2. 统计摘要显示:
|
||||
- `0 速率:按无效值处理`
|
||||
- `有效规则:专家覆盖区内有限非零值`
|
||||
|
||||
## 后续增强
|
||||
|
||||
1. 若专家提供显式有效 mask 或稳定区定义,可将本规则切换为“mask 内 0 稳定、mask 外 0 无效”。
|
||||
2. 多点时序、速率直方图、剖面线和质量图应基于同一有效性规则生成。
|
||||
3. 所有派生图必须标注规则来源,避免与专家原始计算产物混淆。
|
||||
|
||||
## 验证标准
|
||||
|
||||
1. 后端语法检查通过。
|
||||
2. 纯速率图非透明比例应接近非零有效像元比例。
|
||||
3. API 产品详情:
|
||||
- `zero_is_valid=false`
|
||||
- `validity_rule="expert_rgb_coverage_finite_nonzero_values"`
|
||||
- `valid_count == nonzero_count`
|
||||
4. 前端构建通过。
|
||||
Reference in New Issue
Block a user