User's Guide

DIFFDDR

Compare multiple DDR's

Function:

Performs a comparison of the DDR's which are input. If more than two DDR's are input, each DDR from the second to the last will be compared against the first.

Parameters:

Subcommand -FLAG:
Returns a value to IDENTFLG. This value will be 'YES' if the DDR's were identical, or 'NO' if the DDR's were different.

IN
Input images. These are the images whose DDR's will be compared. The user may enter up to 25 images.

BANDDDR(NO)
Compare Band DDR's. This is a flag which indicates if the user would like to compared the bands in the DDR files. The two valid choices for this field are 'YES' and 'NO'. If the user selects 'YES', then the band DDR's will be compared. If the user selects 'NO', then the band DDR's will not be compared.

PRINT(TERM)
Output Desination. The user may select to get no output, output to the terminal, a line printer, or a file. The user can select up to all three of these choices. The default is 'TERM'

  = --:        No Report
  = TERM:      Terminal.  Output is sent to the
               user's terminal.
  = LP:        Line printer.  Output is sent to
               the printer defined by $PRINTER.
  = Filename:  User supplied filename.  Output
               is sent to the user supplied file
               with the extension ".prt".

IDENTFLG
This is the variable which will receive the return value from DIFFDDR. This must be a local string variable to the calling function, and will be set to either 'YES' or 'NO'. A return value of 'YES' will mean that all of the DDR's input were identical. A return value of 'NO' will mean that there was at lease one difference in the DDR's.
Subcommand -NOFLAG:
Does not return a value to IDENTFLG.

IN
Input images. These are the images whose DDR's will be compared. The user may enter up to 25 images.

BANDDDR(NO)
Compare Band DDR's. This is a flag which indicates if the user would like to compared the bands in the DDR files. The two valid choices for this field are 'YES' and 'NO'. If the user selects 'YES', then the band DDR's will be compared. If the user selects 'NO', then the band DDR's will not be compared.

PRINT(TERM)
Output Desination. The user may select to get no output, output to the terminal, a line printer, or a file. The user can select up to all three of these choices. The default is 'TERM'

  = --:        No Report
  = TERM:      Terminal.  Output is sent to the
               user's terminal.
  = LP:        Line printer.  Output is sent to
               the printer defined by $PRINTER.
  = Filename:  User supplied filename.  Output
               is sent to the user supplied file
               with the extension ".prt".

Examples:

  1. LAS> diffddr in=("image1","image2")

    The DDR's of image1 and image2 will be compared, and all the differences will be output to the terminal. IDENTFLG will not be returned. Information contained in the Band DDR's will not be compared. The -NOFLAG subcommand is implied.

  2. LAS> diffddr-noflag in=("image1","image2") print=("term","tempfile")

    The DDR's of image1 and image2 will be compared, and all the differences will be output to the terminal and also to a file named 'tempfile.prt'. Information contained in the Band DDR's will not be compared.

  3. LAS> diffddr-noflag in=("image1","image2","image3") bandddr="yes"

    The DDR's and Band DDR's of image2 and image3 will be compared against the DDR and Band DDR of image1, and all output will be to the terminal. IDENTFLG will not be returned.

  4. LAS> diffddr-flag in=("image1","image2") identflg=string_var

    The DDR's of image1 and image2 will be compared, and all the differences will be output to the terminal. STRING_VAR will be set to 'YES' if there were no differences in the DDR's, and set to 'NO' if there were differences in the DDR's.

  5. LAS> diffddr-flag in=("image1","image2") identflg=string_var print=--

    The DDR's of image1 and image2 will be compared, and there will be no output. STRING_VAR will be set to 'YES' if there were no differences in the DDR's, and set to 'NO' if there were differences in the DDR's.

Description

DIFFDDR will perform a comparison of the DDR's and, optionally, the bands of the DDR's. There are two subcommands, -FLAG and -NOFLAG, with -NOFLAG being the default. If -FLAG is selected, then DIFFDDR will return a string to the input paramter "IDENTFLG". IDENTFLG will be 'YES' if the DDR's were identical and 'NO' if they were not identical. The subcommand -FLAG will need to be called from another PDF which will accept the return value.

DDR Fields

The fields in the DDR which are compared are:

  - Number of Lines
  - Number of Samples
  - Number of Bands
  - Data Type
  - Projection Code
  - Zone Code
  - Datum Code
  - Projection Parameters (Each projection parameter will be compared 
                           seperately)
  - Corner Coordinates (Each corner coordinate will be compared seperately)
  - Projection Distance
  - Projection Units
  - Increment
  - Master Coordinates

If the user selects to compare bands, all fields in the Band DDR's will be compared.

Nonfatal Error Messages

    None

Fatal Error Messages

  1. [diffddr-close] Error closing output file <xxxxx> Error occurred when closing <xxxxx>

    An error occurred when closing the output file listed.

  2. [diffddr-compddr] Error comparing files

    An error occurred when comparing the two files. One file is possibly corrupted.

  3. [diffddr-compband] Error opening Band DDR for <xxxxx>

    An error occurred when attempting to open a band DDR for <xxxxx>. The file is possibly corrupted.

  4. [diffddr-compddr] Error opening DDR file <xxxxx>

    An error occurred when attempting to open the DDR file <xxxxx>. The file is possibly corrupted.

  5. [diffddr-compddr] Error comparing bands

    An error occurred when comparing the bands of two images.

  6. [diffddr-do_output] Error writing to <xxxxx>

    An error occurred when writing to the file. Possible problems include insufficient disk space.

  7. [diffddr-getpar] Error reading parameter IN-count

    An error occurred when attempting to read IN-count parameter from the TAE parameter block.

  8. [diffddr-getpar] Error reading parameter IN

    An error occurred when attempting to read IN parameter from the TAE parameter block.

  9. [diffddr-getpar] Error reading parameter <xxxxx>

    An error occurred when reading parameter <xxxx>

  10. [diffddr-open] Error opening output file

    An error occurred when opening the output file. Possible problems include insufficient disk space and incorrect permissions on the directory.

  11. [diffddr-open] Error opening <xxxxx>

    An error occurred when opening <xxxxx>. Possible problems include insufficient disk space.

  12. [diffddr-output] Error writing to <xxxxx>

    An error occurred when trying to write to the file <xxxxx>. Possible problems include insufficient disk space.

  13. [diffddr-q_out] Error returning parameter block

    An error occurred when attempting to return the TAE parameter block.

  14. [diffddr-q_string] Error returning IDENTFLG

    An error occurred when attempting to return IDENTFLG to the TAE parameter block

  15. [diffddr-setprt] Error initializing print parameters

    An error occurred when setting print parameters and retrieving the output file.