A. H. Rots
The XML implementation of the Space-Time Coordinate (STC) metadata is described through UML-like diagrams.
This is a Note. The first release of this document was 15 March 2005.
This is an IVOA Note expressing suggestions from and opinions of the authors. It is intended to share best practices, possible approaches, or other perspectives on interoperability with the Virtual Observatory. It should not be referenced or otherwise interpreted as a standard specification.
A list ofcan be found at http://www.ivoa.net/Documents/.
The diagrams were created using Altova’s XMLSpy.
In this Note the XML implementation of the Space-Time Coordinate metadata (STC) is illustrated through the UML-like diagrams created by XMLSpy.
The corresponding XML schemata may be found at:
The definition of STC and the linear string implementation STC-S (based on the current document) are referenced at the end of this document.
There are currently four types of STCmetadata elements derived, all based on the stcDescriptionType consisting of three elements: CoordSys, Coords, and CoordArea.
Basic CoordSys contains one or more CoordFrames and is required to have an ID.
There are 5 specific Frame implementations and 1 generic Frame.
There are two specific coordinate systems derived from CoordSys: AstroCoordSystem and PixelCoordSystem.
AstroCoordSystem contains 3 required Frames, an optional Frame, and may contain any number of generic Frames.
It is derived from coordSysType by restriction.
PixelCoordSystem is made up of Frames that only have a name
The OffsetCenter is added to accommodate lists with RA and Dec offsets.
Note that this is intended for pure numeric RA and Dec offsets; true angle offsets should be handled through a CustomSpaceRefFrame.
The SpectralFrame is simple:
The RedshiftFrame has a little more:
The GenericCoordFrame (and PixelCoordFrame) just have a name:
The SpaceReferenceFrame (part of SpaceFrame) uses the names of the elements in the SpaceRefFrame substitution group to identify the frame, rather than using a single element with enumerated values; this makes it easier to extend the list – by just adding members to the substitution group – such as solar reference systems.
Note that ICRS does not have an Equinox element. The figure below is truncated.
The ReferencePosition uses the same technique:
The CoordFlavor also determines the flavor by the names of the substitution group’s elements and is similarly easily extensible.
In addition, these elements have two attributes: the number of axes (coord_naxes, default 2) and a Boolean indicating whether velocities are present (coord_vel, default false)
Coords is the generic coordinates element. It needs to refer to a specific instance of a CoordSys.
There are two derived classes: AstroCoords (by extension) and PixelCoords (by restriction).
AstroCoords contains specific astronomical coordinates (time, space, spectral, redshift) and, optionally, generic coordinates
The simple Coordinate just has a Name. Its simplest derived classes add only a Value (PixelCoordinate) or a Values and an optional Unit (StringCoordinate). ScalarCoordinate is the generalized full coordinate type.
ScalarCoordinate, in addition to the Name, has an optional Unit and the full 5 coordinate components (Value, Error, Resolution, Size, and PixelSize), each of which may be an actual value or an IDREF pointing to another element in the document. Not all components need to be present, but at least one of them ought to. Note that components other than Value may appear in pairs, which would indicate a range.
AstronTime is especially designed for astronomical application. It needs to contain a Timescale and an absolute time. The latter may be expressed in a subset of ISO-8601 or as Julian or Modified Julian Day. In all cases this may be an actual value or an IDREF to another element in the document. Note that (M)JD values are xs:decimal in order to achieve necessary precision. RELOCATABLE TimeOrigin s especially for simulations. In addition, time may be expressed as relative (elapsed) time in which case the AbsoluteTime element provides the reference time; in such a situation will will almost certainly want to use an IDREF for one of AbsoluteTime’s derived types.
Spatial Position is more complicated Coordinate type since it refers to a compound axis; i.e., it may be 1-, 2-, or 3-dimensional.
In particular, the multi-dimensional components other than Value are more complicated. Value would be a vector of 3 doubles in Position3D, but the others might include additional position angles or might be formally expressed by a 3x3 matrix. The attributes of a position angle provide its units as well as its definition.
Coordinates in a FITS file:
The AstroCoords element may refer to a specific binary table HDU in a FITS file (specified through FITSFile, derived from anyURI), identifying the columns in which individual coordinate components are contained.
CoordArea specifies the volume in coordinate space that is occupied by the object to which the STC metadata is attached. It requires an IDREF pointing to a CoordSys. An area may consist of multiple intervals along each axis. Intervals have a FillFactor.
PixelCoordArea specifies the bounds of a pixilated data object in pixel space.
Spatial area is not only more complicated because it may be multi-dimensional by itself, but also because there are additional options: a Region (specified directly or in a file) or a Sphere (or Circle/Cone).
This is the most fundamental element type to specify an area; it may be 1-, 2-, or 3-dimensional. Bounds may or may not be included. Presence of only one of the bounds indicates a lower, respectively upper, limit.
Region is a specialized construct to address the needs for expressing common spatial shapes in a comprehensive way. A Region may consist of a Shape or be the result of an operation performed on one (Negation) or two (Union, Intersection) Regions.
AllSky is an empty element (except for FillFactor) that is just a convenience.
Convex and ConvexHull operate on the Unit Sphere.
A. H. Rots, Space-Time Coordinate Metadata for the Virtual Observatory,
A. H. Rots, STC-S
(LinearSTC): Space-Time Coordinate (STC) Metadata Linear String