Dear VOTablers,
At the forthcoming Beijing meeting, there should be a discussion on the best way of referring to external data models within a VOTable. The very first target is to be able to specify clearly and unambiguously the space and time coordinates (the STC model) which are essential components of many many tables accessible in the frame of the VO.
In order to be able to come to a decision, 5 different scenarios are included here which represent variations of possible solutions for describing a table with a few columns containing positions and observation times.
I really hope that we will be able to reach a final conclusion; and I would appreciate to get your opinion of the preferred solution, including from those who will not attend the VOTable session (scheduled on Tuesday morning), between #1, #2, #3, #4, #5 -- hoping that the solution will be one of these.
See some of you soon !
Francois
Francois Ochsenbein ------ Observatoire Astronomique de Strasbourg 11, rue de l'Universite F-67000 STRASBOURG Phone: +33-(0)390 24 24 29 Email: francois-at-astro.u-strasbg.fr (France) Fax: +33-(0)390 24 24 17 ================================================================================
<!-- Proposal #1 for an accurate definition of time and position:
o Time and space kept apart,
o the GROUP describes the parameters of the coordinate system, as well as
its members ("double" referencing)
o No description of the ObservingTime column, i.e. default (UTC) assumed.
-->
<TABLE ID="M81">
<GROUP utype="stc:AstroCoords.Position2D" ID="ICRS_TOPO_SPH">
<PARAM name="CooFrame" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordRefFrame.Type"
value="ICRS" />
<PARAM name="CooFrameOrigin" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooType" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordFlavor.Type"
value="SPHERICAL" />
<FIELDref ref="RA" />
<FIELDref ref="DEC" />
<FIELD ID="OT" name="ObservingTime" datatype="char" arraysize="19"
utype="stc:AstroCoords.Time.TimeInstant.ISOTime"
ucd="time.start;obs.exposure" />
<FIELD ID="RA" name="Right Ascension" datatype="double"
utype="stc:AstroCoords.Position2D.Value.C1"
ref="ICRS_TOPO_SPH"
unit="deg" ucd="pos.eq.ra" />
<FIELD ID="DEC" name="DEClination" datatype="double"
utype="stc:AstroCoords.Position2D.Value.C2"
ref="ICRS_TOPO_SPH"
unit="deg" ucd="pos.eq.dec" />
<FIELD ID= "Err1" name="RA_Error" datatype="float"
utype="stc:AstroCoords.Position2D.Error.Value.C1"
ref="ICRS_TOPO_SPH"
unit="arcsec" ucd="error;pos.eq.ra" />
<FIELD ID= "Err2" name="DEC_Error" datatype="float"
utype="stc:AstroCoords.Position2D.Error.Value.C2"
ref="ICRS_TOPO_SPH"
unit="arcsec" ucrror;pos.eq.dec" />
<!-- Proposal #2:
o Time and space kept apart,
o one GROUP for each of the space / time definitions
o the GROUP does not describe its members (no "double referencing")
-->
<TABLE ID="M81">
<GROUP utype="stc:AstroCoords.Time" ID="TT_TOPO">
<PARAM name="TimeScale" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.TimeScale" value="TT" /> <PARAM name="TimePos" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooFrame" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordRefFrame.Type"
value="ICRS" />
<PARAM name="CooFrameOrigin" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooType" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordFlavor.Type"
value="SPHERICAL" />
<FIELD ID="OT" name="ObservingTime" datatype="char" arraysize="19"
ucd="time.start;obs.exposure"
utype="stc:AstroCoords.Time.TimeInstant.ISOTime" ref="TT_TOPO"/>
<FIELD ID="RA" name="Right Ascension" datatype="double"
ucd="pos.eq.ra" unit="deg"
utype="stc:AstroCoords.Coord.Value.C1" ref="ICRS_TOPO_SPH"/>
<FIELD ID="DEC" name="DEClination" datatype="double"
ucd="pos.eq.dec" unit="deg"
utype="stc:AstroCoords.Coord.Value.C2" ref="ICRS_TOPO_SPH"/>
<FIELD ID= "Err1" name="RA_Error" datatype="float"
ucd="error;pos.eq.ra" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C1" ref="ICRS_TOPO_SPH"/>
<FIELD ID= "Err2" name="DEC_Error" datatype="float"
ucd="error;pos.eq.dec" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C2" ref="ICRS_TOPO_SPH"/>
<!-- Proposal #3:
o Hierarchy of GROUPs to mime the STC requirements for a hierarchy
o Use the direct value in utype (e.g. .TOPOCENTER) , and then value is void.
o the GROUP does not describe its members (no "double referencing")
-->
<TABLE ID="M81">
<GROUP ID="TT-ICRS-WAVELENGTH-TOPO" utype="stc:AstroCoords" >
<GROUP utype="stc:AstroCoordSystem.TimeFrame" >
<PARAM name="TimeScale" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.TimeScale" value="TT" />
<PARAM name="TimePos" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.TOPOCENTER" value="" />
</GROUP>
<PARAM name="CooFrame" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.ICRS" value="" />
<PARAM name="CooFrameOrigin" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.TOPOCENTER" value="" />
<GROUP name="CooType" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.SPHERICAL" >
<PARAM utype="stc:AstroCoordSystem.SpaceFrame.SPHERICAL.coord_naxes"
value="2" />
</GROUP>
<PARAM name="SpectralPos" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpectralFrame.TOPOCENTER" value="" />
</GROUP>
<FIELD ID="OT" name="ObservingTime" datatype="char" arraysize="19"
ucd="time.start;obs.exposure"
utype="stc:AstroCoords.Time.TimeInstant.ISOTime"
ref="TT-ICRS-WAVELENGTH-TOPO" />
<FIELD ID="RA" name="Right Ascension" datatype="double"
ucd="pos.eq.ra" unit="deg"
utype="stc:AstroCoords.Position2D.Value2.C1"
ref="TT-ICRS-WAVELENGTH-TOPO" />
<FIELD ID="DEC" name="DEClination" datatype="double"
ucd="pos.eq.dec" unit="deg"
utype="stc:AstroCoords.Position2D.Value2.C2"
ref="TT-ICRS-WAVELENGTH-TOPO" />
<FIELD ID= "Err1" name="RA_Error" datatype="float"
ucd="error;pos.eq.ra" unit="arcsec"
utype="stc:AstroCoords.Position2D.Error2.C1"
ref="TT-ICRS-WAVELENGTH-TOPO" />
<FIELD ID= "Err2" name="DEC_Error" datatype="float"
ucd="error;pos.eq.dec" unit="arcsec"
utype="stc:AstroCoords.Position2D.Error2.C2"
ref="TT-ICRS-WAVELENGTH-TOPO" />
<!-- Proposal #4 (suggested by Roy) closer to STC definitions
o 2 GROUPs: one for the definition of the system, another for the coordinates
o the system definition contains 2 subGROUPs (time and space)
o the GROUP does not describe its members (no "double referencing")
-->
<TABLE ID="M81">
<GROUP utype="stc:AstroCoordSystem">
<PARAM name="STC_ID" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.id" value="TT_ICRS_TOPO"/> <GROUP utype="stc:AstroCoordSystem.TimeFrame" >
<PARAM name="TimeScale" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.TimeScale" value="TT" />
<PARAM name="TimePos" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooFrame" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordRefFrame.Type"
value="ICRS" />
<PARAM name="CooFrameOrigin" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooType" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordFlavor.Type"
value="SPHERICAL" />
<PARAM name="AstroCoo" datatype="char" arraysize="*"
utype="stc:AstroCoords.coord_sys_id" value="TT_ICRS_TOPO"/>
</GROUP>
<FIELD ID="OT" name="ObservingTime" datatype="char" arraysize="19"
utype="stc:AstroCoords.Time.TimeInstant.ISOTime"
ucd="time.start;obs.exposure" ref="Coords1" />
<FIELD ID="RA" name="Right Ascension" datatype="double" unit="deg"
utype="stc:AstroCoords.Position2D.Value2.C1"
ucd="pos.eq.ra" ref="Coords1" />
<FIELD ID="DEC" name="DEClination" unit="deg" datatype="double"
utype="stc:AstroCoords.Coord.Value2.C2"
ucd="pos.eq.dec" ref="Coords1" />
<FIELD ID= "Err1" name="RA_Error" datatype="float" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C1"
ucd="error;pos.eq.ra" ref="Coords1" />
<FIELD ID= "Err2" name="DEC_Error" datatype="float" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C2"
ucd="error;pos.eq.dec" ref="Coords1" />
<!-- Proposal #5 (expanded from #4)
o 2 GROUPs: one for the definition of the system, another for the coordinates
o the system definition contains 2 subGROUPs (time and space)
o a hierarchy of GROUPs to describe the coordinates, with FIELD references
("double referencing")
-->
<TABLE ID="M81">
<!-- Definition of one AstroCoordSystem -->
<GROUP utype="stc:AstroCoordSystem">
<PARAM name="STC_ID" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.id" value="TT_ICRS_TOPO"/> <GROUP utype="stc:AstroCoordSystem.TimeFrame" >
<PARAM name="TimeScale" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.TimeScale" value="TT" />
<PARAM name="TimePos" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.TimeFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooFrame" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordRefFrame.Type"
value="ICRS" />
<PARAM name="CooFrameOrigin" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.ReferencePosition.Type"
value="TOPOCENTER" />
<PARAM name="CooType" datatype="char" arraysize="*"
utype="stc:AstroCoordSystem.SpaceFrame.CoordFlavor.Type"
value="SPHERICAL" />
<!-- Description of the coordinates used (referencing AstroCoordSystem) -->
<GROUP ID="Coords1" utype="stc:AstroCoords">
<PARAM name="AstroCoo" datatype="char" arraysize="*"
utype="stc:AstroCoords.coord_sys_id" value="TT_ICRS_TOPO"/> <GROUP utype="stc:AstroCoords.Time.TimeInstant.ISOTime">
<FIELDref ref="OT" />
</GROUP>
<GROUP utype="stc:AstroCoords.Position2D">
<GROUP utype="stc:AstroCoords.Position2D.Value2">
<FIELDref ref="RA" />
<FIELDref ref="DEC" />
</GROUP>
<GROUP utype="stc:AstroCoords.Position2D.Error2">
<FIELDref ref="Err1" />
<FIELDref ref="Err2" />
</GROUP>
<FIELD ID="OT" name="ObservingTime" datatype="char" arraysize="19"
utype="stc:AstroCoords.Time.TimeInstant.ISOTime"
ucd="time.start;obs.exposure" ref="Coords1" />
<FIELD ID="RA" name="Right Ascension" datatype="double" unit="deg"
utype="stc:AstroCoords.Position2D.Value2.C1"
ucd="pos.eq.ra" ref="Coords1" />
<FIELD ID="DEC" name="DEClination" unit="deg" datatype="double"
utype="stc:AstroCoords.Coord.Value2.C2"
ucd="pos.eq.dec" ref="Coords1" />
<FIELD ID= "Err1" name="RA_Error" datatype="float" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C1"
ucd="error;pos.eq.ra" ref="Coords1" />
<FIELD ID= "Err2" name="DEC_Error" datatype="float" unit="arcsec"
utype="stc:AstroCoords.Coord.Error.Value.C2"
ucd="error;pos.eq.dec" ref="Coords1" />