Astronomical Coordinates and Coordinate Systems

Table of Contents

1.     model: coords
2.     Packages and Types
2.1     [root package]
2.1.1     objectType:AstroCoordSystem
2.1.2     objectType:Axis
2.1.3     objectType:BinnedAxis
2.1.4     dataType:BinnedCoordValue
2.1.5     dataType:CompositeCoord1D
2.1.6     dataType:CompositeCoord2D
2.1.7     dataType:CompositeCoord3D
2.1.8     dataType:CompositeCoordinate
2.1.9     objectType:ContinuousAxis
2.1.10     objectType:CoordFrame
2.1.11     objectType:CoordSpace
2.1.12     objectType:CoordSys
2.1.13     dataType:CoordValue
2.1.14     dataType:Coordinate
2.1.15     dataType:CustomRefLocation
2.1.16     objectType:DiscreteSetAxis
2.1.17     primitiveType:Epoch
2.1.18     objectType:GenericCoordFrame
2.1.19     dataType:GenericCoordValue
2.1.20     enumeration:Handedness
2.1.21     dataType:ISOTime
2.1.22     dataType:JD
2.1.23     dataType:Latitude
2.1.24     dataType:Longitude
2.1.25     dataType:MJD
2.1.26     dataType:PhysicalCoordValue
2.1.27     objectType:PixelCoordSystem
2.1.28     dataType:PixelIndex
2.1.29     objectType:PixelSpace
2.1.30     dataType:PolCircular
2.1.31     enumeration:PolCircularEnum
2.1.32     dataType:PolCoordValue
2.1.33     dataType:PolLinear
2.1.34     enumeration:PolLinearEnum
2.1.35     dataType:PolStokes
2.1.36     enumeration:PolStokesEnum
2.1.37     dataType:PolVector
2.1.38     enumeration:PolVectorEnum
2.1.39     dataType:R
2.1.40     dataType:RefLocation
2.1.41     dataType:SpaceCoord
2.1.42     objectType:SpaceFrame
2.1.43     dataType:Standard1DCoord
2.1.44     dataType:StdRefLocation
2.1.45     objectType:TimeFrame
2.1.46     dataType:TimeInstant
2.1.47     dataType:TimeOffset
2.1.48     dataType:TimeStamp
2.1.49     dataType:X
2.1.50     dataType:Y
2.1.51     dataType:Z
3.     vodml-id-s
4.     Imported Models
4.1     ivoa

1. Model: Astronomical Coordinates and Coordinate Systems (coords)

Authors : Arnold Rots, Mark Cresitello-Dittmar, Omar Laurino
Date : 2019-08-30T16:28:12
Version : 1.0
Previous version: : 0
Abstract : This model defines objects which describe the coordinate space, coordinates within that space, and frames, which provide additional metadata regarding the origin, orientation, etc, of the coordinate space. The model also defines a coordinate system, bundling frames into associated groups.
Diagram : The following diagram has been generated from the model using the GraphViz tool.
The classes and packages in the diagram can be clicked and are mapped to the descriptions of the corresponding element elsewhere in the document.

2.Model contents: Packages and Types

The following sub-sections present all packages in the model with their types. The packages are listed here in alphabetical order. Each sub-section contains a description of the package and a table containing its various features.

2.1 [root package]

Model coords
Object types AstroCoordSystem Axis BinnedAxis ContinuousAxis CoordFrame CoordSpace CoordSys DiscreteSetAxis GenericCoordFrame PixelCoordSystem PixelSpace SpaceFrame TimeFrame
Data types BinnedCoordValue CompositeCoord1D CompositeCoord2D CompositeCoord3D CompositeCoordinate CoordValue Coordinate CustomRefLocation GenericCoordValue ISOTime JD Latitude Longitude MJD PhysicalCoordValue PixelIndex PolCircular PolCoordValue PolLinear PolStokes PolVector R RefLocation SpaceCoord Standard1DCoord StdRefLocation TimeInstant TimeOffset TimeStamp X Y Z
Enumerations Handedness PolCircularEnum PolLinearEnum PolStokesEnum PolVectorEnum
Primitive types Epoch

2.1.1 objectType: AstroCoordSystem

vodml-id AstroCoordSystem
description AstroCoordSystem is a container object for organizing physical Coordinate Frame specifications into related groupings. An AstroCoordSystem MAY reference any number of coordinate frames.
extends CoordSys [coords:CoordSys]
references
name feature value
coordFrame type CoordFrame [coords:CoordFrame]
vodml-id AstroCoordSystem.coordFrame
multiplicity 0..*
description Frame specification for some domain of the coordinate space.

2.1.2 objectType: Axis

vodml-id Axis
description 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.
abstract True
Subclasses in this model BinnedAxis ContinuousAxis DiscreteSetAxis
referrers GenericCoordValue
attributes
name feature value
name type ivoa:string
vodml-id Axis.name
multiplicity 0..1
description Freeform string, provides the name or label for the axis.

2.1.3 objectType: BinnedAxis

vodml-id BinnedAxis
description Axis description for binned data, where values along the axis correspond to a bin number.
extends Axis [coords:Axis]
attributes
name feature value
length type ivoa:nonnegativeInteger
vodml-id BinnedAxis.length
multiplicity 1
description The length, or number of bins, along the axis.

2.1.4 dataType: BinnedCoordValue

vodml-id BinnedCoordValue
description Coordinate value type specifically intended for binned data (e.g.: pixel indexes).
extends GenericCoordValue [coords:GenericCoordValue]
Subclasses in this model PixelIndex
attributes
name feature value
cval type ivoa:integer
vodml-id BinnedCoordValue.cval
multiplicity 1
description The binned coordinate value, expressed as an integer. e.g.: bin number, pixel index.
role constraints
Constrained Role Constraint Feature Constraint Value
axis [coords:GenericCoordValue.axis]
datatype BinnedAxis [coords:BinnedAxis]

2.1.5 dataType: CompositeCoord1D

vodml-id CompositeCoord1D
description 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.
extends CompositeCoordinate [coords:CompositeCoordinate]
constraints
cmpt:CoordValue[1]

2.1.6 dataType: CompositeCoord2D

vodml-id CompositeCoord2D
description A 2-dimensional composite coordinate.
extends CompositeCoordinate [coords:CompositeCoordinate]
constraints
cmpt:CoordValue[2]

2.1.7 dataType: CompositeCoord3D

vodml-id CompositeCoord3D
description A 3-dimensional composite coordinate.
extends CompositeCoordinate [coords:CompositeCoordinate]
constraints
cmpt:CoordValue[3]

2.1.8 dataType: CompositeCoordinate

vodml-id CompositeCoordinate
description 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.
extends Coordinate [coords:Coordinate]
abstract True
Subclasses in this model CompositeCoord1D CompositeCoord2D CompositeCoord3D
attributes
name feature value
cmpt type CoordValue [coords:CoordValue]
vodml-id CompositeCoordinate.cmpt
multiplicity 1..*
description Component member of the composite coordinate. All components MUST refer to axes of the same coordinate space.

2.1.9 objectType: ContinuousAxis

vodml-id ContinuousAxis
description 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.
extends Axis [coords:Axis]
attributes
name feature value
domainMin type ivoa:Quantity
vodml-id ContinuousAxis.domainMin
multiplicity 0..1
description Minimum extent of the axis domain space. If not provided, the domain space is considered to have no lower bound (-INFINITY).
domainMax type ivoa:Quantity
vodml-id ContinuousAxis.domainMax
multiplicity 0..1
description Maximum extent of the axis domain space. If not provided, the domain space is considered to have no upper bound (+INFINITY).
cyclic type ivoa:boolean
vodml-id ContinuousAxis.cyclic
multiplicity 0..1
description Flag indicating if the axis is cyclic in nature. If not provided, it is assumed to be FALSE.

2.1.10 objectType: CoordFrame

vodml-id CoordFrame
description 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.
abstract True
Subclasses in this model GenericCoordFrame SpaceFrame TimeFrame
referrers AstroCoordSystem Coordinate

2.1.11 objectType: CoordSpace

