Transformation d'une table TSV en VOTable - Ajout des métadonnées

L'objectif de cet exercice est :

  • d'appréhender le format VOTable
  • de comprendre le rôle important que jouent les métadonnées
  • d'expérimenter l'utilisation des métadonnées dans un outil VO

Nous allons partir d'une table au format CSV (coma-separated values) , dépourvue de métadonnées, la charger dans Topcat et lui assigner les UCD correspondants.

Quelques notions sur les UCDs

Les UCDs (Unified Content Descriptors) donnent la signification sémantique d'une quantité ("de quelle quantité s'agit-il ?"). Ils sont utilisés principalement pour décrire le contenu des colonnes dans les documents VOTable, par le biais d'un attribut ucd="... au niveau de l'élément FIELD. Ils sont également utilisés pour décrire des paramètres individuels ou des données tabulaires dans le registry (annuaire) de l'OV.

Les UCDs sont standardisés et décrits dans deux documents de référence (recommendations IVOA) : un pour les règles de syntaxe, et un autre contenant la liste des mots valides.

En bref : un UCD est constitué au minimum d'un mot, ou de plusieurs mots séparés par des ';' . L'essentiel du sens est donné par le premier mot. Pour décrire une magnitude mesurée dans la bande V, on peut utiliser le mot phot.mag (décrivant une magnitude) et le combiner au mot em.opt.V (décrivant la bande V dans le domaine optique) : l'UCD complet sera donc phot.mag;em.opt.V

La documentation et les outils se rapportant aux UCDs se trouvent ici : http://cdsweb.u-strasbg.fr/UCD/ . Un ensemble d'outils en ligne sont également disponibles : http://cdsweb.u-strasbg.fr/UCD/tools.htx

Assignation des UCDs

  • Récupérez la table apj_614.csv sur votre disque dur
  • Récupérez également apj_614.desc, qui contient la description des différentes colonnes contenues dans la table
  • Lancez Topcat ( java -jar topcat-full.jar)
  • Chargez la table dans Topcat (menu File --> Load table en précisant CSV comme format)
topcat_loadCSV.png

  • Puis, cliquez sur le bouton topcat_columnMETA.png Display column metadata, et sélectionnez l'affichage de la colonne "UCD" depuis le menu Display.

topcat_ucd.png

  • Pour chaque colonne de la table, remplissez le champ UCD correspondant (double-cliquez sur la cellule à éditer) en vous aidant de la description correspondante (fichier apj_614.desc ) et de l'outil UCD Builder (cf. section suivante)

Recherche manuelle d'UCD

Pour trouver les UCD à assigner, utilisez l'outil UCD builder ( http://cdsweb.u-strasbg.fr/UCD/cgi-bin/descr2ucd ).

Entrez simplement la description du paramètre, et l'outil vous suggérera l'UCD à utiliser.

Vous pouvez copier/coller chaque UCD dans la colonne adéquate dans le tableau des métadonnées de Topcat.

Assignation des unités

Les outils en ligne suivants sont utiles lorsqu'on cherche à assigner des unités :

Afin de gagner du temps, les unités à utiliser se trouvent dans le fichier apj_614.units Pour comprendre la signification d'une unité, vous pouvez utiliser http://vizier.u-strasbg.fr/cgi-bin/Unit

  • Cliquez sur le bouton topcat_columnMETA.png Display column metadata, et sélectionnez l'affichage de la colonne "Units" depuis le menu Display, puis copier/coller les unités de chaque champ.

Conversion vers le format VOTable

Une fois les UCDs et les unités assignées, il ne nous reste plus qu'à sauvegarder notre table au format VOTable.

  • Dans Topcat, sélectionnez File --> Save table, précisez votable-tabledata et sauvegardez.
  • Ouvrez le fichier obtenu dans un éditeur de texte

Vous pouvez aussi vous référer au fichier solution.

Utilisation des métadonnées dans un outil VO

Utilisation des UCD

Nous allons démontrer deux utilisations différentes des UCDs :

  • Détection automatique des colonnes d'intérêt
  • Utilisation dans les filtres Aladin

  • Lancez Aladin (java -Xmx300M -jar Aladin.jar) et chargez une image de M33 (File, Open, Aladin Images, choisissez l'image Lw-POSSI.E par exemple).
  • Puis interrogez SIMBAD et chargez la VOTable que vous avez obtenue à l'étape précédente (ou utilisez la VOTable solution).
  • Sélectionnez ensuite Cross-match objects depuis le menu Catalog : remarquez que les colonnes portant l'information de la position ont été sélectionnées automatiquement, même si elles portent des noms différents. Les UCDs nous renseignent de façon non ambigue sur la nature des colonnes.

  • Sélectionnez Create a filter depuis le menu Catalog, et sélectionnez Draw circles proportional to object luminosity.
  • Passez en Advanced mode reveals that the filter use regular expressions on UCDs to indicate which
column has to be used to interpret the expression. One generic filter can then operate on many different data sources, if UCDs are present.

Units

We will show the use of units, again using Aladin filters: Launch Aladin, and load an Image of M33 (File, Open, Aladin Images, choose Lw-POSSI.E for example). Then load the VOTable where you assigned the UCDs as a local file (or use the solution VOTable).

Select "Create a filter" from the Catalog menu, and switch to advanced mode. Copy and paste the following before applying (or load this as a local file):

$[spect.dopplerVeloc*]<-1.7e5m/s {draw blue square}

{draw red rhomb}

The filters use a conversion library that is able to interpret units, and here perform on the fly the conversion from m/s to km/s.

Partez du VOTable obtenu à l'étape précédente, ou utilisez ce fichier solution.

Utilisation de STILTS (en ligne de commande)

STILTS propose

Aller plus loin :

For large collections, it is desirable to automate the process of finding UCDs corresponding to descriptions. We can use the "assign" method of the UCD SOAP Web Services ( http://cdsweb.u-strasbg.fr/cdsws/ucdClient.gml ). We will pass each column description to the service, and it will give back the corresponding (best guess) UCD.

This SOAP Web Service, as other available methods for UCD manipulation, can be consumed in a number of ways (PERL, Python, Java). We propose a simple PERL example for our problem. Example in Java is also available. * Parsers VOTable (liste non exhaustive)

    • Java
    • Python

Ce tutoriel est librement adapté de la session Metadata présentée par Sebastien Derriere et. al lors du workshop How to publish data to the VO (Juin 2009)

-- ThomasBoch - 16 Sep 2009

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatcsv apj_614.csv r1 manage 11.0 K 2009-09-16 - 14:21 ThomasBoch  
Unknown file formatdesc apj_614.desc r1 manage 0.3 K 2009-09-16 - 14:37 ThomasBoch  
Unknown file formatunits apj_614.units r2 r1 manage 0.1 K 2009-09-21 - 12:58 ThomasBoch  
XMLxml apj_614.xml r1 manage 27.6 K 2009-09-16 - 14:36 ThomasBoch  
PNGpng topcat_columnMETA.png r1 manage 0.4 K 2009-09-21 - 12:28 ThomasBoch  
PNGpng topcat_loadCSV.png r1 manage 8.4 K 2009-09-16 - 14:30 ThomasBoch  
PNGpng topcat_ucd.png r1 manage 14.4 K 2009-09-21 - 12:30 ThomasBoch  
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r11 - 2009-09-21 - ThomasBoch
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback