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