A SkyFrame is, of course, a Frame () and also a
Mapping (
), so it inherits all the properties and
behaviour of these two ancestral classes. When used as a Mapping, a
SkyFrame implements a unit transformation, exactly like a basic Frame
(
) or a UnitMap, so this aspect of its
behaviour is not of great importance.
When used as a Frame, however, a SkyFrame represents a 2-dimensional spherical coordinate system, in which the shortest distance between two points is a great circle. A SkyFrame therefore always has exactly two axes which represent the longitude and latitude of a coordinate system residing on the celestial sphere. Many such coordinate systems can be represented by a SkyFrame, as we will see shortly.
A SkyFrame can represent any of the commonly used celestial coordinate systems. Optionally, the origin of the longitude/latitude system can be moved to any specified point in the standard celestial system, allowing a SkyFrame to represent offsets from a specified sky position.
When it is first created, a SkyFrame's axes are always in the order
(longitude, latitude) but this can be changed, if required, by using the
AST_PERMAXES routine (). The order of the axes
can be determined at any time using the LatAxis and LonAxis attributes. A
SkyFrame's coordinate values are always stored as angles in (double
precision) radians, regardless of the setting of the Unit attribute.
AST A Library for Handling World Coordinate Systems in Astronomy