This object defines a domain space. i.e.: it describes the set of possible coordinate values.
coords:CoordSpace
The abstract parent class for all coordinate axis types. We provide concrete classes for the most common types of data, Continuous, Binned, and Discrete, but allow extension for other types as needed.
coords:Axis
Freeform string, provides the name or label for the axis.
coords:Axis.name
Axis description for continuous data. This object describes the domain for a particular axis of the domain space. It allows for the specification of the legal domain range (min,max), and a flag indicating if the axis is cyclic.
coords:ContinuousAxis
Minimum extent of the axis domain space. If not provided, the domain space is considered to have no lower bound (-INFINITY).
coords:ContinuousAxis.domainMin
Maximum extent of the axis domain space. If not provided, the domain space is considered to have no upper bound (+INFINITY).
coords:ContinuousAxis.domainMax
Flag indicating if the axis is cyclic in nature. If not provided, it is assumed to be FALSE.
coords:ContinuousAxis.cyclic
Axis description for binned data, where values along the axis correspond to a bin number.
coords:BinnedAxis
The length, or number of bins, along the axis.
coords:BinnedAxis.length
Axis type specifically intended for enumerated coordinates. Since the content and nature of this axis type is heavily dependent on the use case, we define no additional metadata here. Extensions of this type may include additional metadata relevant to the particular use cases. For example, an extension could include the allowed set of values.
coords:DiscreteSetAxis
This is the abstract, empty, base class for all coordinate frames. Coordinate frames provide metadata associated with the coordinate domain space. Typically, this will be related to the origin and orientation of the axes, but might include any metadata which pertains to the definition of the domain.
coords:CoordFrame
The generic coordinate frame is for cases where a domain-specific frame (e.g.: Space, Time), is not required, but the relevant reference metadata is still needed (e.g.: for Redshift or Spectral data)
coords:GenericCoordFrame
Spatial location in phase space (position and velocity) at which the observed value is considered to have been taken. This will typically be given by a standard reference position, but we allow for custom locations as well.
coords:GenericCoordFrame.refPosition
A planetary ephemeris MAY be provided, and SHOULD be provided whenever appropriate, to indicate which solar system ephemeris was used. If needed, but not provided, it is assumed to be "DE405"
coords:GenericCoordFrame.planetaryEphem
A SpaceFrame is specified by its reference frame (orientation), and a reference position (origin). Currently only standard reference frames are allowed. An equinox MUST be provided for pre-ICRS reference frames. A planetary ephemeris MAY be provided if relevant. If needed, but not provided, it is assumed to be "DE405".
coords:SpaceFrame
The spatial location at which the coordinates are considered to have been determined. This model supports locations provided as either a standard reference position (e.g. GEOCENTER), or a coordinate specifying a custom location (e.g. long, lat, height ).
coords:SpaceFrame.refPosition
The spatial reference frame. Values MUST be selected from the controlled vocabulary at the given URL.
coords:SpaceFrame.spaceRefFrame
Reference date for the frame, required for pre-ICRS reference frames.
coords:SpaceFrame.equinox
Ephemeris file for solar system objects SHOULD be specified whenever relevant.
coords:SpaceFrame.planetaryEphem
A TimeFrame SHALL include a time scale and reference position. It MAY also include a reference direction.
coords:TimeFrame
The spatial location at which the coordinate is considered to have been taken. This model supports locations provided as either a standard reference position (e.g. GEOCENTER), or a coordinate specifying a custom location (e.g. long, lat, height).
coords:TimeFrame.refPosition
The time scale sets the reference frame. The value MUST be selected from the controlled vocabulary at the given URL.
coords:TimeFrame.timescale
The reference direction is needed if the time stamps are transformed to a time frame with a different reference position. In those situations, the solar system ephemeris also comes into play. See: FITS WCS Paper IV for details, but in short: The reference direction, presumably the direction to the thing being observed, is used in conjunction with the reference position and planetary ephemeris to determine the correction applied for the path length change. To be fully useful, one also needs to know the location at which the observation was made ( i.e. the observatory location), which is not considered to be Frame metadata.
coords:TimeFrame.refDirection
The CoordSys object is the parent of a set of containers for organizing Coordinate Frames into related groupings.
coords:CoordSys
AstroCoordSystem is a container object for organizing physical Coordinate Frame specifications into related groupings. An AstroCoordSystem MAY reference any number of coordinate frames.
coords:AstroCoordSystem
Frame specification for some domain of the coordinate space.
coords:AstroCoordSystem.coordFrame
The PixelCoordSystem provides a complete description of the pixel coordinate space. It SHALL contain one PixelSpace instance describing each pixel axis.
coords:PixelCoordSystem
A PixelSpace SHALL include one or more BinnedAxis objects describing the pixel coordinate space. A handedness value MAY be provided to specify the relative orientation of the axes.
coords:PixelSpace
Specifies the handedness of the coordinate space.
coords:PixelSpace.handedness
Abstract base class for the Coordinate data types which represent an absolute location within a coordinate space. Coordinates MAY refer to a coordinate frame, providing additional metadata relevant to interpreting the coordinate value.
coords:Coordinate
Provided additional metadata relevant to interpreting the coordinate value; for example, the spatial reference position, or time scale.
coords:Coordinate.frame
Abstract head of the atomic coordinate value types. Each coordinate value MUST reference the associated axis in the coordinate space. Combined with the inherited coordinate frame reference, the CoordValue type basically represents the phrase "I am a value along that axis in that frame."
NOTE: In this model we provide a generic means for describing any sort of data, as well as a set of simple, specialized Coordinate types for the most common data which encapsulate much of the domain space metadata into the definition of the class itself.
coords:CoordValue
Parent for all generic coordinate types. Associates the coordinate with a particular axis of the coordinate space.
coords:GenericCoordValue
Reference to the particular axis of the coordinate space along which this value is given.
e.g.: the X axis of a 3D CARTESIAN coordinate space.
coords:GenericCoordValue.axis
The most common type of coordinate value. This type is appropriate for any data whose values can be described by an ivoa:Quantity (numeric, with unit).
coords:PhysicalCoordValue
This coordinate MUST contain a value expressed as an ivoa:Quantity.
coords:PhysicalCoordValue.cval
Coordinate value type specifically intended for binned data (e.g.: pixel indexes).
coords:BinnedCoordValue
The binned coordinate value, expressed as an integer. e.g.: bin number, pixel index.
coords:BinnedCoordValue.cval
Multi-dimensional coordinate value. This container can be used to collect coordinate values which should be considered as a single entity. Any concrete class of this type MUST contain a specific number of component values in order to comply with vo-dml modeling rules. We define concrete classes for 1-D, 2-D, and 3-D cases. As a Coordinate, this class MAY include a coordinate frame reference, as do the component coordinate values. In practice, the coordinate frame reference may be on either the composite coordinate or the component coordinate values, but MUST NOT be on both.
coords:CompositeCoordinate
Component member of the composite coordinate. All components MUST refer to axes of the same coordinate space.
coords:CompositeCoordinate.cmpt
A 1-dimensional composite coordinate. By itself, this type has limited usefulness, but facilitates cases where the coordinate dimensionality may not be known a priori.
coords:CompositeCoord1D
A 2-dimensional composite coordinate.
coords:CompositeCoord2D
A 3-dimensional composite coordinate.
coords:CompositeCoord3D
Standardized coordinate appropriate for any one-dimensional coordinate within a standard 1D coordinate space, that is not represented by another type. For example, Temperature, Pressure, Magnitude, Energy, etc.
coords:Standard1DCoord
Coordinate value along the axis.
coords:Standard1DCoord.cval
Abstract head of a set of specialized coordinates for the spatial domain which cover the most commonly used cases. All SpaceCoords SHOULD refer to an appropriate SpaceFrame. In this model, we define 2 standard spatial coordinate space instances, (Cartesian and Spherical). Here, we provide atomic coordinates associated with these spaces which can be used in a variety of different applications.
coords:SpaceCoord
Coordinate value along the designated axis.
coords:SpaceCoord.cval
A spatial location along the 'X' axis of a standard 3D Cartesian coordinate space.
coords:X
A spatial location along the 'Y' axis of a standard 3D Cartesian coordinate space.
coords:Y
A spatial location along the 'Z' axis of a standard 3D Cartesian coordinate space.
coords:Z
A spatial location along the 'Longitude' axis of a standard 3D Spherical coordinate space.
coords:Longitude
A spatial location along the 'Latitude' axis of a standard 3D Spherical coordinate space.
coords:Latitude
A spatial location along the radial axis of a standard 3D Spherical coordinate space.
coords:R
This is the abstract basis for a set of simple time domain coordinates which are expected to accommodate the vast majority of use cases.
All TimeStamps, by definition, refer to the axis of a standard 1-D coordinate space, with domainMin|Max of +/-Infinity. As such, there is no 'axis' reference on TimeStamps. All TimeStamps SHOULD refer to an appropriate TimeFrame.
coords:TimeStamp
Time is given as an offset from a specific point in time (time0).
coords:TimeOffset
The TimeOffset coordinate value.
coords:TimeOffset.time
The reference time from which the offset is calculated. This MUST be given as a TimeInstant (e.g.: JD, MJD, ISOTime).
coords:TimeOffset.time0
TimeStamps which specify a specific instant in time. We define three subtypes (ISOTime, JD, MJD), which allow users to explicitly identify the representation and interpretation of the TimeInstant.
coords:TimeInstant
Extension of TimeInstant for time expressed as a structured datetime string.
The string representation of a datetime value should follow the FITS convention for representing dates (Hanish and Farris et al, 2001). The FITS standard is effectively ISO8601 format without the 'Z' tag to indicate UTC: YYYY-MM-DD['T'hh:mm:ss[.SSS]]. The TimeScale is provided in the associated TimeFrame.
coords:ISOTime
The ISOTime coordinate value.
coords:ISOTime.date
Extension of TimeInstant for time expressed in Julian days. Note that JD does not properly specify a time stamp unless it is related to a time scale and reference position. Precision can easily become an issue with JD, as the numbers tend to be large.
coords:JD
The JD coordinate value. JD dates are dimensionless, with implied units in days.
coords:JD.date
Extension of TimeInstant for time expressed in Modified Julian Days. T(MJD) = T(JD) - 2400000.5.
coords:MJD
The MJD coordinate value. MJD dates are dimensionless, with implied units in days.
coords:MJD.date
A coordinate value in the pixel domain. A 1-dimensional pixel index. There is no frame in the pixel domain, so no frame reference is allowed.
coords:PixelIndex
Abstract head of the polarization coordinate types. Here we constrain the coordinate value to refer to a discrete axis type.
coords:PolCoordValue
Coordinate for Circular Polarization type
coords:PolCircular
The coordinate value MUST be from the PolCircularEnum enumerated set.
coords:PolCircular.cval
Coordinate for LinearPolarization type
coords:PolLinear
The coordinate value MUST be from the PolLinearEnum enumerated set.
coords:PolLinear.cval
Coordinate for Stokes Polarization type
coords:PolStokes
The coordinate value MUST be from the PolStokesEnum enumerated set.
coords:PolStokes.cval
Coordinate for Vector Polarization type
coords:PolVector
The coordinate value MUST be from the PolVectorEnum enumerated set.
coords:PolVector.cval
RefLocation defines the origin of the spatial coordinate space. This location is represented either by a standard reference position (for which the absolute location in phase space is known by definition), or a specified point in another Spatial frame. This object is used as the origin of the SpaceFrame here, but also to specify the Spatial Reference Position (refPosition) associated with other domain Frames. For example, in the Time domain, the Spatial Reference Position indicates that the 'time' values are the time that the 'event' occured at that location, which might be different from the detector location.
coords:RefLocation
An absolute a-priori known location in phase space (position and velocity). Values are selected from the StdRefPosition vocabulary. Considering that the GEOCENTER is really the only place for which we know the absolute location at all times, all other locations require the specification of a planetary ephemeris. LSR[KD] are reserved for spectral and reshift frames. TOPOCENTER (location of the observer) is special in that it assumes that the observing location is available through other means (e.g. a geographic location or an orbit ephemeris). RELOCATABLE is available for simulations. UNKNOWN should only be used if absolutely necessary.
coords:StdRefLocation
Standard reference location. Values MUST be selected from the controlled vocabulary at the given URL.
coords:StdRefLocation.position
A custom reference location in phase space (position and velocity). Position and velocity are given as coordinates with an associated SpaceFrame. An epoch MAY be provided to further refine the location.
coords:CustomRefLocation
Epoch for the reference location.
coords:CustomRefLocation.epoch
The spatial coordinates of the reference location.
coords:CustomRefLocation.position
The velocity of the reference location.
coords:CustomRefLocation.velocity
We define epoch as a primitive data type with the expected form "<type><year>" where type = "J" or "B" for Julian or Besselian respectively, and year is expressed as a decimal year. e.g.: "B1950", "J2000.0"
coords:Epoch
The handedness of a coordinate space. For most cases, this will be a fixed value in the specification of the coordinate space. We provide this element to allow this flexibility when needed. In this document, it is used in the Pixel domain.
coords:Handedness
positive x and y axes point right and up, the positive z axis points inward
coords:Handedness.left
positive x and y axes point right and up, the positive z axis points outward
coords:Handedness.right
Stokes Polarization states
coords:PolStokesEnum
TODO : Missing description : please, update your UML model asap.
coords:PolStokesEnum.I
TODO : Missing description : please, update your UML model asap.
coords:PolStokesEnum.Q
TODO : Missing description : please, update your UML model asap.
coords:PolStokesEnum.U
TODO : Missing description : please, update your UML model asap.
coords:PolStokesEnum.V
Circular Polarization states
coords:PolCircularEnum
TODO : Missing description : please, update your UML model asap.
coords:PolCircularEnum.RR
TODO : Missing description : please, update your UML model asap.
coords:PolCircularEnum.LL
TODO : Missing description : please, update your UML model asap.
coords:PolCircularEnum.RL
TODO : Missing description : please, update your UML model asap.
coords:PolCircularEnum.LR
Linear Polarization states
coords:PolLinearEnum
TODO : Missing description : please, update your UML model asap.
coords:PolLinearEnum.XX
TODO : Missing description : please, update your UML model asap.
coords:PolLinearEnum.YY
TODO : Missing description : please, update your UML model asap.
coords:PolLinearEnum.XY
TODO : Missing description : please, update your UML model asap.
coords:PolLinearEnum.YX
Vector Polarization states
coords:PolVectorEnum
TODO : Missing description : please, update your UML model asap.
coords:PolVectorEnum.I
TODO : Missing description : please, update your UML model asap.
coords:PolVectorEnum.PF
TODO : Missing description : please, update your UML model asap.
coords:PolVectorEnum.PP
TODO : Missing description : please, update your UML model asap.
coords:PolVectorEnum.PA