VOTable 1.5 Working Draft (2023-09-13)

Pierre Fernique Pierre.Fernique at astro.unistra.fr
Mon Sep 25 18:02:52 CEST 2023


Dear Apps and VOTable users,

After reading the proposed new version of VOTable, I have a few 
questions about the essential changes in this version changes in this 
versions. Version 1.5 of VOTable introduces an alternative way of 
associating columns with a coordinate system.

For VOTable versions 1.0, 1.1, 1.3 and 1.4, the COOSYS for a given field 
is defined using the ref attribute of FIELD, which points to the ID of 
the COOSYS concerned (*FIELD ref -> COOSYS ID*). The role of each field 
(ra,dec,pmra, pmdec, rv...) is determined by the attributes of each 
FIELD (ucd, unit, utype). Cf example A - below. And this method has been 
extended to the definition of the TIMESYS in version 1.4 of VOTable.

The WD 1.5 introduces an alternative mode of "reverse" association, from 
the COOSYS definition to the fields by using FIELDref (and PARAMRef), 
associated with the COOSYS, and pointing to the FIELD IDs concerned 
(*COOSYS/FIELDREF ref -> FIELD ID*). The role is determined by an 
associated utype to the FIELDref (or PARAMref) - the rest of the 
metadata whose unit remains described in the FIELD (possibly necessary 
to determine the exact interpretation of the column - ex:distance vs 
parallax)

If I have understood correctly the proposal, this method uses the same 
principles as those already proposed and validated in VOTable 1.2 
(2009), which referred to the IVOA note "2009 - Referencing STC in 
VOTable v1.1" => 
https://www.ivoa.net/documents/Notes/VOTableSTC/NOTE-VOTableSTC-1.1-20090612.html, 
then v2.0 (2010) (see example C) with the difference that the COOSYS had 
been replaced by a GROUP and different utypes have been proposed. As a 
reminder, this method was subsequently deprecated because no VOTable 
provider had implemented it - even several years after its adoption. 
Version 1.3 (2013) of VOTable then reverted to the original COOSYS 
method in order to avoid VOTables no longer having any coordinate system 
definition.

This proposal in 1.5 is more flexible than version 1.2 (which completely 
eliminated the use of COOSYS). The fact remains that having 2 
association methods still poses consistency questions? Which is 
required, which is optional? What should be done when the 2 methods are 
simultaneously present, but not consistent? Should we expect the 
original referencing to disappear (FIELD ref -> COOSYS ID)? What are the 
consequences? what are the benefits? Will this new referencing method be 
extended to TIMESYS? ...

The discussion on this evolution of VOTable 1.4 -> 1.5 - which may seem 
minor, but can have major consequences - can only be found on github 
(started at the end of June 2023 => 
https://github.com/ivoa-std/VOTable/pull/40), and relatively few people 
have reacted since then. Would it be possible to use the Apps IVOA 
mailing list to reach a wider audience.

Best regards
Pierre Fernique


*A) Original method: **
*
<VOTABLE version="1.4" ...>
   <RESOURCE>
     <COOSYS *ID="icrs"* system="ICRS"/>
     <PARAM name="pmra" utype="votable:ProperMotion-lon" *ref="icrs"* 
ucd="pos.pm;pos.eq.ra" unit="mas/yr"
        datatype="float" value="123.45"/>
     <PARAM name="pmdec" utype="votable:ProperMotion-lat" *ref="icrs"* 
ucd="pos.pm;pos.eq.dec" unit="mas/yr"
        datatype="float" value="321.09"/>
     <TABLE name="pos">
        <FIELD name="ra" *ref="icrs"* datatype="double" ucd="pos.eq.ra" 
unit="deg"/>
        <FIELD name="dec" ref="icrs" datatype="double" ucd="pos.eq.dec" 
unit="deg"/>
        <DATA>
          <TABLEDATA>
            <TR>
              <TD>121.2846388435</TD>
              <TD>-33.9221492345</TD>
            </TR>
          </TABLEDATA>
        </DATA>
     </TABLE>
   </RESOURCE>
</VOTABLE>

*B) Proposed alternative for WD 1.5:**
* /(example from the WD 1.5, with additions of the original reference 
method (in italic) )/
*
*
<VOTABLE version="1.5" ...>
   <RESOURCE>
     <COOSYS *ID="system"* system="ICRS">
       <FIELDref utype="votable:LonLatPoint-lon" *ref="id-1"*/>
       <FIELDref utype="votable:LonLatPoint-lat" *ref="id-2"*/>
       <PARAMref utype="votable:ProperMotion-lon" *ref="id-3"*/>
       <PARAMref utype="votable:ProperMotion-lat" *ref="id-4"*/>
     </COOSYS>
     <PARAM name="pmra" *ID="id-3"* /*ref="system" 
*/ucd="pos.pm;pos.eq.ra" unit="mas/yr"
        datatype="float" value="123.45"/>
     <PARAM name="pmdec" *ID="id-4"* /*ref="system" 
*/ucd="pos.pm;pos.eq.dec" unit="mas/yr"
        datatype="float" value="321.09"/>
     <TABLE name="pos">
        <FIELD name="ra" *ID="id-1"* /*ref="system" */datatype="double" 
ucd="pos.eq.ra" unit="deg"/>
        <FIELD name="dec" *ID="id-2"* /*ref="system" */datatype="double" 
