PDS -- Planetary Data System v3

Driver short name


Driver built-in by default

This driver is built-in by default

PDS is a format used primarily by NASA to store and distribute solar, lunar and planetary imagery data. GDAL provides read-only access to PDS formatted imagery data.

PDS files often have the extension .img, sometimes with an associated .lbl (label) file. When a .lbl file exists it should be used as the dataset name rather than the .img file.

In addition to support for most PDS imagery configurations, this driver also reads georeferencing and coordinate system information as well as selected other header metadata.

Implementation of this driver was supported by the United States Geological Survey.


PDS3 datasets can incorporate a VICAR header. By default, GDAL will use the PDS driver in that situation. Starting with GDAL 3.1, if the GDAL_TRY_PDS3_WITH_VICAR configuration option is set to YES, the dataset will be opened by the VICAR driver.

Driver capabilities

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

Configuration options

Configuration options can be specified in command-line tools using the syntax --config <NAME>=<VALUE> or using functions such as CPLSetConfigOption() (C) or gdal.config_options (Python). The following configuration option is available:

  • GDAL_TRY_PDS3_WITH_VICAR=[YES/NO]: (GDAL >= 3.1) Defaults to NO. If YES, open the dataset with the VICAR driver instead.


Due to ambiguities in the PDS specification, the georeferencing of some products is subtly or grossly incorrect. There are configuration variables which may be set for these products to correct the interpretation of the georeferencing. Some details are available in ticket #5941 and ticket #3940.

As a test, download both the label and image for the lunar LOLA DEM (digital elevation file) LOLA PDS label and LOLA PDS v3 image. Using gdalinfo, the reported centered should be perfectly at 0.0, 0.0 meters in Cartesian space without any configuration options.

$ gdalinfo ldem_4.lbl

Example conversion to GeoTiff:

$ gdal_translate ldem_4.lbl out_LOLA.tif

Example conversion and applying offset and multiplier values as defined in some PDS labels:

$ gdal_translate -ot Float32 -unscale ldem_4.lbl out_LOLA_32bit.tif

To show an example to correct an offset issue we can use the MOLA DEM from the PDS. Download both the MOLA PDS label and MOLA PDS v3 image. The MOLA labels currently contain a one pixel offset. To read this file correctly, use GDAL with these options.

$ gdalinfo --config PDS_SampleProjOffset_Shift -0.5 --config PDS_LineProjOffset_Shift -0.5 megt90n000cb.lbl

Again with these optional parameters, the center should be perfectly 0.0, 0.0 meters in Cartesian space.

Example conversion for MOLA:

$ gdal_translate --config PDS_SampleProjOffset_Shift -0.5 --config PDS_LineProjOffset_Shift -0.5 megt90n000cb.lbl out_MOLA_4ppd.tif

Example conversion and applying offset and multiplier values as defined in some PDS labels:

$ gdal_translate -ot Float32 -unscale --config PDS_SampleProjOffset_Shift -0.5 --config PDS_LineProjOffset_Shift -0.5 megt90n000cb.lbl out_MOLA_4ppd_32bit.tif

PDS is part of a family of related formats including ISIS2 and ISIS3.

See Also