vodml-id CoordSpace
description This object defines a domain space. i.e.: it describes the set of possible coordinate values.
Subclasses in this model PixelSpace
compositions
name feature value
axis type Axis [coords:Axis]
vodml-id CoordSpace.axis
multiplicity 1..*
isOrdered false
description Describes an axis of the coordinate space.

2.1.12 objectType: CoordSys

vodml-id CoordSys
description The CoordSys object is the parent of a set of containers for organizing Coordinate Frames into related groupings.
abstract True
Subclasses in this model AstroCoordSystem PixelCoordSystem

2.1.13 dataType: CoordValue

vodml-id CoordValue
description 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.
extends Coordinate [coords:Coordinate]
abstract True
Subclasses in this model GenericCoordValue SpaceCoord Standard1DCoord TimeStamp

2.1.14 dataType: Coordinate

vodml-id Coordinate
description 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.
abstract True
Subclasses in this model CompositeCoordinate CoordValue
references
name feature value
frame type CoordFrame [coords:CoordFrame]
vodml-id Coordinate.frame
multiplicity 0..1
description Provided additional metadata relevant to interpreting the coordinate value; for example, the spatial reference position, or time scale.

2.1.15 dataType: CustomRefLocation

vodml-id CustomRefLocation
description 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.
extends RefLocation [coords:RefLocation]
attributes
name feature value
epoch type Epoch [coords:Epoch]
vodml-id CustomRefLocation.epoch
multiplicity 0..1
description Epoch for the reference location.
position type CompositeCoordinate [coords:CompositeCoordinate]
vodml-id CustomRefLocation.position
multiplicity 1
description The spatial coordinates of the reference location.
velocity type CompositeCoordinate [coords:CompositeCoordinate]
vodml-id CustomRefLocation.velocity
multiplicity 0..1
description The velocity of the reference location.

2.1.16 objectType: DiscreteSetAxis

vodml-id DiscreteSetAxis
description 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.
extends Axis [coords:Axis]

2.1.17 primitiveType: Epoch

vodml-id Epoch
description 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"

2.1.18 objectType: GenericCoordFrame

vodml-id GenericCoordFrame
description 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)
extends CoordFrame [coords:CoordFrame]
attributes
name feature value
refPosition type RefLocation [coords:RefLocation]
vodml-id GenericCoordFrame.refPosition
multiplicity 1
description 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.
planetaryEphem type ivoa:string
vodml-id GenericCoordFrame.planetaryEphem
multiplicity 0..1
description 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"

2.1.19 dataType: GenericCoordValue

vodml-id GenericCoordValue
description Parent for all generic coordinate types. Associates the coordinate with a particular axis of the coordinate space.
extends CoordValue [coords:CoordValue]
abstract True
Subclasses in this model BinnedCoordValue PhysicalCoordValue PolCoordValue
references
name feature value
axis type Axis [coords:Axis]
vodml-id GenericCoordValue.axis
multiplicity 1
description 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.

2.1.20 enumeration: Handedness

vodml-id Handedness
description 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.
literals
name feature value
left vodml-id Handedness.left
description positive x and y axes point right and up, the positive z axis points inward
right vodml-id Handedness.right
description positive x and y axes point right and up, the positive z axis points outward

2.1.21 dataType: ISOTime

vodml-id ISOTime
description 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.
extends TimeInstant [coords:TimeInstant]
attributes
name feature value
date type ivoa:datetime
vodml-id ISOTime.date
multiplicity 1
description The ISOTime coordinate value.

2.1.22 dataType: JD

vodml-id JD
description 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.
extends TimeInstant [coords:TimeInstant]
attributes
name feature value
date type ivoa:real
vodml-id JD.date
multiplicity 1
description The JD coordinate value. JD dates are dimensionless, with implied units in days.

2.1.23 dataType: Latitude

vodml-id Latitude
description A spatial location along the 'Latitude' axis of a standard 3D Spherical coordinate space.
extends SpaceCoord [coords:SpaceCoord]

2.1.24 dataType: Longitude

vodml-id Longitude
description A spatial location along the 'Longitude' axis of a standard 3D Spherical coordinate space.
extends SpaceCoord [coords:SpaceCoord]

