Abstract base of Measure classes, associates a 'determined value' (Coordinate) with corresponding errors.
We associate the Error(s) with the full Measure, rather than the individual values, in order to support both correlated and uncorrelated errors. In many cases with multi-dimensional data, the associated errors are correlated and must be considered with the value set as a whole. One consequence of this approach is that there is a looser association between the Error dimensions and the corresponding value dimension. We require that the Error content MUST be compatible with the value dimension and nature (e.g. dimension, domain, units, etc).
meas:Measure
The Error class uses the Uncertainty types to describe measurement errors from various sources.
meas:Error
Statistical error. The Uncertainty type MUST be dimensionally compatible with the associated Measure value.
meas:Error.statError
Systematic error. The Uncertainty type MUST be dimensionally compatible with the associated Measure value.
meas:Error.sysError
The most generic Measure class. This class may be used to represent any data not covered by the specialized cases. The coordinate value type allows for the construction of multi-dimensional values to accommodate virtually any case.
meas:GenericMeasure
The measured coordinate value. May be of any dimensionality (current support 1,2 and 3-dimension). For many cases, the Standard1DCoord should suffice, providing a clean and simple representation of the measured value. For other cases, users will need to provide a complete coordinate description.
meas:GenericMeasure.coord
Provides a complete description of a measured positional instant.
meas:Position
The measured Position value. The Point coordinate supports 1,2, and 3-dimensional cases. Details of the coordinate system (space and frame), are associated with the Point.
meas:Position.coord
Provides a complete description of a measured Temporal instant.
meas:Time
The measured time value. May be provided in any of the TimeStamp subtypes.
meas:Time.coord
Provides a complete description of a determined polarization state. Since the polarization coordinate is an enumerated type, there can be no associated numerical error sources.
meas:Polarization
Determined polarization state. May be provided by any of the PolCoordValue subtypes.
meas:Polarization.coord
Provides a comple description of a measured Velocity instant.
meas:Velocity
The measured Velocity value. The Point coordinate supports 1,2, and 3-dimensional cases. Details of the coordinate system (space and frame), are associated with the Point.
meas:Velocity.coord
Proper motion represented as the velocity in Longitude and Latitude directions of a spherical coordinate space. The associated SpaceFrame provides the details regarding the nature of the coordinate space (eg: Equatorial, Galactic, etc).
meas:ProperMotion
Velocity in angular distance per unit time along the Longitude axis. It is common, though not universal, practice to quote longitudinal proper motion pre-multiplied by cos(lat) so that the magnitude of the quantity is not affected by its longitudinal position. We do not constrain this value to one form or the other in this model, leaving it to be specified by the particular usage thread.
meas:ProperMotion.lon
Velocity in angular distance per unit time along the Latitude axis.
meas:ProperMotion.lat
Abstract head of uncertainty types. These classes define the shape of the uncertainty, and are designed to be reusable in different contexts. Uncertainties are designed to be associated with a Coordinate or other object which provides the 'center' or reference location about which the uncertainty resides. In this model, we use them in the context of defining measurement errors, but they are also compatible for use in defining resolutions which are to be modeled at a later date.
This initial version of teh model forms a fundamental basis which can then be expanded to include more complex and varied use cases as they present themselves. The current model assumes Gaussian distributions with shpes defined at the 68% confidence level.
meas:Uncertainty
Symmetrical uncertainty, constant in all dimensions and directions from the associated Coordinate. ie: PlusMinus in 1D, circular in 2D, spherical in 3D.
meas:Symmetrical
The uncertainty extent, constant in all dimensions and directions.
meas:Symmetrical.radius
Uncertainty with different extent in the positive and negative directions from the associated Coordinate.
meas:Asymmetrical1D
Extent in the positive axis direction.
meas:Asymmetrical1D.plus
Extent in the negative axis direction.
meas:Asymmetrical1D.minus
2D Uncertainty with different extent in the positive and negative axis directions from the associated Coordinate. i.e.: an offset rectangle.
meas:Asymmetrical2D
Extent in each positive axis direction.
meas:Asymmetrical2D.plus
Extent in each negative axis direction.
meas:Asymmetrical2D.minus
3D Uncertainty with different extent in the positive and negative axis directions from the associated Coordinate. i.e.: an offset box.
meas:Asymmetrical3D
Extent in each positive axis direction.
meas:Asymmetrical3D.plus
Extent in each negative axis direction.
meas:Asymmetrical3D.minus
Provide the edges of the uncertainty space. Rather than being relative to the associated Coordinate, these represent a range within that Coordinate space.
meas:Bounds1D
Lower limit of the uncertainty range.
meas:Bounds1D.loLimit
Upper limit of the uncertainty range.
meas:Bounds1D.hiLimit
Provide the edges of a 2D uncertainty space. Rather than being relative to the associated Coordinate, these represent ranges along each axis of that Coordinate space.
meas:Bounds2D
Lower edges of the uncertainty rectangle.
meas:Bounds2D.loLimit
Upper edges of the uncertainty rectangle.
meas:Bounds2D.hiLimit
Provide the edges of a 3D uncertainty space. Rather than being relative to the associated Coordinate, these represent ranges along each axis of that Coordinate space.
meas:Bounds3D
Lower edges of the uncertainty box.
meas:Bounds3D.loLimit
Upper edges of the uncertainty box.
meas:Bounds3D.hiLimit
Elliptical uncertainty shape.
meas:Ellipse
Extent of the semi-major and semi-minor axes, provided in the order of the associated Coordinate axes.
meas:Ellipse.semiAxis
Position angle, counter-clockwise from the positive direction of the first axis of the associated Coordinate. When used in the spatial domain, the expectation is that the 'first axis' corresponds to the 'North Celestial Pole', and the second to 'East', thereby conforming to the IAU definition of the position angle direction being 'East of North'.
meas:Ellipse.posAngle
Ellipsoidal uncertainty shape.
meas:Ellipsoid
Extent of the semi axes, provided in the order of the associated Coordinate axes.
meas:Ellipsoid.semiAxis
Position angles
* counter-clockwise from the positive direction of the first axis toward the second axis
* angle 'above' the plane of the first two axes of the associated Coordinate.
When used in the spatial domain, the expectation is that the 'first axis' corresponds to the 'North Celestial Pole', and the second to 'East', thereby conforming to the IAU definition of the position angle direction being 'East of North'.
meas:Ellipsoid.posAngle