Files
insar-management-system-v2/docs/STATISTICS_DASHBOARD_DESIGN.md

6.8 KiB
Raw Permalink Blame History

综合统计界面设计说明

定位

综合统计页定位为 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_assetsscene_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:综合统计从影像检索弹窗提升为一级页面,统计口径独立于检索分页结果。