11 KiB
Sentinel-1 系统增强总纲
日期:2026-05-10
本文作为 Sentinel-1 增强工作的主维护文档。后续如果继续推进 Sentinel-1 数据管理、D-InSAR 配对、Gamma/PyINT 生产和结果归档,优先维护本文;更细的调研材料保留为参考:
- SENTINEL1_DATA_MANAGEMENT_ADAPTATION_PLAN_20260510.md
- SENTINEL1_DINSAR_GAMMA_ISCE2_FEASIBILITY_20260510.md
1. 总体目标
让当前系统能够管理 Sentinel-1 数据,并把 Sentinel-1 D-InSAR 生产纳入现有生产管理和结果管理体系。
推荐边界是:
- 系统负责数据管理、元数据解析、精轨匹配、配对、任务分发、生产调度、日志、结果归档和前端展示。
- Gamma + PyINT 负责 Sentinel-1 D-InSAR 的处理内核,包括 SLC 导入、burst 裁剪、TOPS 配准、差分干涉、解缠和地理编码。
- ISCE2 Sentinel-1 TOPS 作为后续可选 profile,不作为第一阶段主线。
第一阶段不要求系统自己实现 SAR 核心算法,也不要求配对阶段计算真实垂直基线。
2. 总体架构
建议新增一条独立 Sentinel-1 Gamma 生产链:
Sentinel-1 数据池
-> 数据扫描与元数据入库
-> EOF 精轨管理与匹配
-> D-InSAR 轻量配对
-> 任务批次保存
-> Task 目录分发
-> s1_gamma_dinsar profile
-> PyINT + Gamma 处理
-> 结果扫描与 catalog 发布
-> 生产管理 / 结果管理前端展示
关键原则:
- Sentinel-1 不混进 LT-1 专用的
lt1_gamma_dinsar或lt1_stripmap。 - 新增
s1_gamma_dinsarprofile 作为第一阶段生产入口。 - 真实
perpendicular_baseline_meters由 Gamma/PyINT 在生成 SLC/RSLC 后计算或回填。 - footprint 质心距离只能叫
centroid_distance_meters,不能再叫空间基线。
3. 数据管理
3.1 支持的数据形态
第一阶段建议以 Sentinel-1 SLC ZIP 为生产标准输入。
系统可以管理两类形态:
.SAFE目录:适合浏览、入库、解析元数据。.zip原始产品:适合 PyINT/Gamma 生产分发。
如果数据池只有 .SAFE 目录,也可以入库和配对;但进入 PyINT/Gamma 生产时,建议要求关联原始 ZIP。原因是 D:\Code\PyINT 的 Sentinel-1 脚本默认从 DOWNLOAD/S1*.zip 发现和导入数据。
3.2 元数据解析
文件名可以提供粗信息:
S1A/S1BIW/EW/SMSLC- 极化组合,例如
DV、DH、SV、SH - 起止时间
- absolute orbit
- datatake id / product id
可靠配对还需要从 manifest.safe 或 annotation XML 中解析:
- relative orbit
- 升降轨方向
- footprint
- swath / burst 相关信息
- 更完整的极化和产品结构
建议采用“关键列 + JSON 扩展”的模型。关键列服务检索、筛选和配对;JSON 保存 Sentinel-1 专有细节,避免一开始改出大量窄字段。
3.3 精轨管理
Sentinel-1 EOF 不走 LT-1 的精轨转换链路。
建议新增 Sentinel-1 EOF 管理逻辑:
- 扫描
.EOF文件。 - 解析 mission、validity start、validity stop、generation time。
- 按影像 acquisition time 匹配覆盖该时段的 EOF。
- 允许把匹配到的 EOF 复制到 Task 目录。
- PyINT runner 将 EOF 目录作为
OPOD_DIR暴露给 PyINT/GAMMA。
这样可以避免生产时临时联网下载精轨,也便于任务复现。
4. D-InSAR 配对
Sentinel-1 配对适合嵌入现有 D-InSAR 配对体系,但应使用独立策略:
sentinel1_dinsar_pairing
第一阶段配对只做轻量预筛选:
- 同一卫星族:
S1A/S1B可以互配,不按字面同卫星硬卡死。 - 同一成像模式:优先只支持
IW。 - 同一产品类型:优先只支持
SLC。 - 同一升降轨方向。
- 同一 relative orbit。
- 极化兼容,例如
VV对VV。 - footprint 重叠率达到阈值。
- 时间基线不超过阈值。
- master/slave 都能匹配 EOF。
不在配对阶段强制完成:
- 真实垂直基线计算。
- burst 级精确公共覆盖计算。
- TOPS 配准质量判断。
- 解缠可行性判断。
这些应交给 Gamma/PyINT 的处理链路完成。配对阶段只负责筛出大概率可跑的候选对。
5. 任务分发
Sentinel-1 D-InSAR 任务分发需要输出一个可复现的 Task 目录。
建议包含:
Task/
manifest.json
pair.json
input/
master/
<S1 master zip or SAFE>
slave/
<S1 slave zip or SAFE>
orbit/
<matched EOF files>
dem/
<optional dem reference or config>
pyint/
<project>.template
分发开关建议:
- 是否复制 EOF 到 Task 目录。
- 是否输出 ZIP 压缩包。
- 是否保留中间 SLC/RSLC 产物。
- 是否只发布核心结果。
如果生产目标是 PyINT/Gamma,Task 到 PyINT scratch 目录之间可以由 runner 再做一次结构化投放,把 master/slave ZIP 放入:
$SCRATCHDIR/<project>/DOWNLOAD/
6. Gamma/PyINT 生产
第一阶段新增 profile:
s1_gamma_dinsar
它应独立于当前 lt1_gamma_dinsar。
推荐 runner 行为:
- 读取 Task manifest 和 pair 信息。
- 创建 PyINT project 目录。
- 复制或链接 master/slave Sentinel-1 ZIP 到
DOWNLOAD/。 - 准备 EOF / OPOD 目录。
- 写入 PyINT template。
- 调用 Sentinel-1 PyINT 脚本链。
- 收集每一步日志和退出码。
- 扫描输出产物并发布到系统结果 catalog。
可复用的 D:\Code\PyINT Sentinel-1 脚本包括:
pyint/down2slc_sen.pypyint/down2slc_sen_all.pypyint/extract_s1_bursts.pypyint/coreg_s1_gamma.pypyint/raw2ifg_s1.pypyint/select_pairs.py
生产系统不建议直接无控制地调用完整 app,而应显式控制步骤、日志、失败原因和产物发布。
7. 结果管理
PyINT/Gamma 生产结束后,系统负责结果归档。
第一阶段建议发布:
- pair manifest
- PyINT template
- 全量日志
- preflight 报告
- SLC/RSLC 生成状态
- 共同 burst 检查结果
- interferogram
- coherence
- unwrapped phase
- geocoded result
- quicklook
- 真实
perpendicular_baseline_meters
结果管理应复用现有生产结果 catalog,不新建一套孤立页面。前端仍然从生产管理和结果管理入口查看,只是引擎 profile 显示为 s1_gamma_dinsar。
8. 前端入口
前端需要在现有页面中增强,而不是新增一个割裂的 Sentinel-1 子系统。
建议改动范围:
- 数据管理页面支持 Sentinel-1 过滤、详情和 EOF 匹配状态。
- 配对页面新增 Sentinel-1 策略和参数。
- 配对结果中显示 relative orbit、升降轨、极化、时间基线、重叠率和 EOF 状态。
- 生产管理中支持
s1_gamma_dinsarprofile。 - 任务分发 UI 中增加 EOF 复制和 ZIP 导出开关。
- 结果详情中显示 PyINT/Gamma 日志、核心产物和真实垂直基线。
第一阶段不需要让用户配置所有 PyINT template 字段。可以只暴露少量参数,其余使用系统默认值。
9. 数据库和自检
本系统有数据库自维护和系统自检机制,Sentinel-1 增强必须纳入这两部分。
需要评估的数据库变更:
- Sentinel-1 关键元数据字段是否已有通用列可复用。
- relative orbit、acquisition start/stop、source archive path、orbit match status 是否需要新增列。
- Sentinel-1 专有元数据是否放入 JSON 扩展字段。
- pairing cache 是否需要保存
centroid_distance_meters与perpendicular_baseline_meters的区分。 - 生产结果 catalog 是否需要新增 engine profile 或产品类型枚举。
自检需要增加:
- Sentinel-1 数据根目录是否存在。
- EOF 根目录是否存在。
- Sentinel-1 解析器是否可用。
s1_gamma_dinsarprofile 是否启用。- PyINT 路径是否存在。
- GAMMA 环境是否可用。
eof工具是否可用。- 关键 GAMMA/PyINT 命令是否可调用。
- DEM 配置是否完整。
任何 schema 改动都必须同步数据库自维护逻辑,避免启动时 schema check 报错。
10. 分阶段实施
阶段 1:数据管理和配对
目标:
- Sentinel-1 SAFE / ZIP 可扫描入库。
- 基础元数据和 footprint 可解析。
- EOF 可扫描、匹配和显示。
- Sentinel-1 配对可生成候选对。
- 配对不进入生产也能保存批次。
验收:
- 同一 relative orbit 的 S1 数据能被正确筛出。
- 不同方向、不同 relative orbit、不同模式的数据不会误配。
- footprint 重叠率和时间基线显示正确。
- EOF 状态清晰可见。
阶段 2:任务分发
目标:
- Sentinel-1 pair 可分发为 Task 目录。
- 可选复制 EOF。
- 可选导出 ZIP。
- manifest 可复现输入数据和参数。
验收:
- Task 目录包含 master/slave、EOF、pair manifest、profile 参数。
- ZIP 导出可直接交给生产或转移归档。
阶段 3:Gamma/PyINT 生产
目标:
- 新增
s1_gamma_dinsarprofile。 - 托管调用 PyINT/Gamma 完成单对 Sentinel-1 D-InSAR。
- 生产日志进入系统。
验收:
- 至少一对 Sentinel-1 SLC ZIP 能跑通到 geocoded 结果。
- 失败时能看到明确步骤和原因。
- 真实垂直基线可以回填或记录。
阶段 4:结果管理
目标:
- PyINT/Gamma 产物进入现有结果 catalog。
- 前端可以查看日志、manifest、quicklook 和核心产物。
验收:
- 用户不需要进入 PyINT 工作目录即可查看结果。
- 结果与 pair、task、engine profile 可追踪。
阶段 5:ISCE2 Sentinel-1 可选增强
目标:
- 新增
s1_topsprofile。 - 使用 ISCE2
topsApp.py或 topsStack。 - 与 Gamma 路线共享数据管理和 EOF 管理。
验收:
- 不污染现有 LT-1
lt1_stripmaprunner。 - Sentinel-1 TOPS 生产有独立健康检查、日志和结果发布。
11. 主要风险
- 数据池只保留
.SAFE,没有原始 ZIP,会增加 PyINT/Gamma 接入复杂度。 - EOF 匹配不稳定会导致生产不可复现。
- Sentinel-1 annotation XML 解析不完整会影响 relative orbit、方向和 footprint。
- 中间产物体积大,SLC/RSLC 保留策略要可配置。
- PyINT 专家代码可用,但生产系统仍要做日志、失败分类和输出扫描。
- ISCE2 Sentinel-1 虽然可行,但当前系统没有 tops profile,不能当作低成本改动。
12. 当前推荐决策
建议确认以下产品决策后再进入代码实现:
- Sentinel-1 生产第一阶段要求保留原始 SLC ZIP。
- 配对策略命名为
sentinel1_dinsar_pairing。 - 生产 profile 命名为
s1_gamma_dinsar。 - 第一阶段只支持
IW + SLC + 同 relative orbit + 同方向 + 兼容极化。 centroid_distance_meters与perpendicular_baseline_meters严格区分。- 真实垂直基线由 Gamma/PyINT 处理后回填。
- ISCE2 Sentinel-1 TOPS 放到第二阶段。
这套边界可以把系统改造控制在数据管理、配对、分发、生产托管和结果管理范围内,把 SAR 处理精度交给 Gamma/PyINT,避免在配对阶段过度复杂化。