2.1.25 dataType: MJD

vodml-id MJD
description Extension of TimeInstant for time expressed in Modified Julian Days. T(MJD) = T(JD) - 2400000.5.
extends TimeInstant [coords:TimeInstant]
attributes
name feature value
date type ivoa:real
vodml-id MJD.date
multiplicity 1
description The MJD coordinate value. MJD dates are dimensionless, with implied units in days.

2.1.26 dataType: PhysicalCoordValue

vodml-id PhysicalCoordValue
description 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).
extends GenericCoordValue [coords:GenericCoordValue]
attributes
name feature value
cval type ivoa:Quantity
vodml-id PhysicalCoordValue.cval
multiplicity 1
description This coordinate MUST contain a value expressed as an ivoa:Quantity.
role constraints
Constrained Role Constraint Feature Constraint Value
axis [coords:GenericCoordValue.axis]
datatype ContinuousAxis [coords:ContinuousAxis]

2.1.27 objectType: PixelCoordSystem

vodml-id PixelCoordSystem
description The PixelCoordSystem provides a complete description of the pixel coordinate space. It SHALL contain one PixelSpace instance describing each pixel axis.
extends CoordSys [coords:CoordSys]
compositions
name feature value
pixelSpace type PixelSpace [coords:PixelSpace]
vodml-id PixelCoordSystem.pixelSpace
multiplicity 1
isOrdered false
description The pixel space completely defines the pixel coordinate axes. Each axis MUST be defined as a BinnedAxis type.

2.1.28 dataType: PixelIndex

vodml-id PixelIndex
description 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.
extends BinnedCoordValue [coords:BinnedCoordValue]
constraints
PixelIndex.frame:CoordFrame[0]

2.1.29 objectType: PixelSpace

vodml-id PixelSpace
description 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.
extends CoordSpace [coords:CoordSpace]
attributes
name feature value
handedness type Handedness [coords:Handedness]
vodml-id PixelSpace.handedness
multiplicity 0..1
description Specifies the handedness of the coordinate space.
role constraints
Constrained Role Constraint Feature Constraint Value
axis [coords:CoordSpace.axis]
datatype BinnedAxis [coords:BinnedAxis]

2.1.30 dataType: PolCircular

vodml-id PolCircular
description Coordinate for Circular Polarization type
extends PolCoordValue [coords:PolCoordValue]
attributes
name feature value
cval type PolCircularEnum [coords:PolCircularEnum]
vodml-id PolCircular.cval
multiplicity 1
description The coordinate value MUST be from the PolCircularEnum enumerated set.

2.1.31 enumeration: PolCircularEnum

vodml-id PolCircularEnum
description Circular Polarization states
literals
name feature value
RR vodml-id PolCircularEnum.RR
description TODO : Missing description : please, update your UML model asap.
LL vodml-id PolCircularEnum.LL
description TODO : Missing description : please, update your UML model asap.
RL vodml-id PolCircularEnum.RL
description TODO : Missing description : please, update your UML model asap.
LR vodml-id PolCircularEnum.LR
description TODO : Missing description : please, update your UML model asap.

2.1.32 dataType: PolCoordValue

vodml-id PolCoordValue
description Abstract head of the polarization coordinate types. Here we constrain the coordinate value to refer to a discrete axis type.
extends GenericCoordValue [coords:GenericCoordValue]
abstract True
Subclasses in this model PolCircular PolLinear PolStokes PolVector
constraints
PolCoordValue.frame:CoordFrame[0]
role constraints
Constrained Role Constraint Feature Constraint Value
axis [coords:GenericCoordValue.axis]
datatype DiscreteSetAxis [coords:DiscreteSetAxis]

2.1.33 dataType: PolLinear

vodml-id PolLinear
description Coordinate for LinearPolarization type
extends PolCoordValue [coords:PolCoordValue]
attributes
name feature value
cval type PolLinearEnum [coords:PolLinearEnum]
vodml-id PolLinear.cval
multiplicity 1
description The coordinate value MUST be from the PolLinearEnum enumerated set.

2.1.34 enumeration: PolLinearEnum

