MATLAB读取HDF5文件——以读取OMI he5数据为例

HDF5文件简介

分层数据格式版本 5 (HDF5) 是由美国国家超级计算应用中心 (NCSA) 开发的用于存储文件中科学数据的通用型机器无关标准。HDF5 广泛用于工程和科学领域,这些领域需要一种标准的数据存储方式,以便共享数据。

查看he5数据文件信息

h5disp - 查看 HDF5 文件的内容
h5info - 创建包含定义 HDF5 文件的所有元数据的结构体
h5read - 从 HDF5 文件中的变量读取数据
h5readatt - 从与 HDF5 文件中的变量或文件本身相关联的属性(全局属性)读取数据。

以OMI臭氧数据为例

确定 HDF5 文件的内容,HDF5 文件可以包含数据和元数据,称为属性。在 HDF5 文件中,层次结构中的目录称为组。组可以包含其他组、数据集、属性、链接和数据类型。数据集是数据的集合,例如多维数值数组或字符串。属性是与另一实体(例如数据集)相关联的任何数据。数据类型是对数据集或属性中数据的描述。数据类型说明如何解释数据集中的数据。

使用 h5disp 函数快速查看 HDF5 文件的内容。

h5disp

h5disp('C:\Users\Administrator\Desktop\OMI-Aura_L3-OMTO3e_2004m1001_v003-2012m0409t101417.he5')

输出

HDF5 OMI-Aura_L3-OMTO3e_2004m1001_v003-2012m0409t101417.he5 
Group '/' 
    Group '/HDFEOS' 
        Group '/HDFEOS/ADDITIONAL' 
            Group '/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES' 
                Attributes:
                    'OrbitNumber':  1117 1118 1119 1120 1121 1122 1123 1124 1125 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 
                    'OrbitPeriod':  5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 5933.000000 5932.000000 
                    'InstrumentName':  'OMI'
                    'ProcessLevel':  '3e'
                    'GranuleMonth':  10 
                    'GranuleDay':  1 
                    'GranuleYear':  2004 
                    'GranuleDayOfYear':  275 
                    'TAI93At0zOfGranule':  370742405.000000 
                    'PGEVersion':  '"1.0.5.1"'
                    'StartUTC':  '2004-09-30T12:15:00.000000Z'
                    'EndUTC':  '2004-10-02T11:45:00.000000Z'
                    'Period':  'Daily'
        Group '/HDFEOS/GRIDS' 
            Group '/HDFEOS/GRIDS/OMI Column Amount O3' 
                Attributes:
                    'GCTPProjectionCode':  0 
                    'Projection':  'Geographic'
                    'GridOrigin':  'Center'
                    'GridSpacing':  '(0.25,0.25)'
                    'GridSpacingUnit':  'deg'
                    'GridSpan':  '(-180,180,-90,90)'
                    'GridSpanUnit':  'deg'
                    'NumberOfLongitudesInGrid':  1440 
                    'NumberOfLatitudesInGrid':  720 
                Group '/HDFEOS/GRIDS/OMI Column Amount O3/Data Fields' 
                    Dataset 'ColumnAmountO3' 
                        Size:  1440x720
                        MaxSize:  1440x720
                        Datatype:   H5T_IEEE_F32LE (single)
                        ChunkSize:  180x180
                        Filters:  deflate(5)
                        FillValue:  -1267650600228229401496703205376.000000
                        Attributes:
                            '_FillValue':  -1267650600228229401496703205376.000000 
                            'Units':  'DU'
                            'Title':  'Best Total Ozone Solution'
                            'UniqueFieldDefinition':  'TOMS-OMI-Shared'
                            'ScaleFactor':  1.000000 
                            'Offset':  0.000000 
                            'ValidRange':  50.000000 700.000000 
                            'MissingValue':  -1267650600228229401496703205376.000000 
                    Dataset 'RadiativeCloudFraction' 
                        Size:  1440x720
                        MaxSize:  1440x720
                        Datatype:   H5T_IEEE_F32LE (single)
                        ChunkSize:  180x180
                        Filters:  deflate(5)
                        FillValue:  -1267650600228229401496703205376.000000
                        Attributes:
                            '_FillValue':  -1267650600228229401496703205376.000000 
                            'Units':  'NoUnits'
                            'Title':  'Radiative Cloud Fraction = fc*Ic331/Im331'
                            'UniqueFieldDefinition':  'TOMS-OMI-Shared'
                            'ScaleFactor':  1.000000 
                            'Offset':  0.000000 
                            'ValidRange':  0.000000 1.000000 
                            'MissingValue':  -1267650600228229401496703205376.000000 
                    Dataset 'SolarZenithAngle' 
                        Size:  1440x720
                        MaxSize:  1440x720
                        Datatype:   H5T_IEEE_F32LE (single)
                        ChunkSize:  180x180
                        Filters:  deflate(5)
                        FillValue:  -1267650600228229401496703205376.000000
                        Attributes:
                            '_FillValue':  -1267650600228229401496703205376.000000 
                            'Units':  'deg'
                            'Title':  'Solar Zenith Angle'
                            'UniqueFieldDefinition':  'TOMS-Aura-Shared'
                            'ScaleFactor':  1.000000 
                            'Offset':  0.000000 
                            'ValidRange':  0.000000 180.000000 
                            'MissingValue':  -1267650600228229401496703205376.000000 
                    Dataset 'ViewingZenithAngle' 
                        Size:  1440x720
                        MaxSize:  1440x720
                        Datatype:   H5T_IEEE_F32LE (single)
                        ChunkSize:  180x180
                        Filters:  deflate(5)
                        FillValue:  -1267650600228229401496703205376.000000
                        Attributes:
                            '_FillValue':  -1267650600228229401496703205376.000000 
                            'Units':  'deg'
                            'Title':  'Viewing Zenith Angle'
                            'UniqueFieldDefinition':  'TOMS-OMI-Shared'
                            'ScaleFactor':  1.000000 
                            'Offset':  0.000000 
                            'ValidRange':  0.000000 70.000000 
                            'MissingValue':  -1267650600228229401496703205376.000000 
    Group '/HDFEOS INFORMATION' 
        Attributes:
            'HDFEOSVersion':  'HDFEOS_5.1.11'
        Dataset 'StructMetadata.0' 
            Size:  scalar
            Datatype:   H5T_STRING
                String Length: 32000
                Padding: H5T_STR_NULLTERM
                Character Set: H5T_CSET_ASCII
                Character Type: H5T_C_S1
            ChunkSize:  []
            Filters:  none
            FillValue:  '                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                '

