Hierarchical Data Format (HDF EOS)

Long name


Short name

HEG (for Grid)
HES (for Swath)

File extension(s) .hdf

The HDF-EOS format is a specialized organization of HDF (Hierarchical Data Format) files produced by some NASA EOSDIS programs. In particular, it is being used by the ASTER program. GDB currently offers support for HDF-EOS "Swath" products and HDF-EOS "Grid" products. It does not support point data sets.

Swath products are simple images that have not necessarily corrected to any map projection grid. Swath products have no georeference information but may have "LONG/LAT" GCP's. Swath products can be identified by the GDB identifier ("hes") that is appended to the filename for internal processing.

Grid products are images that have been corrected to a map projection grid and they will be imported with georeferencing. Because Grid products are already georeferenced, no GCP's are required or produced for Grid products. Grid Swath products can be identified by the GDB identifier ("heg") that is appended to the filename for internal processing. (In the following discussion, although Swaths are discussed, the same discussion can be applied to Grid products. That is, what applies for Swaths can apply just as well for Grids.)

The HDF-EOS translation is implemented using the NASA EOSDIS support libraries and the NCSA (National Center for Supercomputing Applications) support libraries.

HDF-EOS swath files are organized as a series of data sets, each called a swath. Typically each swath is the output of one band of a sensor instrument. However the swaths can have different resolutions, making them difficult to treat as a single data set in GDB. If there is only one swath in the data set, GDB does not have to make any decision as to which swath to process and it will just carry on with no further questions asked.

However if there is more than one swath, the swath to process has to be specified for GDB. How this is done depends on the interface:

For example:

 EASI>fili="GDS_L1A.hdf:hes:VNIR_Band4:(2048 x 2100 x 1)"

Consists of four parts (separated by ":" dividers):

Because of this complicated naming process, it is better to use MULTIRD rather than FIMPORT to import an HDF-EOS data set to produce PCIDSK file(s). MULTIRD is an EASI procedure that does the following:

This file will always be 512 pixels by 512 lines by 0 layers. The only thing of importance is metadata information describing the Children (or Swaths) of the parent.

MULTIRD uses the Children metadata from the parent PCIDSK file to make up the names of the Swaths and the output PCIDSK files. MULTIRD will loop through until it imports all the swaths.

You can import one swath directly with FIMPORT if you follow the naming convention of the ChildDataset REF record of the metadata (omitting the "gdb:" prefix).

The following message:

 ERROR:   The file 'GDS_L1A.hdf' is an HDF file, but it can't be read as an RI8, or 
 SDS data set.  Only these HDF subformats are supported by GDB. 
 E019 ... Invalid header type

means that the file could not be opened with either the HDF-EOS Swath or Grid formats or any other HDF methods. This message originates from the HDF GDB, which normally is only used when all other methods failed.

Note: 8, 16 and 32-bit integer image types are supported for reading and writing. Because 32-bit integer images are represented in GDB as 32-bit real images, some loss of precision may occur.

© PCI Geomatics Enterprises, Inc.®, 2023. All rights reserved.