Réunions
Réunion du 15 janvier 2016
Refonte de la section Aladin
Voici à quoi pourrait ressembler la section Aladin (cliquer pour accéder à la version pleine résolution)
A développer :
un ensemble de classes Javascript/fichiers CSS ayant pour point d'entrée un objet AladinPortalWidget
qu'on initialise en passant en paramètre le sélecteur de la div parente :
var aladinWidget = new AladinPortalWidget("#aladin-div");
Cet objet aura une méthode
update(<ra>, <dec>, <radius-in-degrees>)
qui permettra de mettre à jour la vue pour la position et le rayon donné. Exemple :
aladinWidget.update(83.63308, 22.01450, 0.04);
Fonctionnalités
- Lorsque le widget est mis à jour, il fera appel au MOCServer pour récupérer en JSON la liste des HiPS images contenus dans le champ demandé.
L'URL à appeler est de la forme http://alasky.unistra.fr/MocServer/query?POS=[ra]%2C[dec]&SIZE=[radius-in-degrees]&get=record&dataproduct_type=image&fmt=json
. Exemple :
http://alasky.unistra.fr/MocServer/query?POS=83.63308%2C22.01450&SIZE=0.04&get=record&dataproduct_type=image&fmt=json
NB : en supprimant fmt=json , on obtient une sortie au format texte qui peut être utile pour visualiser plus facilement les champs disponibles
- Le résultat de cette requête servira à peupler le tableau sur la gauche de l'interface.
Les attributs JSON suivants seront utilisés :
- obs_title pour la colonne Title
- obs_regime pour la colonne Wavelength (obs_regime n'est actuellement pas rempli pour les HiPS image, mais ce sera le cas à l'avenir)
- moc_sky_fraction pour la colonne Sky fraction (à multiplier par 100 pour avoir un pourcentage)
- Lors d'un appel à update, on affichera un HiPS par défaut (sans doute le DSS couleur qui a pour publisher_did ivo://CDS/P/DSS2/color) centré sur la position demandée
- Le tableau est triable en cliquant sur l'entête de chaque colonne
- Le champ de recherche au-dessus du tableau permettra de filtrer les entrées en recherchant dans obs_title, obs_description et obs_collection
- De manière similaire, on pourra décocher certaines gammes de longueurs d'onde pour ne conserver que les HiPS correspondants
- On pourra aussi choisir d'afficher soit les "Favorite HiPS" soit "All HiPS". Par défaut, on affiche uniquement les "Favorite HiPS". Ces "Favorite HiPS" correspondent aux enregistrements ayant "AladinLite" comme un des valeurs de la clé "client_application"
- Lors d'un click sur une ligne du tableau, on met à jour Aladin Lite en affichant le HiPS correspondant
- Un click sur i (information) dans le tableau fait apparaître un popup avec les obs_title, obs_description, obs_copyright_url (+ autres infos à définir)
- Un click sur le bouton More permettra l'accès à des actions supplémentaires (eg: téléchargement du MOC associé, envoi via SAMP, etc. A définir)
- Un click sur le bouton Share affichera une liste d'options permettant :
- "Save view as PNG" : la sauvegarde en PNG de la vue courante
- "Get view URL" : l'obtention d'une URL correspondant à la vue (à la youtube)
- "Embed view" : obtention du bout de code HTML pour intégration
- "Show view in Aladin Desktop" --> si Aladin Desktop est lancé et détecté par SAMP, on envoie le message qui va bien. Sinon, on propose le lancement d'Aladin par Web start
Intégration d'Aladin Lite
Les informations pour intégrer Aladin Lite dans une page sont disponibles ici :
http://aladin.u-strasbg.fr/AladinLite/doc/#embedding
Pour afficher la région demandée, on utilisera :
aladin.setFoV(;radius-in-degrees);
aladin.gotoRaDec(<ra>, <dec>);
Pour changer de survey, la syntaxe suivante est à utiliser :
aladin.setBaseImageLayer(aladin.createImageSurvey(<id>, <name>, <root-URL>, <coo-frame>, <max-order>, <options>))
Exemple :
Pour afficher le HiPS correspondant à l'enregistrement JSON suivant :
{
"publisher_did": "ivo://CDS/P/2MASS/H",
"obs_collection": "2MASS H",
"obs_title": "2MASS H",
"obs_description": "2MASS H survey resampled in Healpix by CDS",
"obs_copyright_url": "http://www.ipac.caltech.edu/2mass/",
"prov_progenitor": "IPAC/NASA - healpixed by CDS",
"client_category": "Image/Infrared/2MASS",
"client_sort_key": "04-001-03",
"hips_creation_date": "2013-05-06T20:36Z",
"hips_release_date": "2014-11-03T15:16Z",
"hips_builder": "Aladin/HipsGen v8.116",
"hips_publisher": "CDS (A.Oberto)",
"hips_version": "1.2",
"hips_order": "9",
"hips_frame": "equatorial",
"hips_tile_width": "512",
"hips_tile_format": "jpeg fits",
"dataproduct_type": "image",
"hips_glu_tag": "P-2MASS-H.hpx",
"moc_access_url": "http://alasky.u-strasbg.fr/2MASS/H/Moc.fits",
"hips_service_url": "http://alasky.u-strasbg.fr/2MASS/H",
"hips_status": "public master clonable",
"hips_service_url_1": "http://alaskybis.u-strasbg.fr/2MASS/H",
"hips_status_1": "public mirror clonable",
"moc_sky_fraction": "1",
"moc_order": "9",
"obs_initial_ra": "0",
"obs_initial_dec": "+0",
"obs_initial_fov": "0.11451621372724685",
"client_application": "AladinDesktop"
}
on appelle
aladin.setBaseImageLayer(aladin.createImageSurvey("ivo://CDS/P/2MASS/H", "2MASS H", "http://alasky.u-strasbg.fr/2MASS/H", "equatorial", 9, {imgFormat: "jpg"}))
Les attributs à récupérer sont donc
publisher_did,
obs_title,
hips_service_url,
hips_frame,
hips_order (à caster en entier). imgFormat prendra pour valeur
png si png est inclue dans la liste des valeurs, jpg sinon.
Suggestions Pierre
Au double click dans Aladin Lite (recentrage de la vue), relancer une interrogation au MOC Server avec la position et le rayon courants
Refonte de la section VizieR (Catalogues)
Slider pour choix rayon (de 2 à 60 arcmin)
interrogation du MocServer.Exemple :
http://alasky.unistra.fr/MocServer/query?RA=10.8&DEC=32.2&SR=0.5&get=record&dataproduct_type=catalog
multiples facettes utilisant
http://keshif.me/
Détail des facettes :
- obs_regime (label: Wavelength)
- obs_astronomy_kw (label: Astronomy keyword)
- obs_mission (label: Mission)
- nb_rows (label: #rows) --> facette numérique
- associated_dataproduct_type (label: Associated data)
- moc_sky_fraction (label: Sky fraction) --> facette numérique
tri des tables par wavelength ou autres critères
intégration widget SED --> dans widget séparé
interrogation directe d'une table ? --> quick analysis
visu dans Aladin lite et envoi par SAMP --> ouvre Aladin Lite en "plein écran"
Refonte de la section Simbad
découpé entre infos sur un objet, bibliographie, et mesures pour les objets dans un cone
biblio : liste histogramme interactif
envoi données autour de la target vers Aladin Lite ou via SAMP
Section Tabular data
Le widget sera initialisé par défaut avec les cone search suivants :
Autres idées
guided tour (voir
http://stackoverflow.com/questions/10707882/interactive-tutorial-for-a-web-app ,
http://bootstraptour.com/ ,
http://usablica.github.io/intro.js/ par exemple)
utilisation widgets plot, dashboard
pouvoir minimiser chacune des sections
-- Main.ThomasBoch - 2015-09-10
Procédure
si modif dans les widgets :
cd /home/simon/workspace/NewPortalClient/scripts
./updatePortalComponents.bash
Pour tester le portail :
cd /home/simon/workspace/NewPortalClient/src/web-pages/search-page
python -m SimpleHTTPServer
puis dans Firefox, aller sur
http://0.0.0.0:8000