ucd="pos.eq.dec" unit="deg"/>
        <DATA>
          <TABLEDATA>
            <TR>
              <TD>121.2846388435</TD>
              <TD>-33.9221492345</TD>
            </TR>
          </TABLEDATA>
        </DATA>
     </TABLE>
   </RESOURCE>
</VOTABLE>


*C) Method used in REC 1.2 (referencing the "STC note in VOTable 1.1"), 
and deprecated in REC 1.3**
*/(example from the STC note as is)/*
*
<TABLE>
   <GROUP *ID="Coo1"* utype="stc:AstroCoords" >
     <PARAM name="cooframe" datatype="char" arraysize="*" ucd="pos.frame"
        utype="stc:AstroCoords.coord system id"
        value="UTC-ICRS-TOPO" /> <!-- UTC-ICRS-TOPO defined in STC-Lib -->
     <FIELDref *ref="ObsStart"* /> <!-- second referencing, optional -->
     <FIELDref *ref="RAJ2000"*/> <!-- second referencing, optional -->
     <FIELDref *ref="DEJ2000"*/> <!-- second referencing, optional -->
   </GROUP>
   <FIELD name="RAJ2000" ucd="pos.eq.ra;meta.main" *ref="Coo1"*
*ID="RAJ2000"* utype="stc:AstroCoords.Position2D.Value2.C1"
      datatype="float" precision="4" unit="deg" />
   <FIELD name="DEJ2000" ucd="pos.eq.dec;meta.main" *ref="Coo1"*
*ID="DEJ2000"* utype="stc:AstroCoords.Position2D.Value2.C2"
      datatype="float" precision="4" unit="deg" />
   <FIELD name="ObsStart" ucd="time.start;obs" datatype="char" 
xtype="iso8601"
      arraysize="19" unit="s" *ID="ObsStart"* *ref="Coo1"*
      utype="stc:AstroCoords.Time.TimeInstant.ISOTime" />
   <FIELD name="ExpTime" ucd="time.duration;obs.exposure"
      datatype="float" width="6" precision="1" unit="s"/>
   <DATA>
   ...
</TABLE>

Le 14/09/2023 à 14:41, Tom Donaldson a écrit :
> Dear VOTable Enthusiasts,
>
> On behalf of the Applications Working Group I’m pleased to announce the first Working Draft for VOTable version 1.5.  The document can be found here:https://www.ivoa.net/documents/VOTable/20230913/  
>
>
> Summary of changes since version 1.4
> --------------------------------------------------
>
> - Schema changes:
> --- COOSYS now has a refposition attribute analogous to TIMESYS
> --- COOSYS system now uses vocabularies
> --- ** COOSYS now allows FIELDref and PARAMref children for the specific purpose of building propagatable positions
>
> - Clarifications/rewording on:
> --- meaning of MIN/MAX value attributes for array types.
> --- removing the "recommendation" to use xmlns to do utype prefix binding.
> --- timescales for calendar epochs
> --- ID/ref positioning advice
>
> ** - The COOSYS changes to handle propagation of positions are the most substantial proposed changes in this release.  For additional information, see:
> - Discussion in the PR:https://github.com/ivoa-std/VOTable/pull/40  
> - Draft PR in Astropy showing how this could be used:https://github.com/astropy/astropy/pull/14992  
>
> The changes since version 1.4 were all made via Github pull requests.  Some of these PRs contain useful discussion of the details so can be a useful reference for the ongoing Working Draft discussion.  The complete list of PRs included in this working draft can be found here:https://github.com/ivoa-std/VOTable/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av1.5  
>
>
> Review and Comment
> -----------------------------
>
> Our job now is to review the document and propose/implement any changes needed.  The primary forum for discussion will be the Applications WG mailing list (apps at ivoa.net).  Github Pull Requests and Issues also offer a nice interface for discussion, so I recommend using those for discussing concrete or specific change proposals.  For example, instead of commenting on the mailing list that a particular paragraph should be different, submitting a Pull Request with the specific change in context can be a productive way to further the conversation.  If you have concrete proposals and would like help with creating a PR, just let us know on the Apps list and one of the editors will be happy to help.
>
> Note that as new PRs are merged into the master branch, a preview PDF is available athttps://github.com/ivoa-std/VOTable/releases/download/auto-pdf-preview/VOTable-draft.pdf     (also via the icon/badge at the top of the VOTable github repo READMEhttps://github.com/ivoa-std/VOTable#readme).
>
>
> Known Open Issues
> -------------------------
>
> We're maintaining the list of known issues in Github.  This is the complete list of known issues that could still be addressed in version 1.5:https://github.com/ivoa-std/VOTable/issues?q=is%3Aopen+is%3Aissue+milestone%3Av1.5  
>
> Of those, only 2 are "must do" so have a label of "Priority: High":
> - Update sections 7.1 and 7.2 to match schema changes for COOSYS (https://github.com/ivoa-std/VOTable/issues/41)
> - Update the change log - section 9.4 (Differences Between Versions 1.4 and 1.5,https://github.com/ivoa-std/VOTable/issues/46)
>
>
>
> Please review this Working Draft at your earliest opportunity.  I look forward to the discussion and suggestions onapps at ivoa.net  as well as concrete proposals in Pull Requests (or new Github issues).
>
> Best regards,
> Tom
>
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/apps/attachments/20230925/0fc35338/attachment-0001.htm>


More information about the apps mailing list