It is not always necessary for the output from astWrite
() to be human-readable, so a Channel has
attributes that allow the amount of detail in the output to be
controlled.
The first of these is the integer attribute Full, which controls the
extent to which optional, commented out, output lines are produced. By
default, Full is zero, and this results in the standard style of
output () where default values that may
be helpful to humans are included. To suppress these optional lines,
Full should be set to
1. This is most conveniently done when the
Channel is created, so that:
channel = astChannel( NULL, NULL, "Full=-1" ); (void) astWrite( channel, skyframe ); channel = astAnnul( channel );
would result in output containing only the essential information, such as:
Begin SkyFrame # Description of celestial coordinate system Naxes = 2 # Number of coordinate axes Ax1 = # Axis number 1 Begin SkyAxis # Celestial coordinate axis End SkyAxis Ax2 = # Axis number 2 Begin SkyAxis # Celestial coordinate axis End SkyAxis IsA Frame # Coordinate system description System = "FK4-NO-E" # Celestial coordinate system type Epoch = 1958 # Besselian epoch of observation End SkyFrame
In contrast, setting Full to 1 will result in additional output
lines which will reveal every last detail of the Object's
construction. Often this will be rather more than you want, especially
for more complex Objects, but it can sometimes help when debugging
programs. This is how a SkyFrame appears at this level of detail:
Begin SkyFrame # Description of celestial coordinate system # RefCnt = 1 # Count of active Object pointers # Nobj = 1 # Count of active Objects in same class IsA Object # Astrometry Object # Nin = 2 # Number of input coordinates # Nout = 2 # Number of output coordinates # Invert = 0 # Mapping not inverted # Fwd = 1 # Forward transformation defined # Inv = 1 # Inverse transformation defined # Report = 0 # Don't report coordinate transformations IsA Mapping # Mapping between coordinate systems # Title = "FK4 Equatorial Coordinates, no E-terms, Mean Equinox B1950.0, Epoch B1958.0" # Title of coordinate system Naxes = 2 # Number of coordinate axes # Domain = "SKY" # Coordinate system domain # Lbl1 = "Right Ascension" # Label for axis 1 # Lbl2 = "Declination" # Label for axis 2 # Sym1 = "RA" # Symbol for axis 1 # Sym2 = "Dec" # Symbol for axis 2 # Uni1 = "hh:mm:ss.s" # Units for axis 1 # Uni2 = "ddd:mm:ss" # Units for axis 2 # Dig1 = 7 # Individual precision for axis 1 # Dig2 = 7 # Individual precision for axis 2 # Digits = 7 # Default formatting precision # Fmt1 = "hms.1" # Format specifier for axis 1 # Fmt2 = "dms" # Format specifier for axis 2 # Dir1 = 0 # Plot axis 1 in reverse direction (hint) # Dir2 = 1 # Plot axis 2 in conventional direction (hint) # Presrv = 0 # Don't preserve target axes # Permut = 1 # Axes may be permuted to match # MinAx = 2 # Minimum number of axes to match # MaxAx = 2 # Maximum number of axes to match # MchEnd = 0 # Match initial target axes # Prm1 = 1 # Axis 1 not permuted # Prm2 = 2 # Axis 2 not permuted Ax1 = # Axis number 1 Begin SkyAxis # Celestial coordinate axis # RefCnt = 1 # Count of active Object pointers # Nobj = 2 # Count of active Objects in same class IsA Object # Astrometry Object # Label = "Angle on Sky" # Axis Label # Symbol = "delta" # Axis symbol # Unit = "ddd:mm:ss" # Axis units # Digits = 7 # Default formatting precision # Format = "dms" # Format specifier # Dirn = 1 # Plot in conventional direction IsA Axis # Coordinate axis # Format = "dms" # Format specifier # IsLat = 0 # Longitude axis (not latitude) # AsTime = 0 # Display values as angles (not times) End SkyAxis Ax2 = # Axis number 2 Begin SkyAxis # Celestial coordinate axis # RefCnt = 1 # Count of active Object pointers # Nobj = 2 # Count of active Objects in same class IsA Object # Astrometry Object # Label = "Angle on Sky" # Axis Label # Symbol = "delta" # Axis symbol # Unit = "ddd:mm:ss" # Axis units # Digits = 7 # Default formatting precision # Format = "dms" # Format specifier # Dirn = 1 # Plot in conventional direction IsA Axis # Coordinate axis # Format = "dms" # Format specifier # IsLat = 0 # Longitude axis (not latitude) # AsTime = 0 # Display values as angles (not times) End SkyAxis IsA Frame # Coordinate system description System = "FK4-NO-E" # Celestial coordinate system type Epoch = 1958 # Besselian epoch of observation # Eqnox = 1950 # Besselian epoch of mean equinox End SkyFrame
AST A Library for Handling World Coordinate Systems in Astronomy