【IDL】基于ENVIRaster(OPENRaster)的Himawari数据几何校正
!TIP
写在前面:ENVI桌面使用Reproject GLT with Bowtie Correction tool处理Himawari几何校正很方便,但涉及到批处理(例如ENVI MODEL或者IDL代码)都未有明确相应的Task,看了许多博客也并没有使用ENVIRaster这种新版本栅格的方式处理数据,旧版本不仅效果慢且代码冗余。
也可适用于:在ENVI桌面端打开默认配置的科学数据集,不需要打开一副影像点一次的操作
本文内容全部基于ENVI60虚拟栅格的新代码来几何校正Himawari数据!博主踩了很多坑,如果使用单个数据集打开再合成等均失败。
一、更改配置
首先在ENVI桌面进行配置,将其"Custom Code Directory*"选项改为我们自定义的文件夹,后续我们会用到此文件夹,且该文件夹我一般用于存储通用代码。更改完成后一定记得重启!!!

二、写template模版文件
template模版文件主要用于重复打开科学数据集格式,不需要重新选择波段和经纬度文件。我们不会写template文件可以在ENVI桌面端打开Himawari文件后,选择的波段组合以及地理定位波段,这时不要点openrasters,而是要点击Templates,然后导出到我们刚才的目录("Custom Code Directory*")
<?xml version="1.0" encoding="utf-8"?>
<ENVI_FILE_TEMPLATE>
<HDF5 name="GSF_Himawari">
<RASTER interleave="bsq">
<DATASET>//CLER_23</DATASET>
<DATASET>//CLOT</DATASET>
<DATASET>//CLTH</DATASET>
<DATASET>//CLTT</DATASET>
<DATASET>//CLTYPE</DATASET>
<XGRID>//longitude</XGRID>
<YGRID>//latitude</YGRID>
</RASTER>
</HDF5>
</ENVI_FILE_TEMPLATE>
三、IDL代码
PRO ReprojectGLTHimawari
COMPILE_OPT IDL2
e = envi()
file = 'E:/gbyTemp/NC_H08_20150704_0000_L2CLP010_FLDK.02401_02401.nc'
raster = e.OpenRaster(file, template='GSF_Himawari')
task = ENVITask('ReprojectGLT')
task.Input_Raster = raster
task.Execute
DataColl = e.Data
DataColl.Add, task.OUTPUT_RASTER
View = e.GetView()
Layer = View.CreateLayer(task.OUTPUT_RASTER)
END