Skip to content

MeasCoords enhancement #46

@lmichel

Description

@lmichel

The topics reported here have already been developed on either the mailing list or the RFC page

Need a lon/lat sky position

Let's have a look at the Coords:Point class that represents a sky position:

              <INSTANCE dmrole="meas:Measure.coord" dmtype="coords:Point">
                <INSTANCE dmrole="coords:Point.axis1" dmtype="ivoa:RealQuantity">
                  <ATTRIBUTE dmrole="ivoa:RealQuantity.value" dmtype="ivoa:real" ref="RAJ2000"/>
                  <ATTRIBUTE dmrole="ivoa:Quantity.unit" dmtype="ivoa:Unit" value="deg"/>
                </INSTANCE>
                <INSTANCE dmrole="coords:Point.axis2" dmtype="ivoa:RealQuantity">
                  <ATTRIBUTE dmrole="ivoa:RealQuantity.value" dmtype="ivoa:real" ref="DEJ2000"/>
                  <ATTRIBUTE dmrole="ivoa:Quantity.unit" dmtype="ivoa:Unit" value="deg"/>
                </INSTANCE>
                <INSTANCE dmrole="coords:Coordinate.coordSys" dmref="SpaceSys_ICRS_Spherical"/>
              </INSTANCE>

Reading this, Ive no way to guess that coords:Point.axis1 is a right ascension and coords:Point.axis2 the declination.
This might be not an issue for clients into which the model is hard-coded (e.g. code generated from the VODML), but this is a big issue for clients exploring the mapping by using e.g. Xpath selectors (I can testify).
MCT needs a lonLatPoint class looking like this:

              <INSTANCE dmrole="meas:Measure.coord" dmtype="coords:LonLatPoint">
                <ATTRIBUTE dmrole="coords:LonLatPoint.longitude" dmtype="ivoa:real" ref="RAJ2000"/>                
                <ATTRIBUTE dmrole="coords:LonLatPoint.latitude" dmtype="ivoa:real" ref="DEJ2000"/>                
                <ATTRIBUTE dmrole="coords:LonLatPoint.unit" dmtype="ivoa:string" value="deg"/>
                <INSTANCE dmrole="coords:Coordinate.coordSys" dmref="SpaceSys_ICRS_Spherical"/>
              </INSTANCE>

Proper Motion

This MCT pattern is the following:

 meas -> coord 

Having all measures build on the same pattern is a good point for both interoperability and developers and it must be preserved as much as possible.
So why is it broken for proper motions?

 meas  -> coord lon
     | -> coord lat

The proper motion (or a LonLatProper motion) could use the above coords:LonLatPoint as coordinate class.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions