A SkyFrame is a specialised form of Frame which describes celestial longitude/latitude
coordinate systems. The particular celestial coordinate system to be represented is
specified by setting the SkyFrame’
s System attribute (currently, the default is ICRS)
qualified, as necessary, by a mean Equinox value and/or an Epoch.
For each of the supported celestial coordinate systems, a SkyFrame can apply an optional shift of origin to create a coordinate system representing offsets within the celestial coordinate system from some specified point. This offset coordinate system can also be rotated to define new longitude and latitude axes. See attributes SkyRef, SkyRefIs and SkyRefP
All the coordinate values used by a SkyFrame are in radians. These may be formatted in more conventional ways for display by using astFormat.
"
printf"
format specifiers identified by "
%"
symbols in the normal way. If no
initialisation is required, a zero-length string may be supplied. "
options"
string contains "
%"
format specifiers, then an optional list of additional
arguments may follow it in order to supply values to be substituted for these
specifiers. The rules for supplying these are identical to those for the astSet
function (and for the C "
printf"
function). "
"
); "
System = FK5, Equinox = J2005, Digits = 10"
); "
System = FK4, Equinox = 1955-sep-2"
); "
1955-sep-2"
. "
System = GAPPT, Epoch = %s"
, date ); "
date"
. Currently, the default celestial coordinate system is ICRS. However, this default may
change in future as new astrometric standards evolve. The intention is to track the
most modern appropriate standard. For this reason, you should use the default only if
this is what you intend (and can tolerate any associated slight change in behaviour
with future versions of this function). If you intend to use the ICRS system
indefinitely, then you should specify it explicitly using an "
options"
value of "
System=ICRS"
.
Whichever celestial coordinate system is represented, it will have two axes. The first of these will be the longitude axis and the second will be the latitude axis. This order can be changed using astPermAxes if required.
When conversion between two SkyFrames is requested (as when supplying SkyFrames to astConvert), account will be taken of the nature of the celestial coordinate systems they represent, together with any qualifying mean Equinox or Epoch values, etc. The AlignSystem attribute will also be taken into account. The results will therefore fully reflect the relationship between positions on the sky measured in the two systems.
A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.