选择区域经纬度范围,根据公式计算算出对应的行列号,并赋值
构建经纬度查找表,进行GLT几何校正
相较法1,法2速度快,且构建的GLT可以重复利用。故本节主要介绍构建经纬度查找表进行GLT几何校正的方法。
有两种生成经纬度查找表的方法
一、直接读取官网提供的角度数据集raw,生成lon/lat数据集。
二、读取FY4A-AGRI_N_DISK_1047E_L1-GEO-MULT_NOM数据集,其中有圆盘的行列号数据集,无值区域为-1/有值区域为对应的行列号,然后根据公式由行列号计算出对应的经纬度,生成经纬度数据集。
生成经纬度查找表数据集(法2)
根据官网下载的经纬度查找表(4km),利用python读取raw文件(包含lon/lat数据集),生成longitude和latitude的hdf数据集。参考自(https://blog.csdn.net/tk20190411/article/details/115907130?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-3.control)
latitude
longitude
选定ROI区域,裁剪经纬度查找表和风云4A影像
subset data fromROIs
注意:裁剪区域必须在有值区域内,即不能包含圆盘以外的9999的无效值,否则ENVI在构建GLT的过程中会卡死。
Build GLT
注意:先选择lon,再选择lat,最后的Rotation选择0
Georeference from GLT
依次选择GLT文件、待校正数据,进行GLT几何校正。
几何校正后的FY-4A裁剪区域
由于官网没有提供REGC的角度数据集,而只提供了REGC的GEO文件(FY4A-_AGRI--N_REGC_1047E_L1-GEO-_MULT_NOM_20210608071500_20210608071917_4000M_V0001),所以这里需要读取行列号计算经纬度,生成经纬度数据集。
生成经纬度数据集(不同之处)
参考自(https://blog.csdn.net/qq_37970770/article/details/89479906?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-6.control)
以下步骤均相同。
选取ROI区域,裁剪经纬度查找表和风云4A影像
Build GLT
Georeference from GLT
结果展示
可通过gdalwarp.exe构建VRT的方式完成批量几何校正,待研究。
参考李民录老师的csdn博客
裁剪ROI的目的是为了确保构建GLT的部分是有值区域(数组没有无效值(0/nan)和错值(lon>360,lat not in [-90, 90]),否则ENVI在创建GLT的过程中会报错。
其实也可不裁剪,对经度/纬度数据集进行插值,插补圆盘无效值区域,将圆盘边角全部填满。目前暂未成功。
https://blog.csdn.net/qq_33339770/article/details/102957857?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-11.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-11.control