要探查 HDF5 文件的层次结构组织方式,请使用 h5info 函数。h5info 返回包含有关 HDF5 文件的各种信息的结构体,包括文件名称。

h5info

info = h5info('C:\Users\Administrator\Desktop\OMI-Aura_L3-OMTO3e_2004m1001_v003-2012m0409t101417.he5')

info = 

  包含以下字段的 struct:

      Filename: 'C:\Users\Administrator\Desktop\OMI-Aura_L3-OMTO3e_2004m1001_v003-2012m0409t101417.he5'
          Name: '/'
        Groups: [2×1 struct]
      Datasets: []
     Datatypes: []
         Links: []
    Attributes: []

可以看到该文件包含2个组,Datasets、Datatypes 、Attributes和 Links 字段都为空,表示根组不包含任何数据集、数据类型或链接。要进一步了解示例 HDF5 文件的内容,请检查 Groups 中的一个结构体。

g1 = info.Groups(1)
g2 = info.Groups(2)
g1 = 

  包含以下字段的 struct:

          Name: '/HDFEOS'
        Groups: [2×1 struct]
      Datasets: []
     Datatypes: []
         Links: []
    Attributes: []


g2 = 

  包含以下字段的 struct:

          Name: '/HDFEOS INFORMATION'
        Groups: []
      Datasets: [1×1 struct]
     Datatypes: []
         Links: []
    Attributes: [1×1 struct]

可以看到组HDFEOS下面还有两个组。

h5read

前面介绍了从he5文件中查看数据结构,接下来将会是 内容,就是和读取需要的数据。
从h5disp函数中可以详细的看到数据结构。
这里读取数据里的臭氧组’/HDFEOS/GRIDS/OMI Column Amount O3/Data Fields’,这个组里包含 数据集有四个(通过h5disp可以查看):
Dataset ‘ColumnAmountO3’

Dataset ‘RadiativeCloudFraction’

Dataset ‘SolarZenithAngle’

Dataset ‘ViewingZenithAngle’
读取其中的臭氧数据

data = h5read('C:\Users\Administrator\Desktop\OMI-Aura_L3-OMTO3e_2004m1001_v003-2012m0409t101417.he5','/HDFEOS/GRIDS/OMI Column Amount O3/Data Fields/ColumnAmountO3');

读取其他字段如上所示。

官方参考

https://ww2.mathworks.cn/help/matlab/import_export/importing-hierarchical-data-format-hdf5-files.html#bsxixpv-2
https://ww2.mathworks.cn/help/matlab/ref/h5read.html

猜你喜欢

转载自blog.csdn.net/wokaowokaowokao12345/article/details/108783849
今日推荐