Skip to content

Commit

Permalink
Remove epoch propagation and cleanup for WD (#48)
Browse files Browse the repository at this point in the history
* Remove COOSYS-based epoch propagation and update diff section
* Add refposition attribute to COOSYS in section 7.2
* Note vocabularisation of COOSYS/@refposition in xsd
* Change schema version to 1.5pre3

---------

Co-authored-by: Mark Taylor <[email protected]>
  • Loading branch information
tomdonaldson and mbtaylor authored Oct 22, 2023
1 parent 798c7e0 commit 9689d58
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 113 deletions.
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@ STILTS ?= stilts
test:
@$(STILTS) xsdvalidate \
schemaloc="http://www.ivoa.net/xml/VOTable/v1.3=VOTable.xsd" \
coosys_example.vot
timesys_example.vot
@$(STILTS) xsdvalidate \
schemaloc="http://www.ivoa.net/xml/VOTable/v1.3=VOTable.xsd" \
timesys_example.vot
stc_example1.vot
@$(STILTS) xsdvalidate \
schemaloc="http://www.ivoa.net/xml/VOTable/v1.3=VOTable.xsd" \
stc_example2.vot
5 changes: 3 additions & 2 deletions VOTable.attr.tex
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
\attr{equinox}\\
\attr{epoch}\\
\attr{system}\\
\attr{refposition}\\
\hline\end{tabular}
\\ \\
\begin{tabular}{|l|}\hline
Expand Down Expand Up @@ -131,7 +132,7 @@
\begin{tabular}{@{}c@{}} %%% Start cell r2c2
\begin{tabular}{|l|}\hline
\multicolumn{1}{|c|}{\elem{FIELDref}}\\
\multicolumn{1}{|c|}{{\em(\Aref{elem:FIELDref})}}\\
\multicolumn{1}{|c|}{{\em(\Aref{elem:FIELDref})}}\\
\hline{}
\requiredattr{ref}\\
\attr{ucd}\\
Expand All @@ -140,7 +141,7 @@
\\ \\
\begin{tabular}{|l|}\hline
\multicolumn{1}{|c|}{\elem{PARAMref}}\\
\multicolumn{1}{|c|}{{\em(\Aref{elem:PARAMref})}}\\
\multicolumn{1}{|c|}{{\em(\Aref{elem:PARAMref})}}\\
\hline{}
\requiredattr{ref}\\
\attr{ucd}\\
Expand Down
81 changes: 21 additions & 60 deletions VOTable.tex
Original file line number Diff line number Diff line change
Expand Up @@ -678,12 +678,9 @@ \subsection{\elem{COOSYS} Element}
has the following attributes, all of them (syntactically) optional:

\begin{description}
\item[\attr{ID}] Required if the \elem{COOSYS} element is to
be referred to via the \attr{ref} attribute of the position components.
This version of VOTable still recommends that practice, but in the
future we intend to drop \attr{ref}-based back-references from
components to \elem{COOSYS} in favour of \elem{FIELDref} and
\elem{PARAMref} children (see below).
\item[\attr{ID}] Required if the \elem{COOSYS} element has to
be referred to via the \attr{ref} attribute of the position components,
which is generally the case.

\item[\attr{system}] Specifies the reference frame of the coordinates.
The value must be taken from the IVOA \emph{refframe} vocabulary
Expand Down Expand Up @@ -725,7 +722,7 @@ \subsection{\elem{COOSYS} Element}
specifications in Julian or Besselian years.

\item[\attr{refposition}] The reference position for which the positions
are given. The values of this attribute should be taken form the IVOA
are given. The values of this attribute should be taken from the IVOA
\emph{refposition} vocabulary (\url{http://www.ivoa.net/rdf/refposition}).
At the time or writing, this vocabulary includes the terms
% GENERATED: !vocterms refposition
Expand All @@ -738,58 +735,13 @@ \subsection{\elem{COOSYS} Element}
% /GENERATED
\end{description}

To facilitate comparing data at different epochs (epoch propagation),
since VOTable version 1.5, the \elem{COOSYS} element SHOULD also be used
to group and label coordinates and their derivatives. This is done by
referencing the participating \elem{FIELD}-s and/or \elem{PARAM}-s from
the element content using \elem{FIELDref} or \elem{PARAMref} with
\attr{utype} attributes identifying the roles of the respective items.

We define role names in terms of labels within the Coords data model
\citep{2022ivoa.specQ1004R} where possible, using an ad-hoc prefix
\verb|votable|:

\begin{description}
\item[votable:LonLatPoint-lon] The longitude (e.g., a Right Ascension).
\item[votable:LonLatPoint-lat] The latitude (e.g., a Declination).
\item[votable:ProperMotion-lon] The time derivative of the longitude in
the tangential plane (``multiplied with $\cos(\delta)$''). We currently
define no way to annotate raw proper motions in longitude, which are
very rare in modern catalogues.
\item [votable:ProperMotion-lat] The time derivative of the latitude.
\item[votable:LonLatPoint-dist] The radial coordinate. Both parallaxes
(when the unit of the referenced element is an angle) and actual
distances (with length units) are admitted.
\item[votable:ProperMotion-rv] The radial velocity.
\end{description}

None of these roles are mandatatory, but of course even rudimentary
epoch propagation requires a full position and both proper motions.
More roles (e.g., for errors) may be defined in the future. VOTable
readers therefore MUST accept VOTables with unknown COOSYS roles, though
they MAY issue warnings for them.

Note that there can be multiple \elem{COOSYS} elements per table. An
example would be when both equatorial and galactic coordinates are
given, or when there are multiple reductions of the same underlying
data.

Also note that \elem{COOSYS} may be deprecated in the
future in favor of a more generic way of describing the conventions used
to define the positions of the objects studied in the enclosed tables.

A \elem{COOSYS} element referenced via a \attr{ref} attribute
SHOULD appear before the element that references it.

Here is an example of a \elem{COOSYS} describing a series of position
determinations and mean proper motions, while radial information is
missing:

\begingroup\small
\verbatiminput{coosys_example.vot}
\endgroup


\subsection{\elem{TIMESYS} Element}
\label{elem:TIMESYS}

Expand Down Expand Up @@ -894,9 +846,9 @@ \subsection{\elem{RESOURCE} Element}
\elem{RESOURCE} qualified by \attrval{type}{meta} can be used e.g. to host
MIVOT (Model Instances in VOTables) annotations \citep{2023ivoa.spec.0620M}.
MIVOT defines a syntax to map VOTable
data to any model serizalized in VO-DML \citep{2018ivoa.spec.0910L}.
It operates as a bridge between models and data that associates VOTable
metadata to data model leaves.
data to any model serizalized in VO-DML \citep{2018ivoa.spec.0910L}.
It operates as a bridge between models and data that associates VOTable
metadata to data model leaves.
It also brings up data or metadata that were possibly missing in the actual dataset.
MIVOT annotations have their own namespace; they have no impact on the VOTable schema.

Expand Down Expand Up @@ -2337,13 +2289,22 @@ \subsection{Differences Between Versions 1.3 and 1.4}

\subsection{Differences Between Versions 1.4 and 1.5}
\label{diff1.4-1.5}
The differences between version 1.5 of VOTable and the preceding
version 1.4 are:

\begin{itemize}
\item COOSYS now has a refposition attribute analogous to TIMESYS; it
also admits FIELDref and PARAMref children now for building propagatable
positions, and it is no longer derived from xs:string. The latter means
that you cannot have text content in COOSYS any more, which probably
only was possible by accident and never had a meaning.
\item COOSYS now has a \attr{refposition} attribute analogous to TIMESYS.
\item The frame identifiers (\attr{system} attribute) in COOSYS are now taken
from the refframe IVOA vocabulary.
\item Clarifications and rewording on:
\begin{itemize}
\item the meaning of \elem{MIN} and \elem{MAX} \attr{value} attributes for
array types.
\item removing the recommendation to use xmlns to do utype prefix binding.
\item timescales for calendar epochs.
\item positioning advice for \attr{ID} and corresponding references.
\item noting that \elem{RESOURCE} elements can contain \elem{MIVOT} blocks.
\end{itemize}
\end{itemize}

% NOTE: IVOA recommendations must be cited from docrepo.bib
Expand Down
49 changes: 27 additions & 22 deletions VOTable.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@
.Version 1.4wd-a: TD: updates for initial draft of v1.4.
.Version 1.4: TD: Change version to 1.4
.Version 1.5pre1: MD: adding refposition attribute and FIELDref/PARAMref
in COOSYS, which no longer is derived from xs:string, either.
.Version 1.5pre2: MD: vocabularising frame attribute in COOSYS
in COOSYS, which no longer is derived from xs:string, either.
.Version 1.5pre2: MD: vocabularising system attribute in COOSYS
.Version 1.5pre3: TD: Undo the FIELDref/PARAMref addition to COOSYS
-->
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns="http://www.ivoa.net/xml/VOTable/v1.3"
targetNamespace="http://www.ivoa.net/xml/VOTable/v1.3"
version="1.5pre1"
version="1.5pre3"
>
<xs:annotation><xs:documentation>
VOTable is meant to serialize tabular documents in the
Expand Down Expand Up @@ -225,25 +226,29 @@

<!-- Expresses the coordinate system we are using -->
<xs:complexType name="CoordinateSystem">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:choice>
<xs:element name="FIELDref" type="FieldRef"/>
<xs:element name="PARAMref" type="ParamRef"/>
</xs:choice>
</xs:sequence>

<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute name="equinox" type="astroYear"/>
<xs:attribute name="epoch" type="astroYear"/>

<xs:attribute name="system" default="FK5">
<xs:annotation>
<xs:documentation>
Values for this attribute must be taken from the IVOA
refframe vocabulary, http://www.ivoa.net/rdf/refframe
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute name="equinox" type="astroYear"/>
<xs:attribute name="epoch" type="astroYear"/>
<xs:attribute name="system" default="FK5">
<xs:annotation>
<xs:documentation>
Values for this attribute must be taken from the IVOA
refframe vocabulary, http://www.ivoa.net/rdf/refframe
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="refposition" type="xs:token">
<xs:annotation>
<xs:documentation>
The reference position SHOULD be taken from the IVOA
refposition vocabulary (http://www.ivoa.net/rdf/refposition).
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

<xs:simpleType name="Timeorigin">
Expand Down
26 changes: 0 additions & 26 deletions coosys_example.vot

This file was deleted.

2 changes: 1 addition & 1 deletion timesys_example.vot
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<VOTABLE version="1.5" xmlns="http://www.ivoa.net/xml/VOTable/v1.3">
<RESOURCE>
<COOSYS ID="system" epoch="J2015.5" system="ICRS"/>
<COOSYS ID="system" epoch="J2015.5" system="ICRS" refposition="BARYCENTER"/>
<TIMESYS ID="time_frame" refposition="BARYCENTER" timeorigin="2455197.5" timescale="TCB"/>
<TABLE name="ts_data">
<FIELD datatype="double" name="obs_time" ucd="time.epoch" unit="d" ref="time_frame"/>
Expand Down

0 comments on commit 9689d58

Please sign in to comment.