vodml-id PolLinearEnum
description Linear Polarization states
literals
name feature value
XX vodml-id PolLinearEnum.XX
description TODO : Missing description : please, update your UML model asap.
YY vodml-id PolLinearEnum.YY
description TODO : Missing description : please, update your UML model asap.
XY vodml-id PolLinearEnum.XY
description TODO : Missing description : please, update your UML model asap.
YX vodml-id PolLinearEnum.YX
description TODO : Missing description : please, update your UML model asap.

2.1.35 dataType: PolStokes

vodml-id PolStokes
description Coordinate for Stokes Polarization type
extends PolCoordValue [coords:PolCoordValue]
attributes
name feature value
cval type PolStokesEnum [coords:PolStokesEnum]
vodml-id PolStokes.cval
multiplicity 1
description The coordinate value MUST be from the PolStokesEnum enumerated set.

2.1.36 enumeration: PolStokesEnum

vodml-id PolStokesEnum
description Stokes Polarization states
literals
name feature value
I vodml-id PolStokesEnum.I
description TODO : Missing description : please, update your UML model asap.
Q vodml-id PolStokesEnum.Q
description TODO : Missing description : please, update your UML model asap.
U vodml-id PolStokesEnum.U
description TODO : Missing description : please, update your UML model asap.
V vodml-id PolStokesEnum.V
description TODO : Missing description : please, update your UML model asap.

2.1.37 dataType: PolVector

vodml-id PolVector
description Coordinate for Vector Polarization type
extends PolCoordValue [coords:PolCoordValue]
attributes
name feature value
cval type PolVectorEnum [coords:PolVectorEnum]
vodml-id PolVector.cval
multiplicity 1
description The coordinate value MUST be from the PolVectorEnum enumerated set.

2.1.38 enumeration: PolVectorEnum

vodml-id PolVectorEnum
description Vector Polarization states
literals
name feature value
I vodml-id PolVectorEnum.I
description TODO : Missing description : please, update your UML model asap.
PF vodml-id PolVectorEnum.PF
description TODO : Missing description : please, update your UML model asap.
PP vodml-id PolVectorEnum.PP
description TODO : Missing description : please, update your UML model asap.
PA vodml-id PolVectorEnum.PA
description TODO : Missing description : please, update your UML model asap.

2.1.39 dataType: R

vodml-id R
description A spatial location along the radial axis of a standard 3D Spherical coordinate space.
extends SpaceCoord [coords:SpaceCoord]

2.1.40 dataType: RefLocation

vodml-id RefLocation
description 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.
abstract True
Subclasses in this model CustomRefLocation StdRefLocation

2.1.41 dataType: SpaceCoord

vodml-id SpaceCoord
description 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.
extends CoordValue [coords:CoordValue]
abstract True
Subclasses in this model Latitude Longitude R X Y Z
attributes
name feature value
cval type ivoa:Quantity
vodml-id SpaceCoord.cval
multiplicity 1
description Coordinate value along the designated axis.
role constraints
Constrained Role Constraint Feature Constraint Value
frame [coords:Coordinate.frame]
datatype SpaceFrame [coords:SpaceFrame]

2.1.42 objectType: SpaceFrame

vodml-id SpaceFrame
description 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".
extends CoordFrame [coords:CoordFrame]
attributes
name feature value
refPosition type RefLocation [coords:RefLocation]
vodml-id SpaceFrame.refPosition
multiplicity 1
description 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 ).
spaceRefFrame type ivoa:string
semanticconcept Semantic top concept:
SpaceRefFrame
Vocabulary URI:
https://www.ivoa.net/rdf/refframe
vodml-id SpaceFrame.spaceRefFrame
multiplicity 1
description The spatial reference frame. Values MUST be selected from the controlled vocabulary at the given URL.
equinox type Epoch [coords:Epoch]
vodml-id SpaceFrame.equinox
multiplicity 0..1
description Reference date for the frame, required for pre-ICRS reference frames.
planetaryEphem type ivoa:string
vodml-id SpaceFrame.planetaryEphem
multiplicity 1
description Ephemeris file for solar system objects SHOULD be specified whenever relevant.

