[gdal-dev] HDF subdatasets
Frank Warmerdam
warmerdam at pobox.com
Wed Jan 23 14:15:54 EST 2008
Bobby Braswell wrote:
>
> Hi-
>
> Is it possible to access the names of subdatasets in HDF4 files using
> gdal-python? I can get the SDS names using gdalinfo, but would like to
> do it from within my code.
>
> For example the result of
>
> D = gdal.Open('MCD43A4.A2002001.h18v01.005.2007115060137.hdf')
>
> produces some dictionaries within D containing metadata information, but
> I can't find the subdataset names anywhere, e.g.,
>
> 'HDF4_EOS:EOS_GRID:"MCD43A4.A2002001.h18v01.005.2007115060137.hdf":Nadir_Reflectance_Band1'
Bobby,
You should be able to fetch the subdataset metadata using:
sdlist = D.GetMetadata( 'SUBDATASETS' )
eg.
>>> import gdal
>>> D = gdal.Open('NISE_SSMIF11_19911227.HDFEOS')
GDAL: GDALOpen(NISE_SSMIF11_19911227.HDFEOS) succeeds as HDF4.
>>> print D.GetMetadata('SUBDATASETS')
{'SUBDATASET_2_NAME':
'HDF4_EOS:EOS_GRID:"NISE_SSMIF11_19911227.HDFEOS":Northern Hemisphere:Age',
'SUBDATASET_4_DESC': '[721x721] Age Southern Hemisphere (8-bit unsigned
integer)', 'SUBDATASET_4_NAME':
'HDF4_EOS:EOS_GRID:"NISE_SSMIF11_19911227.HDFEOS":Southern Hemisphere:Age',
'SUBDATASET_3_NAME': 'HDF4_EOS:EOS_GRID:"NISE_SSMIF11_19911227.HDFEOS":Southern
Hemisphere:Extent', 'SUBDATASET_2_DESC': '[721x721] Age Northern Hemisphere
(8-bit unsigned integer)', 'SUBDATASET_1_DESC': '[721x721] Extent Northern
Hemisphere (8-bit unsigned integer)', 'SUBDATASET_3_DESC': '[721x721] Extent
Southern Hemisphere (8-bit unsigned integer)', 'SUBDATASET_1_NAME':
'HDF4_EOS:EOS_GRID:"NISE_SSMIF11_19911227.HDFEOS":Northern Hemisphere:Extent'}
Note, the return value is a dictionary with keys of the form
SUBDATASET_n_NAME and SUBDATASET_n_DESC.
You might also want to skim the portion of
http://www.gdal.org/gdal_datamodel.html
with the subtitle "SUBDATASETS Domain".
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | President OSGeo, http://osgeo.org
More information about the gdal-dev
mailing list