The Hierarchical Data Format
(HDF) is a complex format that was developed by the National Center for
Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign.
The format was developed to support the storage, retrieval, and analysis
of large volumes of scientific data. NCSA has developed a software library
to access HDF files, and the DSpatial driver is built on top of a shared
library produced by NCSA.
The driver supports multiple
rasters per file set, which each can have multiple bands. All DSpatial
data types are supported by HDF and the driver, with the exception of
dspInt64.
General |
A complex format for
the storage, retrieval, and analysis of large amounts of scientific
data. The driver can access data that is stored as so-called scientific
data sets (SDS, and the older DFSD). The driver uses version 4.2r1
of HDF. Since HDF is a superset of the older CDF format, files in
this last format can be accessed as well.
The driver is built on
top of a shared library produced by NCSA. As well, HDF and the software
library are copyrighted by NCSA. For these reasons, and because
many users may not need to read HDF files, this driver is distributed
as a separate download.
|
Read |
The driver reads raster
data sets of any data type supported by HDF. Descriptive information
is read as well. Multiple rasters can be read from a single file,
and every raster can have multiple bands.
Data in HDF files can
have up to 6 dimensions. The driver currently accesses only up to
three dimensions. If the SDS has three of more dimensions, the first
dimension represents the bands of the raster, the second the rows,
and the third the columns. When only two diemsions are present,
the first dimension represents the rows, and the second the columns
of a single-band raster.
NASA distributes a prodigious
amount of (free-of-charge) satellite imagery in HDF format. The
data follows a strict organization, which is otherwise knows as
HDF-EOS. This driver implements a subset of HDF-EOS so that (most)
datasets can be read successfully. Examples of satellite imagery
in this format includes MODIS and ASTER imagery.
|
Write |
The driver does not support
writing of new or modified data sets.
|
Attributes |
This
format includes attributes at different levels, but these are not
yet read. |
Coordinate
system |
The HDF format does not
support coordinate system information. Certain spatial data sets
in HDF format (e.g. NASA EOS, GMT) include coordinate system information
as attributes.
|
Documentation |
The
HDF site
at UIUC. |
Data
sources |
The HDF format was selected
by NASA as the preferred format for the distribution of Earth Observation
System (EOS) satellite imagery. Consequently, huge volumes of data
are available in HDF format. You can search for, order, and download
NASA EOS data through the EOS
Data Gateway. Most data is available free of charge.
The Global
Land Cover Facility at the University of Maryland maintains
an archive of satellite images from different sensors. Global coverage
with Landsat 7 ETM data in HDF format is available at no charge.
Every scene actually consists of a small HDF file which references
secondary files (that you will need to unzip) that contain the actual
bands of the satellite image. Make sure to download band 8 (high
resolution panchromatic), with which you can do pan-sharpening using
a multi-band renderer.
The Generic Mapping Toolbox
(GMT) is a Unix-based toolbox of spatial analysis routines. GMT
uses the CDF format which is supported by the HDF driver.
|
Developer
information |
The HDF driver is actually
composed of a family of units. The DSpHDFInterface.pas unit contains
low-level routines to access the shared library and setup function
pointer into the shared library. The DSpHDFTypes.pas unit contains
low-level definitions for the HDF code. The DSpHDFObject.pas unit
provides an object-oriented wrapper for the HDF library, and the
DSpHDFDriver.pas unit implements the DSpatial driver. The DSpHDFEOS
unit mimics the EOS data format.
|
|