1、环境搭建注意事项 python版本:3.13.1 gdal whl文件下载路径:https://github.com/cgohlke/geospatial-wheels/releases 安装PyKrige时,pip换成国内源,否则会失败:https://blog.csdn.net/weixin_50679163/article/details/122392249 2、命令行工具使用说明 2.1 数据要求 (1)输入原始影像是反射率数据 (2)无效像元对应的值必须为0,data ignore value = 0 (3)输入影像必须为bsq (4)实测数据的格式:以tab分割的3列:经度,纬度,含量 2.2 二级指令 水体处理分为8个步骤,每步都是可调用的单独的程序,但是由于某些步骤的实现方式不止一种,所以引入了二级命令隔离参数。 使用二级指令的程序:水域掩膜、去耀斑、基于实测值进行模型修正、反演。 3、命令行程序文档 3.1 水域掩膜 (1)此程序用于提取水域区域,输出的水域栅格和输入的影像具有相同的行列数。支持2种二级指令(算法):rasterize_shp,ndwi。 (2)rasterize_shp -h, --help show this help message and exit -i1, --img_path IMG_PATH 输入影像文件的路径 -i2, --shp_path SHP_PATH 输入shp文件的路径 -o, --water_mask_outpath WATER_MASK_OUTPATH 输出水体掩膜文件的路径 命令示例: rasterize_shp -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_cutarea.shp -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask (3)ndwi options: -h, --help show this help message and exit -i1, --img_path IMG_PATH 输入影像文件的路径 -i2, --ndwi_threshold NDWI_THRESHOLD 输入ndwi水体阈值,大于此值的为水域 -o, --water_mask_outpath WATER_MASK_OUTPATH 输出水体掩膜文件的路径 命令示例: ndwi -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m -i2 0.4 -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask_ndwi 3.2 找耀斑严重区域 此程序通过大律法分割图像,提取耀斑最严重的区域,输出的栅格和输入的影像具有相同的行列数。 options: -h, --help show this help message and exit -i1, --input INPUT 输入影像文件的路径 -i2, --input_water_mask INPUT_WATER_MASK 输入水域掩膜文件的路径 -gw, --glint_wave GLINT_WAVE 用于提取耀斑严重区域的波段. -o, --output OUTPUT 输出文件的路径 命令示例: -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_severe_glint 3.3 去耀斑 (1)此程序用于去除水域数据的耀斑,暂时支持3种算法。支持3种二级命令(算法):subnir,regression_slope,oxygen_absorption (2)subnir options: -h, --help show this help message and exit -i1, --input INPUT 输入影像文件的路径 -i2, --input_water_mask INPUT_WATER_MASK 输入水域掩膜文件的路径 -o, --output OUTPUT 输出文件的路径 -s, --start_wave START_WAVE nir开始波段 -e, --end_wave END_WAVE nir结束波段 命令示例: subnir -i1 D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510 -o D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510_nir_730-750 -s 730 -e 750 subnir -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_nir_730-750 -s 730 -e 750 (3)regression_slope options: -h, --help show this help message and exit -i1, --input INPUT 输入影像文件的路径 -i2, --input_water_mask INPUT_WATER_MASK 输入水域掩膜文件的路径 -o, --output OUTPUT 输出文件的路径 -s, --start_wave START_WAVE nir开始波段 -e, --end_wave END_WAVE nir结束波段 -r, --roi ROI 输入roi文件的路径 命令示例: regression_slope -i1 D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510 -o D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510_slope -s 730 -e 750 -r D:\PycharmProjects\sun_glint\test_data\roi2.xml regression_slope -i1 D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510_wgs84.dat -o D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510_slope -s 730 -e 750 -r D:\PycharmProjects\sun_glint\test_data\roi2_latlong.xml regression_slope -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_slope -s 730 -e 750 -r D:\PycharmProjects\0water_rlx\test_data\roi_glint.xml (4)oxygen_absorption options: -h, --help show this help message and exit -i1, --input INPUT 输入影像文件的路径 -i2, --input_water_mask INPUT_WATER_MASK 输入水域掩膜文件的路径 -o, --output OUTPUT 输出文件的路径 -l, --left_shoulder_wave LEFT_SHOULDER_WAVE 氧气吸收谷左肩波长 -v, --valley_wave VALLEY_WAVE 氧气吸收谷底波长 -r, --right_shoulder_wave RIGHT_SHOULDER_WAVE 氧气吸收谷右肩波长 -sw, --shoulder_window SHOULDER_WINDOW 氧气吸收谷左右肩平均窗口,半径 -vw, --valley_window VALLEY_WINDOW 氧气吸收谷底平均窗口,半径 命令示例: oxygen_absorption -i1 D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510 -o D:\PycharmProjects\sun_glint\test_data\ref_deepWater_20230914_154510_oxygen -l 752.49 -v 762.49 -r 772.49 -sw 1 -vw 1 oxygen_absorption -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -o D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_oxygen -l 752.49 -v 762.49 -r 772.49 -sw 1 -vw 1 3.4 基于实测值进行模型修正 (1)此程序用于通过实测数据修正模型参数。支持6种二级命令(算法):chl_a,nh3,mno4,tn,tp,tss。 (2)6种二级命令(算法)的参数都一样 options: -h, --help show this help message and exit -i1, --img IMG 输入影像文件的路径 -i2, --water_mask WATER_MASK 输入水域掩膜文件的路径 -i3, --severe_glint SEVERE_GLINT 输入耀斑严重文件的路径 -i4, --measured_data MEASURED_DATA 输入实测含量数据的路径 -i5, --radius RADIUS 输入实测坐标半径 -o, --model_info_outpath MODEL_INFO_OUTPATH 输出模型信息文件的路径 命令示例: chl_a -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -i3 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_severe_glint -i4 D:\PycharmProjects\0water_rlx\test_data\content_retrieval\chl-a\Measured_point_pos_chl-a.txt -o D:\PycharmProjects\0water_rlx\test_data\content_retrieval\chl-a\chl-a.json 3.5 获取等间隔点坐标 此程序通过给定间隔输出坐标。 options: -h, --help show this help message and exit -i1, --water_mask WATER_MASK 输入水域掩膜文件的路径 -i2, --severe_glint SEVERE_GLINT 输入耀斑严重文件的路径 -i3, --interval INTERVAL 输入间隔,单位为米 -o, --output_csvpath OUTPUT_CSVPATH 输出csv文件的路径 命令示例: -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_water_mask -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_severe_glint -i3 100 -o D:\PycharmProjects\0water_rlx\test_data\coor_interval.csv 3.6 基于(5)所得坐标获取光谱 此程序获取给定坐标的光谱曲线。 options: -h, --help show this help message and exit -i1, --imgpath IMGPATH 输入影像文件的路径 -i2, --coorpath COORPATH 输入坐标文件的路径 -o, --output_path OUTPUT_PATH 输出csv文件的路径 命令示例: -i1 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m_bsq -i2 D:\PycharmProjects\0water_rlx\test_data\coor_interval.csv -o D:\PycharmProjects\0water_rlx\test_data\coor-spectral.csv 3.7 反演 (1)此程序使用修正后的模型进行反演。支持6种二级命令(算法):chl_a,nh3,mno4,tn,tp,tss。 (2)6种二级命令(算法)的参数都一样 options: -h, --help show this help message and exit -i1, --model_info_path MODEL_INFO_PATH 输入模型信息文件的路径 -i2, --coor_spectral_path COOR_SPECTRAL_PATH 输入坐标-光谱文件的路径 -i3, --wave_radius WAVE_RADIUS 输入波长平均半径 -o, --outpath OUTPATH 输出文件的路径 命令示例: chl_a -i1 D:\PycharmProjects\0water_rlx\test_data\content_retrieval\chl-a\chl-a.json -i2 D:\PycharmProjects\0water_rlx\test_data\coor-spectral.csv -o D:\PycharmProjects\0water_rlx\test_data\coor-spectral-retrieval.csv 3.8 插值 此程序基于反演结果进行插值。 options: -h, --help show this help message and exit -i1, --pos_content_path POS_CONTENT_PATH 输入含量文件的路径 -i2, --img_path IMG_PATH 输入影像文件的路径 -i3, --spatial_resolution SPATIAL_RESOLUTION 输出控件分辨率 -o, --outpath OUTPATH 输出文件的路径 命令示例: -i1 D:\PycharmProjects\0water_rlx\test_data\coor-spectral-retrieval.csv -i2 D:\PycharmProjects\0water_rlx\test_data\ref_mosaic_1m -o D:\PycharmProjects\0water_rlx\test_data\content.tiff