# PDS -- Planetary Data System v3

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.

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. Due to corrections made in ticket #5941 it is recommended to GDAL 1.11.4 or higher.

As a test (for GDAL versions 1.11.4 and higher), 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 in correctly using GDAL (versions 1.11.4 and higher) set 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:

- Implemented as `gdal/frmts/pds/pdsdataset.cpp`.
- NASA Planetary Data System
- GDAL ISIS2 Driver
- GDAL ISIS3 Driver