本文主要利用ENVI5.6对VIIRS SDR数据预处理(几何校正和消除“蝴蝶效应”)。
文章目录
前言
由于ENVI版本较低,无法消除VIIRS SDR数据“蝴蝶效应”,且利用GLT方法进行几何校正耗时较长。所以本次使用较高版本的ENVI对其进行操作。本文主要介绍利用ENVI5.6对VIIRS数据进行处理。
一、数据打开
VIIRS SDR数据文件包括:影像数据(Imagery) 和位置信息(Geolocation) ,数据格式为HDF5。
早期影像数据与位置文件是分开的(如2014年数据):
后期影像数据包含了部分位置文件(如2020年数据):
ENVI不能打开只含有位置信息的文件,但是可以通过File > Open As > Scientific Formats > HDF5 打开位置信息文件。
所以对于早期VIIRS数据,需要通过GLT方法进行几何校正;Reproject GLT with Bowtie Correction消除“蝴蝶效应”。
对于后期VIIRS影像数据含有位置信息,则可以直接File > Open As > Optical Sensors > NPP VIIRS打开数据,设置NPP VIIRS参数,会自动进行几何校正和去条带操作。
最后得到的结果具有地理坐标,并且已经消除“蝴蝶效应”。
二、几何校正
- 含有位置信息——几何校正
(1)使用File > Open As > Optical Sensors > NPP VIIRS打开 .h5文件。出现“选择NPP VIIRS参数”面板。参数保持默认即可(或根据自己需求进行修改)。
(2)“选择产品”下拉菜单列出可供选择的产品。对于SDR,是需要选择进行校准的类型。包括:Radiance、Reflectance、Brightness temperature (Kelvins)、Albedo。
Radiance:
- Day/Night Band: 32-bit floating point in units of W/(cm2 * sr)
- I-bands1-5: unsigned 16-bit integer in units of W/(m2 * sr * µm)
- M-bands 3-5,7, 13: 32-bit floating point in units of W/(m2 * sr * µm)
- M-bands 1,2, 6, 8-12: unsigned 16-bit integer in units of W/(m2 * sr * µm)
Reflectance:
- I-bands 1-3: unsigned 16-bit integer
- M-bands 1-11: unsigned 16-bit integer
Brightness temperature (Kelvins):
- I-bands 4-5: unsigned 16-bit integer
- M-band 13: 32-bit floating point
- M-bands 12, 14-16: unsigned 16-bit integer
Albedo:
- NCC products only: 32-bit floating point
(3)选择Geocorrect and Mitigate Bowtie Effect消除“蝴蝶效应”。
(4)投影类型:区域若包含两极地区则选择Polar Stereographic WGS-84,否则默认。此处选择Geographic WGS-84。
(5)插值方法:离散型(如分类数据)则选择Nearest Neighbor,否则默认Distance Weighted。此处选择Nearest Neighbor。
(6)设置输出文件,点击OK按钮。
(7)点击菜单栏File>Open World Data>Countries,加载ENVI自带全球矢量数据,查看几何定位结果。几何校正结果显示:
- 不含位置信息——几何校正
如果加载的VIIRS数据不包含位置信息,会报错且无法自动进行几何校正:
可以先加载原始影像(raw image),然后利用Geometric Correction > Reproject GLT with Bowtie Correction 进行几何校正。
(1)创建GLT,可参考:https://blog.csdn.net/qq_32649321/article/details/110954942
(2)利用工具Reproject GLT with Bowtie Correction进行几何校正,可参考:http://blog.sina.com.cn/s/blog_764b1e9d0102y6hi.html
(3)设置参数,输出文件。
总结
- ENVI版本与VIIRS数据格式需要对应;
- ENVI5.6直接对VIIRS数据处理时间较短,几分钟左右;利用ENVI5.3 创建GLT方法很耗时,大概一个小时。建议使用较高版本的ENVI对数据进行处理。