Upload
lucienne-billard
View
105
Download
2
Embed Size (px)
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