121 lines
3.3 KiB
Markdown
121 lines
3.3 KiB
Markdown
# 采样点地图功能使用说明
|
||
|
||
## 功能概述
|
||
|
||
本系统新增了采样点地图生成功能,可以在高光谱假彩色影像上标注采样点位置,并添加专业的地图要素。
|
||
|
||
## 主要功能
|
||
|
||
### 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文件。
|