Files
WQ_GUI/README_SAMPLING_MAP.md
2026-04-08 15:25:08 +08:00

3.3 KiB
Raw Blame History

采样点地图功能使用说明

功能概述

本系统新增了采样点地图生成功能,可以在高光谱假彩色影像上标注采样点位置,并添加专业的地图要素。

主要功能

1. SamplingPointMap 类 (src/postprocessing/point_map.py)

核心功能:

  • 读取高光谱影像并生成假彩色RGB图像
  • 读取CSV文件中的采样点坐标前两列为纬度、经度
  • 在影像上标注红色采样点
  • 添加指北针比例尺图例
  • 支持地理坐标转换

2. Visualization Reports 集成 (src/postprocessing/visualization_reports.py)

新增方法:

  • generate_sampling_point_map():生成采样点地图
  • generate_all_visualizations():生成所有可视化结果

3. GUI 集成 (src/gui/water_quality_gui.py)

可视化分析页面新增:

  • 复选框:"生成采样点地图"
  • 按钮:"📍 生成采样点地图"
  • 按钮:"👁️ 查看采样点地图"

使用方法

1. 通过GUI使用

  1. 打开可视化分析页面
  2. 勾选"生成采样点地图"
  3. 点击"📍 生成采样点地图"按钮
  4. 系统会自动:
    • 查找高光谱影像文件(.dat, .bsq, .tif等
    • 查找 4_processed_data 文件夹中的CSV文件
    • 生成带采样点的地图
    • 保存至 9_visualization/sampling_maps/ 目录

2. 编程调用

from src.postprocessing.point_map import SamplingPointMap
from src.postprocessing.visualization_reports import WaterQualityVisualization

# 方法1直接使用SamplingPointMap
map_generator = SamplingPointMap(output_dir="./point_maps")
map_path = map_generator.create_sampling_point_map(
    hyperspectral_path="path/to/hyperspectral.dat",
    csv_path="path/to/sampling_points.csv",
    point_color='red',
    point_size=100,
    show_north_arrow=True,
    show_scale_bar=True,
    show_legend=True
)

# 方法2通过VisualizationReports
viz = WaterQualityVisualization(output_dir="./9_visualization")
map_path = viz.generate_sampling_point_map(
    hyperspectral_path="path/to/hyperspectral.dat",
    csv_path="path/to/sampling_points.csv"
)

# 方法3生成所有可视化
results = viz.generate_all_visualizations(work_dir="./work_dir")

CSV文件格式要求

CSV文件必须满足以下格式

  • 前两列分别为纬度经度
  • 使用逗号分隔
  • 必须包含有效的数值

示例:

latitude,longitude,parameter1,parameter2
31.2345,121.4567,25.5,3.2
31.2350,121.4570,26.1,3.5
31.2360,121.4580,24.8,2.9

输出目录结构

work_dir/
├── 1_water_mask/
│   └── hsi_preview.png              # 高光谱预览图
├── 4_processed_data/
│   └── processed_data.csv           # 处理后的数据
├── 9_visualization/
│   ├── glint_deglint_previews/      # 掩膜和耀斑缩略图
│   └── sampling_maps/               # 采样点地图
│       └── hyperspectral_sampling_map.png
└── ...

地图要素

  • 红色圆点:采样点位置
  • 指北针:指示北方
  • 比例尺:显示实际距离
  • 图例:说明采样点数量
  • 标题:清晰的地图标题

依赖库

  • GDAL (地理坐标转换)
  • matplotlib (绘图)
  • pandas (CSV处理)
  • numpy (数值计算)

注意确保工作目录中包含高光谱影像文件和处理后的CSV文件。