Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove epoch propagation and cleanup for WD #48

Merged
merged 5 commits into from
Oct 22, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
79 changes: 20 additions & 59 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 @@ -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
43 changes: 20 additions & 23 deletions VOTable.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@
.Version 1.4pre1: MD: merged 1.3-Erratrum 2, added TIMESYS.
.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
.Version 1.5pre1: MD: adding refposition attribute
.Version 1.5pre2: MD: vocabularising system attribute in COOSYS
.Version 1.5: TD: Change version to 1.5
-->
<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.5"
>
<xs:annotation><xs:documentation>
VOTable is meant to serialize tabular documents in the
Expand Down Expand Up @@ -225,25 +225,22 @@

<!-- 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: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