PDS -- Planetary Data System v3
Driver short name
PDS
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.
Note
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
. IfYES
, open the dataset with the VICAR driver instead.
Georeferencing
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
Implemented as pdsdataset.cpp.