# 综合统计界面设计说明 ## 定位 综合统计页定位为 **InSAR 数据与生产统计**,不是营销式展示大屏,也不再使用“生产态势驾驶舱”命名。 页面面向系统运维、生产管理和汇报前复核,核心目标是用可追溯统计口径回答: - 当前 LT-1、Sentinel-1、GF3 源数据底座是否齐备。 - 元数据解析、几何画像、预览缓存和精轨保障是否支撑生产。 - D-InSAR / SBAS 任务规划、生产运行和成果登记是否稳定。 - 当前是否存在需要处理的资产、生产或成果问题。 综合统计必须以后端聚合口径为准,不能复用影像检索页的分页结果。影像检索或资产列表中的“一键显示”只代表当前检索结果或当前页可见数据,不代表全库统计。 ## 当前实现 前端页面:`frontend/src/StatisticsDashboard.jsx` 前端样式:`frontend/src/App.css` 后端接口:`GET /api/statistics/dashboard` 页面不自动轮询,只提供手动刷新,避免统计聚合影响生产服务。 ## 页面结构 1. 顶部 KPI:源数据、几何画像、精轨绑定、生产任务、成果和问题的核心计数。 2. 市级覆盖热力:分为源数据覆盖和成果覆盖两个视图,按场景或成果中心点落入的市级行政区统计数量。 3. 数据底座与生产链路:展示源资产登记、元数据、几何画像、可生产画像、预览缓存等链路状态。 4. 时间分布与精轨保障:展示源数据月份分布、精轨资产和精轨绑定覆盖率。 5. 生产与成果:展示 D-InSAR / SBAS 运行状态、成果趋势、开放问题和最近任务状态。 ## 统计口径 ### 源数据资产 主口径使用 `source_product_assets`。 当前系统约定: - LT-1 管理源压缩包,扫描时从压缩包内提取 XML、预览和几何信息,参与生产时再按需解包到 `Task_Pool`。 - Sentinel-1 管理源压缩包,扫描时从 SAFE zip 内提取 manifest、annotation、preview 和几何信息,参与生产时再按需解包。 - GF3 管理外部服务器生产后的 `native_geo` 成果和快视图资产,本机负责登记、WebP 缓存和后续成果管理。 展示内容: - 源数据资产总量。 - LT-1 / Sentinel-1 / GF3 分类数量。 - 元数据文档提取率。 - 几何画像可用率。 - 源资产按月份分布。 - 入库到可生产链路:源资产登记、元数据入库、几何画像、可生产画像、预览缓存。 ### 市级覆盖热力 空间覆盖不能只统计三类源数据,也必须统计生产后的结果产品。两类对象分开展示,不混算。 #### 源数据覆盖 主口径使用 `sar_scene_geometry_profiles`: - 使用 `scene_center_lon` / `scene_center_lat` 落入市级行政区的数量。 - 统计对象包括 LT-1、Sentinel-1、GF3 三类源数据。 - tooltip 展示市级单位、源数据总数和数据源构成。 #### 成果覆盖 主口径使用 `result_products`: - 使用 `coverage_polygon` 或 bbox 中心点落入市级行政区的数量。 - 统计对象包括已登记的 D-InSAR、SBAS 等结果产品,按 `catalog_name` 区分。 - tooltip 展示市级单位、成果总数和成果类型构成。 当前实现不是经纬度散点图,也不是经纬度格网,而是后端按行政区聚合,前端用 ECharts Map 分级设色: - 页面在“源数据市级覆盖热力”和“成果市级覆盖热力”之间切换。 - 不显示笛卡尔经纬度坐标轴。 - 每个市级行政区按源数据景数或成果项数确定填充颜色。 - 行政区边界来自系统现有全国行政区 GeoJSON/AOI 服务。 必须明确的限制: - 当前热力图统计的是中心点落区数量,不等同于真实场景 footprint 覆盖面积。 - 结果产品当前按 coverage polygon 或 bbox 中心点落区,不等同于真实有效像元面积。 - 当前热力图用于工程态势判断,不能直接作为正式面积统计、行政区覆盖率或成果质量评价结论。 - 正式覆盖率需要进一步接入行政边界、AOI 或真实有效像元 mask。 ### 精轨保障 主口径使用 `orbit_assets` 和 `scene_orbit_bindings`。 展示内容: - 精轨资产总数。 - LT-1 / Sentinel-1 精轨分类。 - 已选中精轨绑定数。 - 精轨绑定覆盖率。 生产约束: - 统计页只展示精轨资产和绑定情况,不负责推断具体生产引擎如何取轨。 - 具体生产取轨逻辑以 `PRECISE_ORBIT_PRODUCTION_CONTRACT_20260617.md` 为准。 ### 生产运行 主口径使用: - `dinsar_task_batches` - `dinsar_task_items` - `dinsar_production_runs` - `workflow_runs` 展示内容: - D-InSAR 任务规划状态。 - D-InSAR 生产运行状态。 - 最近生产批次。 - 平均运行耗时。 ### 成果与问题 主口径使用: - `result_products` - `result_assets` - `result_issues` - `asset_inventory_issues` - `asset_inventory_states` 展示内容: - D-InSAR / SBAS 成果数量。 - 成果按月份趋势。 - 成果预览和缺失资产统计。 - 开放问题按类型分布。 - 最近扫描状态。 ## 视觉原则 - 使用工程统计页面语义,不使用“驾驶舱”作为默认标题。 - 页面保持浅色工程管理风格,避免深色大屏、装饰化背景和无法解释的数据可视化。 - 市级覆盖热力图可以作为首屏主要图表,但必须服务于生产判断:哪些市源数据集中、哪些市已有成果、哪些市缺数据或缺成果。 - 图表文案必须写清统计口径,避免把中心点落区数量误读为正式面积覆盖。 - 不引入 Three.js;统计页优先保证真实数据、稳定性能和可追溯口径。 ## 后续增强 优先级从高到低: 1. 扫描阶段固化 `corner_pixel_mapping`、有序角点和 footprint 质量标识,保证覆盖边界可追溯。 2. 结果登记阶段固化成果有效像元范围,区分产品 bbox、footprint 和有效数据 mask。 3. 增加省份/项目区筛选,支持只看黑龙江省或指定业务区。 4. 增加按数据源、结果类型、时间窗口、产品可生产性、精轨绑定状态的筛选。 5. 增加图表 drill-down,点击统计单元可跳转到资产台账、影像检索或成果列表。 6. 如果后续需要汇报模式,只做布局适配,不改变统计口径。 ## 变更记录 - 2026-06-23:覆盖图升级为市级行政区热力统计,按中心点落入市级单位计数,分离“源数据覆盖”和“成果覆盖”。 - 2026-06-23:覆盖图曾短暂使用后端格网热力统计,因展示效果不适合综合统计页,调整为市级行政区分级设色。 - 2026-06-23:页面命名调整为“InSAR 数据与生产统计”;覆盖图从经纬度散点调整为空间覆盖密度图;文档明确当前图不等同于正式面积统计。 - 2026-06-22:综合统计从影像检索弹窗提升为一级页面,统计口径独立于检索分页结果。