2.1.43 dataType: Standard1DCoord

vodml-id Standard1DCoord
description 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.
extends CoordValue [coords:CoordValue]
attributes
name feature value
cval type ivoa:Quantity
vodml-id Standard1DCoord.cval
multiplicity 1
description Coordinate value along the axis.

2.1.44 dataType: StdRefLocation

vodml-id StdRefLocation
description 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.
extends RefLocation [coords:RefLocation]
attributes
name feature value
position type ivoa:string
semanticconcept Semantic top concept:
ReferencePosition
Vocabulary URI:
https://www.ivoa.net/rdf/refposition
vodml-id StdRefLocation.position
multiplicity 1
description Standard reference location. Values MUST be selected from the controlled vocabulary at the given URL.

2.1.45 objectType: TimeFrame

vodml-id TimeFrame
description A TimeFrame SHALL include a time scale and reference position. It MAY also include a reference direction.
extends CoordFrame [coords:CoordFrame]
attributes
name feature value
refPosition type RefLocation [coords:RefLocation]
vodml-id TimeFrame.refPosition
multiplicity 1
description 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).
timescale type ivoa:string
semanticconcept Semantic top concept:
TimeScale
Vocabulary URI:
https://www.ivoa.net/rdf/timescale
vodml-id TimeFrame.timescale
multiplicity 1
description The time scale sets the reference frame. The value MUST be selected from the controlled vocabulary at the given URL.
refDirection type RefLocation [coords:RefLocation]
vodml-id TimeFrame.refDirection
multiplicity 0..1
description 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.

2.1.46 dataType: TimeInstant

vodml-id TimeInstant
description 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.
extends TimeStamp [coords:TimeStamp]
abstract True
Subclasses in this model ISOTime JD MJD

2.1.47 dataType: TimeOffset

vodml-id TimeOffset
description Time is given as an offset from a specific point in time (time0).
extends TimeStamp [coords:TimeStamp]
attributes
name feature value
time type ivoa:RealQuantity
vodml-id TimeOffset.time
multiplicity 1
description The TimeOffset coordinate value.
time0 type TimeInstant [coords:TimeInstant]
vodml-id TimeOffset.time0
multiplicity 1
description The reference time from which the offset is calculated. This MUST be given as a TimeInstant (e.g.: JD, MJD, ISOTime).

2.1.48 dataType: TimeStamp

vodml-id TimeStamp
description 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.
extends CoordValue [coords:CoordValue]
abstract True
Subclasses in this model TimeInstant TimeOffset
role constraints
Constrained Role Constraint Feature Constraint Value
frame [coords:Coordinate.frame]
datatype TimeFrame [coords:TimeFrame]

2.1.49 dataType: X

vodml-id X
description A spatial location along the 'X' axis of a standard 3D Cartesian coordinate space.
extends SpaceCoord [coords:SpaceCoord]

2.1.50 dataType: Y

vodml-id Y
description A spatial location along the 'Y' axis of a standard 3D Cartesian coordinate space.
extends SpaceCoord [coords:SpaceCoord]

2.1.51 dataType: Z

vodml-id Z
description A spatial location along the 'Z' axis of a standard 3D Cartesian coordinate space.
extends SpaceCoord [coords:SpaceCoord]


3.Element Identifiers/VO-DMLrefs

