-
Notifications
You must be signed in to change notification settings - Fork 7
How To configure and use Mizar in SITools
Cette partie décrit la procédure d’installation du module Mizar en tant qu’extension au sein d’une instance de SITools2 V3.
Installer nodeJs
sudo apt-get install nodejs npm
La première des choses à faire est de récupérer la dernière version (>= 3.0 beta3) de SITools2-core sur Github. Elle inclue notamment les scripts de build et de déploiement de Mizar :
https://github.com/SITools2/SITools2-core/releases
Les scripts se situent dans le répertoire {SITOOLS_ROOT_DIRECTORY}/workspace/client-extension-3.0/resources/scripts.
Le script build_mizar.sh permet de copier les fichiers sources de Mizar dans le répertoire d’extension de SITools2. Il va soit récupérer la version de Mizar compatible avec SITools2 à partir du dépôt Github.
Le script deploy_mizar.sh permet de copier et de remplacer les fichiers nécessaires dans le répertoire data de SITools2.
export $SITOOLS\_ROOT={**SITOOLS\_ROOT\_DIRECTORY**}
cd $SITOOLS\_ROOT/workspace/client-extension-3.0/resources/scripts
./build\_mizar.sh $SITOOLS\_ROOT
./deploy\_mizar.sh $SITOOLS\_ROOT |
Télécharger le dernier installer de l’extension Astronomy (>=2.5) sur Github : https://github.com/SITools2/Astronomy-Extension-Server/releases
Lancer l’installeur AstronomyPlugin-2.5-install.jar et saisir le répertoire d’installation de SITools2 ({SITOOLS_ROOT_DIRECTORY}) au cours de l’installation.
Redémarrer SITools2.
Afin que postgis puisse travailler sur une sphere, il est nécessaire d’ajouter une projection particulière dans Postgis.
Exécuter la commande suivante :
insert into spatial_ref_sys values(40000, 'ME', 1,'GEOGCS["Normal Sphere (r=6370997)",DATUM["unknown",SPHEROID["sphere",6370997,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]','+proj=longlat +ellps=sphere +no_defs');
Configurer la colonne contenant la géométrie de votre table avec le srid à 40000.
Les configurations suivantes seront effectuées depuis l’interface d’administration de SITools2.
Dans la version actuelle de Mizar, il est nécessaire que la colonne de la clé primaire du dataset soit obligatoirement appelée identifier. Pour cela, rajouter simplement une colonne SQL dans le dataset qui référence la colonne de la vrai clé primaire.
Ce « bug » sera corrigé dans la prochaine version de Mizar.
Choisir la vue SimpleGridView comme vue du dataset.
Depuis l’interface Request Filter sélectionné le dataset voulu. Rajouter le filtre HealpixFilter et renseigner la colonne géométrie puis la projection utilisée pour ce dataset. Dans notre cas on utilise 40000 pour utiliser la projection ajoutée précédement.
Depuis l’interface Dataset services, rajouter le service server GeoJSONPostGisResourceModel :
Saisir les colonnes contenant les informations de géométrie (obligatoire) et de quicklook, thumbnail et download (optionnel).
Rajouter également le service MocResourceModel :
Saisir la colonne contenant l’information de géométrie ainsi que l’odre de génération du moc.
Rajouter le service Mizar Mapping Service permettant de connecter un dataset au module Mizar :
Configurer les paramètres suivants ;
Nom du paramètre | Description |
---|---|
GeoJson PostGis Url | Url d’un service retournant un fichier GeoJSON « à plat » |
Moc Resource | Url d’un service retournant un MOC au format JSON (cf : MocResourceModel) |
OpenSearch Resource | Url d’un service retournant du GeoJSON et implémentant le protocol OpenSearch de recherche healpix (cf : HealpixFilter) |
Starting RA (°C) | Ascension droite initiale en degré |
Starting DEC (°C) | Déclinaison initiale en degré |
Starting Zoom | Zoom initial (valeur de 1 à 15) |
Il existe 2 modules de projet utilisant MIZAR
- Mizar
Ce module affiche simplement MIZAR et des données peuvent être affichées dans Mizar depuis chaque dataset via l’utilisation du service IHM Mizar Mapping Service ou depuis le graphe.
- Mizar View & Data Module
Ce module affiche MIZAR et les données d’un dataset seulement à partir de la configuration donné dans le service IHM Mizar Mapping Service.
Dans les 2 cas, il est possible de configurer quels composants graphiques seront affichés dans MIZAR, une position de départ et l’url du fichier de configuration de MIZAR. Par défaut ce fichier se trouve dans {SITOOLS_ROOT_DIRECTORY}/client-extension-3.0/resources/conf/mizarModule/sitools_mizar.json
Il est possible d’ajouter une colonne au graphe du projet pour afficher les données d’un jeu de données dans MIZAR sans avoir les données dans une grille. Pour cela, il faut suivre les informations du paragraphe 4.7.2 et configurer une colonne avec les informations suivantes :
Nom du paramètre | Valeur |
---|---|
Column name | Mizar |
xtype | sitools.extension.component.projectGraph.MizarGraphColumn |
visible | true |
Sitools2 permet d’ajouter plusieurs colonnes de façon programatique à un graphe de projet. L’ajout se réalise en 2 étapes, l’implémentation de la colonne ainsi que l’action effectuée puis la configuration au niveau des paramètres du graphe de projet.
L’implémentation d’une colonne de graphe de projet se présente sous la forme d’un objet ExtJs qui doit être une sous classe de « sitools.user.core.Component »
Cette classe se doit d’implémenter la méthode getAdditionalColumns qui doit retourner un tableau de colonne.
Par exemple pour l’ajout d’une colonne permettant le mapping des données dans dataset dans Mizar :
getAdditionalColumns : function () {
return [{
xtype:'actioncolumn',
text : i18n.get("label.mizarMappingService"),
flex : 1,
name : 'mizar',
dataIndex : "datasetId",
items: [{
icon : loadUrl.get('APP_URL') + loadUrl.get('APP_CLIENT_EXTENSION_URL') + '/resources/img/mizarModule/mizar.png',
tooltip: 'Mizar Service',
scope : this,
handler: function(grid, rowIndex, colIndex) {
var record = grid.getStore().getAt(rowIndex);
var mizarServiceUrl = record.get("url") + '/services/gui';
this.callMizarService(record, mizarServiceUrl);
}
}],
renderer : function (value, metadata, record, rowIndex, colIndex, store, view) {
var me = view.up("projectGraph");
if(me.isNodeANode(record)) {
metadata.style = "visibility:hidden";
}
return value;
}
}];
}
Une fois la colonne définie, il est nécessaire de l’ajouter au graphe de projet. La configuration se fait au niveau des paramètres du module « projectGraph » lors de la configuration d’un projet.
L’ajout d’une colonne se fait dans la partie « Additional Columns » et l’on peut configurer le nom de la colonne, le nom de la classe ExtJS (xtype) et la visibilité de la colonne.
Par défaut le moc est calculé en utilisant la limite de 3000 enregistrements renseignée dans le fichier sitools.properties.
AbstractDatabaseRequest.MAX_ROWS=3000
Afin de lever cette limite, il faut modifier cette configuration avec une valeur plus importante.
#####Mapping entre une grille de jeu de données et Mizar