Initial commit of WQ_GUI

This commit is contained in:
2026-04-08 15:25:08 +08:00
commit 91e36407ae
302 changed files with 40872 additions and 0 deletions

120
README_SAMPLING_MAP.md Normal file
View File

@ -0,0 +1,120 @@
# 采样点地图功能使用说明
## 功能概述
本系统新增了采样点地图生成功能,可以在高光谱假彩色影像上标注采样点位置,并添加专业的地图要素。
## 主要功能
### 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. 编程调用
```python
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文件必须满足以下格式
- **前两列**分别为**纬度**和**经度**
- 使用**逗号分隔**
- 必须包含有效的数值
**示例:**
```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文件。