VOTable et l’observatoire virtuel solaire

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

VOTable et l’observatoire virtuel solaireMarco SoldatiHaute École Spécialiséede 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

ConsumerStatic Search Registry(SSR)

BrokerSolar Event Catalog (SEC)Database of SolarObservations (DSO)

ProviderUnified Observing Catalog(UOC)Observation Data

ProviderUnified Observing Catalog(UOC)Observation Data

ProviderUnified Observing Catalog(UOC)Observation Data

Les catalogues du consumer

Static Search Registry – SSRTrier des instruments au moyen de

paramètres statiques

Les catalogues du broker

Solar Event Catalog – SECPour trouver des évènements solaires

Database of Solar Observations – DSOPour trouver ce qu’un instrument pourrait

avoir observé

Les catalogues du provider

Unified Observing Catalog – UOCPour 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 - protocole EGSO

Consumer Broker

Provider

Provider

Provider

EGSO Query

VOTable

EGSO Query

VOTable

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>

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>

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 -le processus (SSR)

MySQLDatabase

Transformationavec

JSP Template

VOTable

Java XML ParserJava Object

StructureAffichage

Banque dedonnées

initialisation

pendantl'exécution

Banque de données -modèle de données (SSR)

Instrument

instrumentmeasurement_typestart_wavelengthend_wavelength....

Observatory

observatorylocation...

Field

fielddatatypeunitdomain...

Group

grouputypefield_ref...

instrument mt start_wl end_wl ...eit mt_remote 195 284

rhessi mt_remote...

observatorysoho

rhessigong soho mt_remote

field datatype unit domaininstrument char

measurement_type charmt_remote,mt_insitu

start_wavelength float Åend_wavelength float Å

...

...

observatory char

group utype field_ref ...

wavelength egso:intervalstart_wavelength,end_wavelength

...

Les données

Modèle VOTable

Banque de données -la VOTable (SSR) Exemple d‘une VOTable SSR

SSR VOTable

Sauvegarde des paramètres et méta données (pour le futur)

Save settings as VOTable

VOTable

Interfacegraphiquede EGSO

Sauvegarde des paramètres - Exemple dans IDLIDL> 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 IDLIDL> 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

TableA

primary_keyforeign_key

TableB

primary_key

Comment faire la référence d’un champ à un autre dans VOTable ?

Instrument

instrumentmeasurement_typestart_wavelengthend_wavelength....

Observatory

observatorylocation...

instrument mt start_wl end_wl ...eit mt_remote 195 284

rhessi mt_remote...

observatorysoho

rhessigong soho mt_remote

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 complexesinstrument mt start_wl end_wl ...

eit mt_remote 195 284

rhessi mt_remote...

observatorysoho

rhessigong soho mt_remote

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 ?

longueur d’ondes

longueur d’ondes

longueur d’ondes

Types de données complexes

Ajouter des tables imbriquées (nested tables)Exemple avec tables imbriquées

Traitement des erreurs

Consumer Broker

Provider

Provider

Provider

EGSO Query

VOTable

EGSO Query

VOTable

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>

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>

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éesBanque de donnésSauvegarde des paramètres

Extensions "solaires"Relations entre tableauxTypes de données complexesTraitement des erreursRequêtes

Merci de votre attention

Explication du protocole

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>

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