Also Known As: Planetary Data System Format
|Type||General data format|
|Maximum Image Size||Unlimited|
|Multiple Images Per File||Yes|
|See Also||FITS, VICAR2|
PDS is used by NASA and other institutions to store planetary data.
PDS is an ODL-based format similar in form and use to FITS and VICAR2.
Code fragments are available for this format.
Sample images are available for this format.
The PDS (Planetary Data System) file format is a standard format devised by the Planetary branch of the National Aeronautics and Space Administration (NASA) for storing solar, lunar, and planetary data collected on Earth and by interplanetary spacecraft.
PDS is actually a set of rules for the construction of labels to describe the structure of a variety of data files, including images. The basis for the labels is an Object Description Language (ODL), which describes each separate component of the data file as a distinct object. These labels have been designated for use by NASA's Planetary Data System.
A PDS image file could conceivably contain a number of different elements. The label might be a part of the data file, or it might be in a separate file. Each image row could have some leading and trailing information. There could be color palette or image histogram data before or after the image. There could even be multiple images in a single file. All of these possibilities can be handled with the PDS syntax.
This syntax has been used on the CD-ROMs of spacecraft data distributed by the PDS, such as the 12-disk "Voyagers To The Planets" set. A number of software packages also support PDS labels.
A PDS data file consists of a header (called the label) and a set of data objects. The label and data objects may reside in the same file or in separate files.
A PDS label is usually a collection of ASCII text records. The label records can be fixed length or variable length, although fixed length is more portable. Records are usually delimited by a carriage return and a linefeed character to ensure readability on the widest possible variety of computers.
The label uses ODL to give information about the data objects. The ODL object description has the general form:
OBJECT = object_name Information about the object END_OBJECT
Statements within an object description all have the form:
name = value
where name is a keyword, the name of a particular attribute associated with the object, and value is the value of the attribute. The attribute name can be up to 32 characters in length. The first character must be alphabetic, but the remaining characters can be alphabetic, numeric or the underscore character. The attribute values can be numeric (integer, real, or real with units), literal or enumerated values, strings, times, or object names. The values can also be arranged into arrays.
Direct access to data objects is possible by utilizing pointers to the objects in the label. A pointer is expressed with the notation:
^object_name = location
The location may be numeric, in which case it represents a starting record number for the object, or it may be a string giving the name of an external file.
The first record of a PDS label may be a Standard Format Data Unit (SFDU) ID in the format:
nnnnnnnnnnnnnnnnnnn = SFDU_LABEL
The ID is assigned by a central control authority (Consultative Committee for Space Data Systems), but it can be safely skipped by application software. Each PDS label must end with a statement of the form:
Comments may be embedded in the label, and a comment begins with the pair of characters /* (slash asterisk). The comment ends either at the end of the line or with the pair of characters */ (asterisk slash).
The PDS ODL is an evolving syntax, although downward compatibility is maintained. A number of new enhancements are supported under the second version of the syntax standard.
Here is a sample PDS version 1 label. The label is treated as a single byte stream of 203 bytes. Notice the (now obsolete) pointer syntax.
FILE_TYPE = IMAGE HEADER_RECORDS = 1 HEADER_RECORD_BYTES = 203 IMAGE_LINES = 512 LINE_SAMPLES = 512 SAMPLE_BITS = 8 IMAGE_POINTER = OLDIMAGE.IMG END
Here is sample PDS version 2 label. The image data starts at the tenth record in the file (that is, byte 2550).
NJPL1I00PDS100055825 = SFDU_LABEL RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 255 FILE_RECORDS = 223 /* 210 image records + 13 label */ LABEL_RECORDS = 13 /* This is a pointer to the file record where the image starts */ ^IMAGE = 10 OBJECT = IMAGE LINES = 210 LINE_SAMPLES = 255 SAMPLE_BITS = 8 END_OBJECT END
Here is another sample PDS version 2 label for an image with a detached label file:
CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL /* File Format and Length */ RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 1024 FILE_RECORDS = 512 /* Record Pointers to Major Objects */ ^IMAGE = 'SAMPLE.IMG' /* Descriptions of Objects in File */ OBJECT = IMAGE LINES = 512 LINE_SAMPLES = 512 SAMPLE_BITS = 16 END_OBJECT = IMAGE END
Because the PDS specifications are so lengthy, and because they are freely available, we have decided not to include them on the CD-ROM. For additional information about PDS, contact the JPL customer support facility:
National Aeronautics and Space Administration (NASA)
Jet Propulsion Laboratory
Mail Stop 525-3610
4800 Oak Grove Drive
Pasadena, CA 91109
Email: [email protected]
There is a set of several documents on PDS labels available from this facility:
Jet Propulsion Laboratory, Standards for the Preparation and Interchange of Data Sets, JPL Document D-4683, NASA, Pasadena, CA, 1988.
Jet Propulsion Laboratory, Data Preparation Workbook, JPL Document D-7669, NASA, Pasadena, CA, 1990.
Jet Propulsion Laboratory, Planetary Data System Standards Reference, JPL Document D-4683, NASA, Pasadena, CA, 1990.
Jet Propulsion Laboratory, Specification for the Object Description Language, NASA, Pasadena, CA, 1990.