The following table shows all fully qualified vodml-ids for this data model. It is ordered alphabetically and the identifiers are hyper-linked to the location in the document where the actual element is fully defined.
vodml-id feature type description
vo-dml:model This model defines objects which describe the coordinate space, coordinates within that space, and frames, which provide additional metadata regarding the origin, orientation, etc, of the coordinate space. The model also defines a coordinate system, bundling frames into associated groups.
AstroCoordSystem objectType AstroCoordSystem is a container object for organizing physical Coordinate Frame specifications into related groupings. An AstroCoordSystem MAY reference any number of coordinate frames.
AstroCoordSystem.coordFrame reference Frame specification for some domain of the coordinate space.
Axis objectType 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.
Axis.name attribute Freeform string, provides the name or label for the axis.
BinnedAxis objectType Axis description for binned data, where values along the axis correspond to a bin number.
BinnedAxis.length attribute The length, or number of bins, along the axis.
BinnedCoordValue dataType Coordinate value type specifically intended for binned data (e.g.: pixel indexes).
BinnedCoordValue.cval attribute The binned coordinate value, expressed as an integer. e.g.: bin number, pixel index.
CompositeCoord1D dataType 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.
CompositeCoord2D dataType A 2-dimensional composite coordinate.
CompositeCoord3D dataType A 3-dimensional composite coordinate.
CompositeCoordinate dataType 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.
CompositeCoordinate.cmpt attribute Component member of the composite coordinate. All components MUST refer to axes of the same coordinate space.
ContinuousAxis objectType 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.
ContinuousAxis.cyclic attribute Flag indicating if the axis is cyclic in nature. If not provided, it is assumed to be FALSE.
ContinuousAxis.domainMax attribute Maximum extent of the axis domain space. If not provided, the domain space is considered to have no upper bound (+INFINITY).
ContinuousAxis.domainMin attribute Minimum extent of the axis domain space. If not provided, the domain space is considered to have no lower bound (-INFINITY).
CoordFrame objectType 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.
CoordSpace objectType This object defines a domain space. i.e.: it describes the set of possible coordinate values.
CoordSpace.axis composition Describes an axis of the coordinate space.
CoordSys objectType The CoordSys object is the parent of a set of containers for organizing Coordinate Frames into related groupings.
CoordValue dataType 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.
Coordinate dataType 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.
Coordinate.frame reference Provided additional metadata relevant to interpreting the coordinate value; for example, the spatial reference position, or time scale.
CustomRefLocation dataType 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.
CustomRefLocation.epoch attribute Epoch for the reference location.
CustomRefLocation.position attribute The spatial coordinates of the reference location.
CustomRefLocation.velocity attribute The velocity of the reference location.
DiscreteSetAxis objectType 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.
Epoch primitiveType 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"
GenericCoordFrame objectType 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)
GenericCoordFrame.planetaryEphem attribute 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"
GenericCoordFrame.refPosition attribute 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.
GenericCoordValue dataType Parent for all generic coordinate types. Associates the coordinate with a particular axis of the coordinate space.
GenericCoordValue.axis reference 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.
Handedness enumeration 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.
Handedness.left literal positive x and y axes point right and up, the positive z axis points inward
Handedness.right literal positive x and y axes point right and up, the positive z axis points outward
ISOTime dataType 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.
ISOTime.date attribute The ISOTime coordinate value.
JD dataType 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.
JD.date attribute The JD coordinate value. JD dates are dimensionless, with implied units in days.
Latitude dataType A spatial location along the 'Latitude' axis of a standard 3D Spherical coordinate space.
Longitude dataType A spatial location along the 'Longitude' axis of a standard 3D Spherical coordinate space.
MJD dataType Extension of TimeInstant for time expressed in Modified Julian Days. T(MJD) = T(JD) - 2400000.5.
MJD.date attribute The MJD coordinate value. MJD dates are dimensionless, with implied units in days.
PhysicalCoordValue dataType 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).
PhysicalCoordValue.cval attribute This coordinate MUST contain a value expressed as an ivoa:Quantity.
PixelCoordSystem objectType The PixelCoordSystem provides a complete description of the pixel coordinate space. It SHALL contain one PixelSpace instance describing each pixel axis.
PixelCoordSystem.pixelSpace composition The pixel space completely defines the pixel coordinate axes. Each axis MUST be defined as a BinnedAxis type.
PixelIndex dataType 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.
PixelSpace objectType 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.
PixelSpace.handedness attribute Specifies the handedness of the coordinate space.
PolCircular dataType Coordinate for Circular Polarization type
PolCircular.cval attribute The coordinate value MUST be from the PolCircularEnum enumerated set.
PolCircularEnum enumeration Circular Polarization states
PolCircularEnum.LL literal TODO : Missing description : please, update your UML model asap.
PolCircularEnum.LR literal TODO : Missing description : please, update your UML model asap.
PolCircularEnum.RL literal TODO : Missing description : please, update your UML model asap.
PolCircularEnum.RR literal TODO : Missing description : please, update your UML model asap.
PolCoordValue dataType Abstract head of the polarization coordinate types. Here we constrain the coordinate value to refer to a discrete axis type.
PolLinear dataType Coordinate for LinearPolarization type
PolLinear.cval attribute The coordinate value MUST be from the PolLinearEnum enumerated set.
PolLinearEnum enumeration Linear Polarization states
PolLinearEnum.XX literal TODO : Missing description : please, update your UML model asap.
PolLinearEnum.XY literal TODO : Missing description : please, update your UML model asap.
PolLinearEnum.YX literal TODO : Missing description : please, update your UML model asap.
PolLinearEnum.YY literal TODO : Missing description : please, update your UML model asap.
PolStokes dataType Coordinate for Stokes Polarization type
PolStokes.cval attribute The coordinate value MUST be from the PolStokesEnum enumerated set.
PolStokesEnum enumeration Stokes Polarization states
PolStokesEnum.I literal TODO : Missing description : please, update your UML model asap.
PolStokesEnum.Q literal TODO : Missing description : please, update your UML model asap.
PolStokesEnum.U literal TODO : Missing description : please, update your UML model asap.
PolStokesEnum.V literal TODO : Missing description : please, update your UML model asap.
PolVector dataType Coordinate for Vector Polarization type
PolVector.cval attribute The coordinate value MUST be from the PolVectorEnum enumerated set.
PolVectorEnum enumeration Vector Polarization states
PolVectorEnum.I literal TODO : Missing description : please, update your UML model asap.
PolVectorEnum.PA literal TODO : Missing description : please, update your UML model asap.
PolVectorEnum.PF literal TODO : Missing description : please, update your UML model asap.
PolVectorEnum.PP literal TODO : Missing description : please, update your UML model asap.
R dataType A spatial location along the radial axis of a standard 3D Spherical coordinate space.
RefLocation dataType 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.
SpaceCoord dataType 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.
SpaceCoord.cval attribute Coordinate value along the designated axis.
SpaceFrame objectType 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".
SpaceFrame.equinox attribute Reference date for the frame, required for pre-ICRS reference frames.
SpaceFrame.planetaryEphem attribute Ephemeris file for solar system objects SHOULD be specified whenever relevant.
SpaceFrame.refPosition attribute 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 ).
SpaceFrame.spaceRefFrame attribute The spatial reference frame. Values MUST be selected from the controlled vocabulary at the given URL.
Standard1DCoord dataType 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.
Standard1DCoord.cval attribute Coordinate value along the axis.
StdRefLocation dataType 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.
StdRefLocation.position attribute Standard reference location. Values MUST be selected from the controlled vocabulary at the given URL.
TimeFrame objectType A TimeFrame SHALL include a time scale and reference position. It MAY also include a reference direction.
TimeFrame.refDirection attribute 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.
TimeFrame.refPosition attribute 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).
TimeFrame.timescale attribute The time scale sets the reference frame. The value MUST be selected from the controlled vocabulary at the given URL.
TimeInstant dataType 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.
TimeOffset dataType Time is given as an offset from a specific point in time (time0).
TimeOffset.time attribute The TimeOffset coordinate value.
TimeOffset.time0 attribute The reference time from which the offset is calculated. This MUST be given as a TimeInstant (e.g.: JD, MJD, ISOTime).
TimeStamp dataType 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.
X dataType A spatial location along the 'X' axis of a standard 3D Cartesian coordinate space.
Y dataType A spatial location along the 'Y' axis of a standard 3D Cartesian coordinate space.
Z dataType A spatial location along the 'Z' axis of a standard 3D Cartesian coordinate space.

4.Imported Models

This section lists the external models imported by the current data model. For each imported model we list URLs to the VO-DML and HTML representations and the prefix used for vodml-ids from inside the model.

4.1 ivoa

Model vodml-id ivoa
url http://www.ivoa.net/xml/VODML/20180519/IVOA-v1.0.vo-dml.xml
documentation url http://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/ivoa/vo-dml/IVOA-v1.0.html