KPG1_WRCAT

Writes a set of positions to a text file as a CAT catalogue

Description:

This routine is equivalent to KPG1_WRLST, except that it provides the option of storing a textual label with each position, via the extra argument LABS, and extra arbitrary columns via the extra argument KEYMAP.

Invocation

CALL KPG1_WRCAT( PARAM, ARRDIM, NPOS, NAX, POS, IFRM, IWCS, TITLE, ID0, IDENTS, KEYMAP, LABS, HIST, NULL, STATUS )

Arguments

PARAM = CHARACTER ( ) (Given)
The name of the parameter to use.
ARRDIM = INTEGER (Given)
The size of the first dimension of the positions array. This must be larger than or equal to NPOS.
NPOS = INTEGER (Given)
The number of positions to store in the file.
NAX = INTEGER (Given)
The number of axes in the Frame specified by IFRM.
POS( ARRDIM, NAX ) = DOUBLE PRECISION (Given)
The positions to store in the file. POS( I, J ) should give the axis J value for position I.
IFRM = INTEGER (Given)
The index of the Frame within IWCS to which the supplied positions relate. Can be AST__BASE or AST__CURRENT.
IWCS = INTEGER (Given)
A pointer to an AST FrameSet to store with the positions.
TITLE = CHARACTER ( ) (Given)
A title to store at the top of the text file. Ignored if blank.
ID0 = INTEGER (Given)
The integer identifier value to associate with the first supplied position. Identifiers for subsequent positions increase by 1 for each position. If this is supplied less than or equal to zero, then its value is ignored and the identifiers supplied in array IDENTS are used instead.
IDENTS( NPOS ) = INTEGER (Given)
The individual integer identifiers to associate with each position. Only accessed if ID0 is less than or equal to zero.
KEYMAP = INTEGER (Given)
An optional AST KeyMap containing data for extra columns to add to the catalogue. It can be used (for instance) to add character columns to the catalogue. If a value of AST__NULL is supplied, no extra columns are added to the catalogue. Otherwise, the column names and values can be specified using either of the following two schemes:
  • If the KeyMap contains an entry called " COLNAMES" , it is assumed to be a vector entry holding the names of the columns. For each of these column names, the value to store in a particular row of the catalogue is assumed to be held in a scalar KeyMap entry with key " <colname >_ <row number >" ( " _1" for the first row). If no such entry exists for a particular row, then the value is marked as bad in the catalogue. The data type of the column is determined from the first row value found for the column.

  • If the KeyMap does not contain an entry called " COLNAMES" , it is assumed that each entry in the KeyMap contains a vector holding all the values for a single column, in row order. The entry key is used as the column name, and the column data type is determined from the entry data type.

LABS = INTEGER (Given)
A GRP group identifier containing the labels to be associated with the positions. The number of elements in this group should be equal to NPOS. If GRP__NOID is supplied, no label column will be created.
HIST = INTEGER (Given)
A GRP group identifier containing history text to store with the catalogue. If GRP__NOID is supplied, no history information will be stored with the catalogue.
NULL = LOGICAL (Given)
Is the user allowed to supply a null value? If so, the error status will be annulled before returning.
STATUS = INTEGER (Given and Returned)
The global status.