2

現在、HDFファイル (バージョン 4) を使用しており、pyhdfモジュール ( http://hdfeos.org/software/pyhdf.php ) を使用しています。

を使用して MATLAB で HDF ファイルの 1 つを開くとnctoolbox、次の変数が表示されます。

>> a = ncgeodataset('2011365222309_30199_CS_2B-CLDCLASS_GRANULE_P_R04_E05.hdf')

a = 

  ncgeodataset with properties:

     location: '2011365222309_30199_CS_2B-CLDCLASS_GRANULE_P_R04_E05.hdf'
       netcdf: [1x1 ucar.nc2.dataset.NetcdfDataset]
    variables: {16x1 cell}

>> a.variables

ans = 

    'StructMetadata.0'
    '2B-CLDCLASS/Geolocation Fields/Profile_time'
    '2B-CLDCLASS/Geolocation Fields/UTC_start'
    '2B-CLDCLASS/Geolocation Fields/TAI_start'
    '2B-CLDCLASS/Geolocation Fields/Height'
    '2B-CLDCLASS/Geolocation Fields/Range_to_intercept'
    '2B-CLDCLASS/Geolocation Fields/DEM_elevation'
    '2B-CLDCLASS/Geolocation Fields/Vertical_binsize'
    '2B-CLDCLASS/Geolocation Fields/Pitch_offset'
    '2B-CLDCLASS/Geolocation Fields/Roll_offset'
    '2B-CLDCLASS/Geolocation Fields/Latitude'
    '2B-CLDCLASS/Geolocation Fields/Longitude'
    '2B-CLDCLASS/Data Fields/Data_quality'
    '2B-CLDCLASS/Data Fields/Data_status'
    '2B-CLDCLASS/Data Fields/Data_targetID'
    '2B-CLDCLASS/Data Fields/cloud_scenario'

Python を使用すると、pyhdf2 つの変数しか表示されません。

>>> d = SD('2011365222309_30199_CS_2B-CLDCLASS_GRANULE_P_R04_E05.hdf')
>>> d.datasets()
{
  'cloud_scenario': (('nray:2B-CLDCLASS', 'nbin:2B-CLDCLASS'), (20434, 125), 22, 1), 
          'Height': (('nray:2B-CLDCLASS', 'nbin:2B-CLDCLASS'), (20434, 125), 22, 0)
}

誰かがここで何が起こっているのかを理解するのを手伝ってくれたら.

4

3 に答える 3

2

科学データセット (SDS) のみを表示できる pyhdf.SD を使用して hdf ファイルを開いています。欠落していると思われるフィールドは SDS ではなく Vdata フィールドであるため、pyhdf.HDF および pyhdf.VS を使用して個別にアクセスする必要があります。

何かのようなもの:

from pyhdf.HDF import *
from pyhdf.VS import *

open_file_for_reading_vdata = HDF("your_input_file.hdf", HC.READ).vstart()
vdata = open_file_for_reading_vdata.vdatainfo()
print vdata

詳細については、次のリンクを試してください: http://pysclint.sourceforge.net/pyhdf/documentation.html

于 2015-09-21T22:51:09.950 に答える
0

データにアクセスできない場合、私が知る限り、このファイルにはモジュールが読み取れないnetcdfデータが含まれているようです。pyhdfに相当する pythonはnetCDF4nctoolboxのようです。ただし、そのようなファイルを操作するためのはるかに便利なデータ構造を提供する 、高レベルのツールxrayを使用することをお勧めします。

于 2015-06-24T10:57:46.193 に答える