ENVI5.1中.HDF5格式数据的读取操作

0
分享 2016-06-01
HDF5是用于存储科学数据的一种文件格式和库文件。它被设计并实现满足科学数据存储不断增加和数据处理不断变化的需求,为了充分利用当今计算机系统的能力和特点,克服HDF4.x的不足。HDF5有一个强大和灵活的数据模块,支持管理的文件大于2GB(HDF4.x管理文件的极限),并且还支持并行I/O,设计时考虑了安全线程并将在不久的将来实现此功能。
一个HDF5文件就是一个由两种基本数据对象(groups 和datasets)存放多种科学数据的容器:
  • HDF5 group:包含0个或多个HDF5对象以及支持元数据(metadata)的一个群组结构

  • HDF5 dataset:数据元素的一个多维数组以及支持元数据(metadata)


任何HDF5的群组或数据集或许都有一个对应的属性列表。 目前,采用 HDF5 格式的卫星数据有 NASA 最新的陆地观测卫星 NPP 上的 Visible Infrared Imager Radiometer Suite (VIIRS) ;印度发射的 RESOURCESAT 卫星,也就是我们所熟知的 IRS-P6 ;智利发射的 SSOT ;温室气体观测卫星 GOSAT ;中国的环境小卫星 高光谱数据( HJ1A-HSI )、风云气象卫星 FY-3 的可见光红外扫描辐射计 (VIRR) 。

1、打开HDF5数据
本操作实例中使用的数据是环境小卫星高光谱数据(HJ1A-HSI),有两种方式可以打开HDF5数据,一是在文件菜单下通过File->Open打开(图1所示),二是通过 File > Open As > Generic Formats > HDF5打开(图2所示)。第一种方式还可以打开NPP VIIRS, ResourceSat, or SSOT文件,其他的HDF5数据需要通过第二种方式打开。


图1. 打开HDF5数据(方式一)



图2. 打开HDF5数据(方式二) 
 
Select HDF5 Datasets 对话框中,可以选择属性数据和数据集,在对话框的底部显示所选择属性数据或数据集的名称、路径、类型和值,如图 3 所示。针对 HJ1A-HIS 数据,属性数据存放在 GlobalAttributes, ImageAttributes , MapInformation , ProductParameters 文件中,数据集存放在 ImageData 文件夹中。

 
图3. 选择HDF5数据集
Select HDF5 Datasets对话框的左边一栏中ImageData下选中BandData,双击或点击对话框中间的
按钮,所选择的数据集将会添加到对话框右边的Raster Builder一栏中的Raster 1中,如图4所示。


图4.将数据集加入Raster Builder 
如要生成一个包含多个数据集的栅格数据,选择File > Open Another HDF5 File 加入另外的 HDF5 文件,要保证所加入的数据集的空间大小一致。在 Raster Builder 中,位列前三的数据集在输出成栅格数据时被自动赋值为 R,G,B 。
  • 可以通过右键点击所选中的Raster,选择Rename Raster来修改Raster的名称。

  • 可以通过右键点击所选中的Raster,选择Change Interleave > BSQ, BIL, or BIP来修改Raster中像元的排列方式。

  • 可以在对话框左边栏 Available Datasets 中,选择数据集,单击Quick Open按钮来显示该数据集。

  • 可以通过选择File > Export Available Data将数据集和元数据的相关信息输出为txt或xml格式的文件。

  • 点击Open Rasters按钮,Raster Builder中所有的Raster将会加入到 Layer Manager中,并且在 Image 窗口中显示。这些raster只是临时的Raster,并没有存储在磁盘上。

  • 可以通过右键点击所选中的Raster,选择Create an ENVI Meta file for this raster生成ENVI格式的文件,并且可以通过菜单栏中File > Save As转化为NITF, TIFF, DTED格式的文件。

  • 通过File > Open As > Generic Formats > HDF5打开的数据集,可以选择 Templates > Generate Template创建模板,并且可以通过选择Templates > Open Template打开已有的模板。


2、 HJ1A-HSI大气校正
1. 在Raster Builder中,右键点击Raster 1,选择Create an ENVI Meta file for this raster并选择输出路径生成ENVI格式的文件,如图5所示。

图5. 生成ENVI格式文件

2.在ENVI主界面中,点击Open,打开生成的ENVI格式文件,如图6所示。


图6. 打开ENVI格式文件

3. 由于FLAASH大气校正模块中要求输入的数据是BIP或是BIL格式的辐射率数据,在Toolbox中选择Raster Management->Convert Interleave,选择该ENVI格式文件,在Convert File Parameters中,各项参数设置如图7所示。


图7. 由BSQ转换为BIP格式参数设置

4. FLAASH参数设定
1) 在Toolbox中选择Radiometric Correction->Atmospheric Correction Module->FLAASH Atmospheric Correction由于HSI数据已经经过了定标,在Input Radiance Image一行,选择转换格式后的辐射率数据,如图8所示。


图8. FLAASH参数设定

在出现的Enter ASCII Filename containing wavelengths and fwhm对话框中,选择含有波段信息的txt文件,并在Input ASCII Filename对话框中手动输入Wavelength和FWHM的行数,如图9所示。

图9. 波长参数设定

由于HSI数据已经经过了定标,单位是100*W×m-2×sr -1×mm-1,在出现的Radiance Scale Factors对话中选中Use single scale factor for all bands,缩放系数填写:1000,如图10所示。(符合FLAASH对辐射亮度单位的要求)


图10. 辐射率参数设定
2) 在Scene Center Location一项,在Select HDF5 Datasets中查看MapInformation->SceneCenterLat和SceneCenterLong的值输入。
3) 在Sensor Altitude一项,传感器信息是固定的:飞行高度—650km。
4) 在Ground Elevation一项,根据遥感影像研究区实际情况,本实例中该项输入0。
5) 在Pixel Size一项,在Select HDF5 Datasets中查看MapInformation->PixelSpacing的值输入。
6) 在Flight Date和Flight Date一项,在Select HDF5 Datasets中查看ImageAttributes->SceneStartTime的值输入。
5. 大气参数设置
1) 大气模型(Atmospheric Model)根据经纬度和日期来定。本实例中纬度和日期分别为33.9度和11月份,选择MLS。
表1. 六种标准的大气模型

2) 水气反演设置Water Retrieval,设置为yes。使用水气反演模型,数据必须具有15nm以上波谱分辨率,且至少覆盖以下波谱范围之一:1050-1210 nm (对应 1135 nm)、 870-1020 nm (对应940 nm)、 770-870 nm (对应820 nm)。本实例中,HSI选择820 nm。
3) 气溶胶模型
l 根据影像所在地区的情况来设定,这里选择Rural(乡村)。
l 提供两种气溶胶去除方法:
2-Band(K-T)方法(类似模糊减少法),如果没有找到适应的黑值(一般是阴影区或者水体),系统将采用能见度值来计算;所以即使选择了该选项也要给能见度。HSI数据由于缺少短波红外波段,这里选择None,采用能见度值参与气溶胶去除。
l 能见度值大约参考值参见表2:
表2. 能见度参考值


6. 高光谱数据参数设置
Hyperspectral Settings对话框中推荐自动选择通道定义,如图11所示。

 
图11. 高光谱参数设定

7. FLAASH Atmospheric Correction Model Input Parameter对话框中的各项参数设置如图11所示,设置完成后点击Apply,即可对辐射率数据进行大气校正。


图12. FLAASH大气校正模型各项参数设定

文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0101c7xl.html

0 个评论

要回复文章请先登录注册