310 likes | 419 Views
VOTable et l’observatoire virtuel solaire. Marco Soldati Haute École Spécialisée de la Suisse de nord-ouest. Introduction. European Grid of Solar Observations (EGSO) Usage de VOTable dans EGSO Usage de VOTable dans IDL Extensions "solaires" de VOTable. EGSO – Le problème.
E N D
VOTable et l’observatoire virtuel solaire Marco Soldati Haute École Spécialisée de la Suisse de nord-ouest
Introduction • European Grid of Solar Observations (EGSO) • Usage de VOTable dans EGSO • Usage de VOTable dans IDL • Extensions "solaires" de VOTable
EGSO – Le problème • Env. 160 instruments observent le soleil • Env. 160 bases de données avec leurs propres modèles • Un grand nombre de fichiers de données solaires (images, films, …)
EGSO – La solution • Grille de données (data grid) et de services
Les catalogues du consumer • Static Search Registry – SSR • Trier des instruments au moyen de paramètres statiques
Les catalogues du broker • Solar Event Catalog – SEC • Pour trouver des évènements solaires • Database of Solar Observations – DSO • Pour trouver ce qu’un instrument pourrait avoir observé
Les catalogues du provider • Unified Observing Catalog – UOC • Pour trouver ce qui a été observé • Observation Data • les données en elles-mêmes (images, films, raw data)
Utilisation du format VOTable dans EGSO • Actuellement • Moyen de transport pour des méta données (protocole EGSO) • Banque de donnés (SSR) • Futur • Sauvegarde des paramètres ou méta données des utilisateurs. • Sauvegarde des donnés (remplacement de FITS, hors du contrôle EGSO)
Moyen de transport des méta données • Démo "EGSO Webclient" http://tashmetum.ifi.fh-aargau.ch:8080/egso/
Moyen de transport des méta données – Solar Event Catalog • Démo "Solar Event Catalog" (SEC Server) http://radiosun.ts.astro.it/sec/sec_ui.php
Banque de données -Static Search Registry (SSR) • But: chercher des instruments au moyen de paramètres statiques • Les données sont définies à la main • Démo "Static Search Registry" (SSR) http://tashmetum.ifi.fh-aargau.ch:8080/ssr/faces/jsp/ssr.jsp
Banque de données -la VOTable (SSR) • Exemple d‘une VOTable SSR SSR VOTable
Sauvegarde des paramètres - Exemple dans IDL IDL> a = {x:0, y:bytarr(3)} IDL> help, a, /struct ** Structure <83bdb64>, 2 tags, length=6, data length=5, refs=1: X INT 0 Y BYTE Array[3] IDL> xml = struct2votable( a ) IDL> openw, 1, 'h.xml' & printf,1, xml, form = '(a)' & close, 1
Sauvegarde des paramètres - Exemple dans IDL IDL> o = obj_new( 'votable2struct', 'h.xml') IDL> b = o->getdata() IDL> help, b, /struct ** Structure <82beb32>, 2 tags, length=6, data length=5, refs=1: X INT 0 Y BYTE Array[3] IDL> print, same_data( a, b ) 1
Extensions "solaires" • Relations entre tableaux • Types de données complexes • Traitement des erreurs • Requêtes
Relations entre tableaux • Comment faire la référence d’un champ à un autre dans VOTable ?
Relations entre tableaux • Ajouter les attributs "ID" et "refid" à la balise "TR" Relations avec la balise "TR"
Relations entre tableaux • Ajouter les attributs "primaryKey" et "foreignKeyRefId" à la balise "FIELD" Relations avec la balise "FIELD"
Types de données complexes • Comment décrire les instruments qui observent plusieurs intervalles de longueur d’ondes ? • Comment décrire les instruments qui observent seulement une longueur d’onde ?
Types de données complexes • Ajouter des tables imbriquées (nested tables) Exemple avec tables imbriquées
Traitement des erreurs • Extension de la balise "INFO" <VOTABLE version="1.1"> <INFO name="any_name" type="{critical | error | warning | userinfo | systeminfo | debug}" > message </INFO> <INFO type="error" name="provider1_error"> Host foo is not available. <stacktrace>...</stacktrace> </INFO> ... </VOTABLE>
Requêtes • Comment définir des requêtes XML qui retournent une VOTable ?
Résumé • Utilisation du format VOTable • Moyen de transport pour des méta données • Banque de donnés • Sauvegarde des paramètres • Extensions "solaires" • Relations entre tableaux • Types de données complexes • Traitement des erreurs • Requêtes
Requête 1:<?xml version="1.0" encoding="UTF-8"?> 2:<query type="query4"> 3:<select> 4:<field name="start-date"/> 5:<field name="end-date"/> ... 11:</select> 12:<data default-relation="AND" relation="AND" type="event"> 13:<param name="event-type"> 14:<value>goes_xray_flare</value> 15:</param> 16:<param name="date"> 17:<interval> 18:<start>2002-07-15 00:00:00</start> 19:<end>2002-07-16 00:00:00</end> 20:</interval> 21:</param> 22:</data> 23:</query> Résultat 1:<?xml version="1.0" encoding="UTF-8"?> 2:<VOTABLE version="1.0"> 3:<DEFINITIONS></DEFINITIONS> 4:<RESOURCE> 5:<DESCRIPTION>EGSO Query result</DESCRIPTION> 6:<TABLE> 7:<FIELD name="start-date"/> 8:<FIELD name="end-date"/> ... 14:<DATA> 15:<TABLEDATA> 16:<TR> 17:<TD>2002-07-15 00:46:00</TD> 18:<TD>2002-07-15 00:55:00</TD> 19:<TD>null</TD> 20:<TD>C1.8</TD> 21:<TD>null</TD> 22:<TD>null</TD> 23:<TD>0</TD> 24:</TR> ... 106:</TABLEDATA> 107:</DATA> 108:</TABLE> 109:</RESOURCE> 110:</VOTABLE> Explication du protocole
h.xml 1:<VOTABLE version="1.0"> 2:<RESOURCE> 3:<PARAM name="X" datatype="int" value="0"/> 4:<FIELD datatype="unsignedByte" arraysize="3"/> 5:<TABLE name="Y"> 6:<DATA> 7:<TABLEDATA> 8:<TR> 9:<TD>000</TD> 12:</TR> 13:</TABLEDATA> 14:</DATA> 15:</TABLE> 16:</RESOURCE> 17:</VOTABLE> Sample: hessi_params.xml