Format VOTable : standard d'échange de données (astronomie)

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 02/12/10
  • Correction mineure : 18/09/12
Mots-clés

Format VOTable : standard d'échange de données (astronomie)

Acronyme :

VOTable

Nom complet :

Le VO de l'acronyme signifie Virtual Observatory

Description courte :

Le format VOTable est un standard basé sur XML pour l'échange de données tabulaires.
Il a été créé par l'IVOA (International Virtual Observatory Alliance) pour répondre au besoin de partager de très gros volumes de données dans le cadre de l'Observatoire Virtuel (ensemble de catalogues de données en astronomie, souvent distants et hétérogènes, mais devant être interrogeables ou consultables à partir d'un seul point d'entrée unique en utilisant des méthodes et formats standardisés).
Un fichier VOTable est un ensemble de tables et contient des métadonnées (qui décrivent les informations relatives au fichier et la définition de chacun des champs) et des données qui peuvent être stockés sous 3 formats différents : TABLEDATA (XML), BINARY ou FITS.

Extension par convention :

.vot ou .xml

Version actuelle ou version décrite dans la fiche :

1.2

Documents de standardisation :

La première recommandation (version 0.1) a été publiée le 18 novembre 2001.

La version la plus récente (version 1.2), publiée le 30 novembre 2009, est décrite dans :
http://www.ivoa.net/Documents/VOTable/20091130/REC-VOTable-1.2.pdf

Avantages :

  • Basé sur un standard (XML)
  • Interopérabilité

Utilisations recommandées :

Ce format est très utilisé par la communauté scientifique en astronomie dans le cadre des systèmes d'Observatoires Virtuels.

Logiciels de traitement :

La liste des outils permettant de créer ou manipuler des fichiers VOTable est disponible ici :
VOTable Software

On y trouve notamment :

- des librairies écrites dans différents langages (Java, C++, Perl, PHP et Python) ;

- des applications qui acceptent ce format en entrée ou en sortie (Aladin, TOPCAT,...).

Formats connexes :

XML 1.0

Structure du fichier VOTable :

Un fichier VOTable est une ressource (RESOURCE) composée d'une ou plusieurs tables (TABLE). Chaque table contient une description de la table (PARAM, DESCRIPTION), la définition de chacun des champs de la table (FIELD) et les données (DATA).
Les données peuvent être stockées de trois façons :
- TABLEDATA : les données sont au format XML (avec balises TR et TD), donc la table est lisible mais très verbeuse ;
- BINARY : les données sont sous format binaire ;
- FITS : les données sont contenues dans un fichier FITS.

Cette dernière possibilité vient du fait que le format VOTable a, dès le départ, été conçu pour rester compatible avec le format FITS, très utilisé en astronomie (accès au contenu des tables FITS sans réécriture des données).

A noter aussi qu'un fichier VOTable peut être composé de plusieurs ressources, chacune pouvant contenir des tables de données de structure différente.

Exemple (extrait du fichier VOTable en TABLEDATA d'une étoile observée par le télescope spatial CoRoT) :

<?xml version='1.0'?>
<VOTABLE version="1.1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.ivoa.net/xml/VOTable/v1.1 http://www.ivoa.net/xml/VOTable/v1.1"
 xmlns="http://www.ivoa.net/xml/VOTable/v1.1">
<!--
 !  VOTable written by STIL version 2.8 (uk.ac.starlink.votable.VOTableWriter)
 !  at 2010-11-05T12:36:23
 !-->
    <RESOURCE>
        <TABLE name="EN2_STAR_CHR_0102708694_20071023T223035_20080303T093502.fits" nrows="348670">
         <PARAM arraysize="*" datatype="char" name="EXTNAME" value="BINTABLE">
            <DESCRIPTION>name of the extension</DESCRIPTION>
         </PARAM>
         <FIELD arraysize="23" datatype="char" name="DATE" unit="yyyy-mm-jjThh:mi:ss"/>
         <FIELD datatype="double" name="DATEJD" unit="COROT JULIAN DAY"/>
         <FIELD datatype="double" name="DATEHEL" unit="COROT JULIAN DAY"/>
         <FIELD datatype="int" name="STATUS"/>
         <FIELD datatype="float" name="REDFLUX" unit="ELECTRONS"/>
         <FIELD datatype="float" name="REDFLUXDEV" unit="ELECTRONS"/>
         <FIELD datatype="float" name="GREENFLUX" unit="ELECTRONS"/>
         <FIELD datatype="float" name="GREENFLUXDEV" unit="ELECTRONS"/>
         <FIELD datatype="float" name="BLUEFLUX" unit="ELECTRONS"/>
         <FIELD datatype="float" name="BLUEFLUXDEV" unit="ELECTRONS"/>
         <FIELD datatype="float" name="WHITEFLUX" unit="ELECTRONS PER PIXEL"/>
         <FIELD datatype="float" name="JCFW" unit="ELECTRONS"/>
<FIELD datatype="float" name="BG" unit="ELECTRONS"/>
         <FIELD datatype="float" name="CORREC_RED" unit="ELECTRONS"/>
         <FIELD datatype="float" name="CORREC_GREEN"/>
         <FIELD datatype="float" name="CORREC_BLUE"/>
         <DATA>
             <TABLEDATA>
                <TR>
<TD>2007-10-23T22:30:35.000</TD>
<TD>2852.4376628083655</TD>
<TD>2852.4392856502645</TD>
<TD>1</TD>
<TD>931972.75</TD>
<TD>21487.277</TD>
<TD>148447.31</TD>
<TD>7812.389</TD>
<TD>218506.67</TD>
<TD>13792.4795</TD>
<TD>1298926.8</TD>
<TD>0.0</TD>
<TD>448.1599</TD>
<TD>0.0</TD>
<TD>0.0</TD>
<TD>0.0</TD>
</TR>
                  ...(348670 lignes de données <TR>)...
                </TABLEDATA>
            </DATA>
        </TABLE>
    </RESOURCE>
</VOTABLE>

A noter que depuis la version 1.1, chaque champ de la table (TABLEDATA) peut être défini avec sa propre balise (pour remplacer la simple balise TD). Cela permet de lever une limitation initiale du format VOTable et d'exploiter les outils de requêtes propres à XML comme xPath ou xQuery.
Pour cela, il faut utiliser la balise <XMLDATA> et rajouter un ID dans la définition des champs. Pour reprendre l'exemple ci-dessus avec uniquement les 3 premiers champs, cela donnerait :

         <FIELD arraysize="23" datatype="char" name="DATE" ID="DATE" unit="yyyy-mm-jjThh:mi:ss"/>
<FIELD datatype="double" name="DATEJD" ID="DATEJD" unit="COROT JULIAN DAY"/>
<FIELD datatype="double" name="DATEHEL" ID="DATEHEL" unit="COROT JULIAN DAY"/>
...
<DATA>
  <TABLEDATA><XMLDATA>
    <TR>
<DATE>2007-10-23T22:30:35.000</DATE>
<DATEJD>2852.4376628083655</DATEJD>
<DATEHEL>2852.4392856502645</DATEHEL>
...

Commentaires :

Grâce au standard XML utilisé, un fichier VOTable peut facilement être mis en forme à l'aide d'une feuille de style XSLT et manipulé par des outils standards. Aussi, et même s'il est moins performant que le format BINARY, le stockage des données sous le format TABLEDATA reste le plus utilisé car lisible par n'importe quel éditeur ou tableur classique.
Dans ce contexte d'utilisation, ce format peut permettre, par exemple, d'effectuer des fouilles systématiques sur un catalogue complet de données astronomiques (ce que l'on appelle aussi le data mining).

URL pour plus d'informations :

Working Group IVOA VOTable

Commentaires

Format FITS

La fiche ressource FITS, format cité dans cette fiche, décrit FITS