mardi 28 août 2007

GWT

J'étudie la possibilité de faire une page en AJAX pour supporter tout ce que l'on veut faire. Google Web Toolkit semble parfait pour mettre une page AJAX sur pieds. voici une bonne introduction, c'est une des présentations du Google Developper Day.


mercredi 1 août 2007

Petits ajustements

Après notre rencontre d'hier (Lael, Jeff et moi), le projet est devenu plus ambitieux. J'ai préparé une interface utilisateur dans laquelle on implanterait une partie "commentaire" qui ajouterait des informations à chaque site, dans le même XML si possible.

Pour décrire rapidement une utilisation type : l'utilisateur(trice) se connecte, tape dans une barre de recherche un mot clef (type "carbon") se retrouve face à une arborescence montrant les sites contenant ce mot clef (voir prototype sur le poste d'hier) ainsi que le globe world wind (une icone par site).

Tâches :
  • Établir une liste des tâches pour le stagiaire
  • Générer une nouvelle série de données à partir de TRAGIC++, pour avoir des données temporelles
  • Monter un exemple de site internet

mardi 31 juillet 2007

Nouvelle idée d'interface


Très inspirée de http://vis.berkeley.edu/papers/sense.us/

jeudi 26 juillet 2007

mardi 24 juillet 2007

En attendant 0.3

Bon, en attendant, voici la liste des choses à accomplir (la liste n'est pas dans l'ordre d'importance) :
  1. Plusieurs méthodes de visualisation
  2. Le graphique doit correspondre au point cliqué
  3. Permettre de fermer les graphiques inutiles sans avoir à tout fermer
  4. Déterminer si on peut utiliser GeoIQ avec WWj
  5. Centrer la carte automatiquement autour des points
  6. Et... Comprendre comment faire une applet !!! :(
Le point 5 est en parti réglé : la caméra ne se place pas automatiquement en long/lat/alt selon les points, mais j'ai réussi à lui forcer des coordonnées par défaut de cette manière :
//essaie centrage
gov.nasa.worldwind.geom.LatLon myLatLon = new LatLon(51, -96);
double myAltitude = 50;
View myView = wwd.getView();
myView.setPitch(gov.nasa.worldwind.geom.Angle.ZERO);
myView.goToLatLon(myLatLon);
myView.setZoom(myAltitude);
//fin de l'essai

Alpha 0.1

J'ai fourni aujourd'hui à Jeff une version de démonstration du projet dans l'état actuel d'avancement. Après avoir essayé en vain (on attend la version 0.3 du JDK) de créer une applet et fournir une page web, Jeff et moi avons décidé de fournir une version qui se lance localement à partir d'un portable.


GeoIQ

J'ai trouvé ça il y a quelques jours. Je pense que ça ne fonctionne qu'avec Google maps, mais cela mériterait de s'y pencher de plus près. En gros, ça permet de superposer aux cartes Google maps une couche matricielle représentant des données interpolées.




http://www.geoiq.com

vendredi 13 juillet 2007

Lancer une classe depuis une autre

J'ai enfin reçu l'aide nécessaire pour parvenir à lancer une jframe contenant prefuse lorsque je clique sur une icone dans WWJ. Voir http://sourceforge.net/forum/forum.php?thread_id=1777123&forum_id=343013



Il me faut maintenant :
  • Trouver une solution pour lancer le graph correspondant à l'icone cliquée. Je peut déjà transmettre le numéro du site, il faut juste que je fasse un gros XML contenant toutes les données pour ensuite choisir de lancer seulement telle ou telle branche. Voir la fonction "queries" de prefuse.
  • Faire des jframe indépendantes pour pouvoir les fermées les unes après les autres.
Une bonne journée quoi ! :)

mardi 10 juillet 2007

Apprentissage difficile de JAVA :)

Je lutte avec plusieurs problèmes dans Java, mais je viens d'en résoudre un :

  • Comment passer une variable (String) d'une méthode à une autre au sein de la même classe. J'ai résolu le problème, non sans mal, en indiquant dans l'entête de la méthode 1 (dans laquelle la chaîne de caractères est attribuée à la variable) "public String"
    public String loadLayerSet(Node node) {...
pour définir la nature (String) de la variable à exporter, puis en ajoutant "return name;" avant la dernière accolade. Ensuite, dans la méthode 2 (qui doit utiliser la valeur de cette variable "name"), j'ai appelé la variable par "icon.name" et non "name". Je ne sais pas pourquoi "name" se trouve dans "icon" mais j'ai trouvé dans la liste des variables du débuggeur.



  • Le deuxième problème consiste à lancer Prefuse dans une nouvelle fenêtre, depuis WWJ
  • Le troisième problème, pour plus tard, est d'utiliser la valeur de "name" pour lancer la visualisation prefuse correspondant au site cliqué.

jeudi 5 juillet 2007

Reprise

J'ai temriné mon rapport de DESS et je peux me remettre au travail sur ce projet.

J'ai tenter hier de convertir de manière automatique, en utilisant XSLT (par le biais d'une version démo de Altova Mapforce), le XML original (issue de la base Access) et un XML au format Treeml. J'ai réussi à créer un exemple :


Il me faut toutefois réfléchir à une méthode qui permettra, une fois le système Metacat opérationnel, de tirer les informations directement du système.
XSLT pourrait fonctionner, mais Prefuse semble pouvoir lire directement les données de la base sortant de Postgre.

Voir ce post : http://sourceforge.net/forum/forum.php?thread_id=1768443&forum_id=343013

jeudi 21 juin 2007

Rencontre du 21 juin 2007

Un petit compte rendu de la rencontre d'aujourd'hui :

Nous sommes d'accord pour nous concentrer pour le moment sur la visualisation de la base de données du carbone pour les forêts canadiennes. Le but est de fournir un prototype de la partie visualisation du projet pour début septembre.

Objectif à courts terme (d'ici une semaine ou deux) :
Parvenir à lire les informations du XML pour les afficher avec Prefuse.

Objectif à moyen terme (d'ici un mois) :
Intégrer Prefuse à World Wind Java.

lundi 18 juin 2007

Pause

Je prends quelques jours de pause sur ce projet pour terminer mon compte-rendu de DESS. :)

mercredi 13 juin 2007

Encore une idée (ou deux, en fait. Voir trois)

Je viens de tomber là-dessus :
http://www.cs.toronto.edu/~ccollins/research/index.html

On y voit deux/trois choses qui me paraissent peut-être pertinentes dans le cadre de ce qui nous intéresse ici :

1.

Ce que l'étudiant appelle "Visualizing Uncertainty in Lattices" et qui pourrait être utilisé pour visualiser les données prises sur plusieurs années (l'incertitude de l'exemple serait remplacée par les différentes prises de données).


2.

Pour visualiser les groupes qui travaillent sur les même données. Si on pouvait placer tout ça géographiquement...


3.



Je ne sais pas encore à quoi ça pourrait servir, mais le concept m'intéresse. Je trouve que c'est potentiellement une bonne manière de montrer des liens entre des systèmes de visualisation différents.

mardi 12 juin 2007

Afficher des couches sur le globe

Je viens de trouver quelque chose qui devrait aider à l'affichage des .png dans WWJ :

http://patmurris.blogspot.com/2007/06/adding-single-image-layers-to-wwj.html

À faire :

Avant peu si possible :
  • centrer la carte sur les points affichés (de manière dynamique, pour permettre de recentrer selon les requêtes)
  • afficher sur les points, à la place des icônes, peut-être, des .png dont la couleur varie en fonction de la valeur de se que l'on veut afficher (carbone, etc.)
  • intégrer Prefuse à WWJ (ça va être dur, ça, demander à Kinsky si c'est possible)
Un peu plus tard :
  • Intégré un champ de recherche par mots clefs

lundi 11 juin 2007

SAX parser II (plus trop SAX, en fait)

Bon, rapidement, la méthode pour aller chercher le child d'un child dans un xml (merci Kinsky). Par exemple, pour SITES.xml :
n = findChildByName(findChildByName(child, "SITE_INFORMATION"), "TERRESTRIAL_ECOZONE");
String description1 = n.getTextContent();

mardi 5 juin 2007

Idées...

Je viens de découvrir Photosynth. C'est une technologie qui vient d'être racheté par Microsoft et qui permet d'agglomérer des images selon un ou des critères (spatiaux, contextuels, etc.). Je me demande si ce genre de choses pourrait être utilisées pour des données scientifiques. Il faut que je réflechisse à une technique de visualisation contextuelle et/ou spatiale des informations. Je pense que l'on peut faire mieux que Prefuse.
La vidéo
Sea dragon

lundi 4 juin 2007

SAX Parser.

J'essaie aujourd'hui de comprendre comment extraire des informations d'un document XML. Il semblerait que SAX (www.saxproject.org) soit une bonne solution. Je fais un tutoriel pour comprendre comment ça fonctionne.
Le but étant de lire SITES.xml et d'extraire les données importantes pour les utiliser avec WWJ ou Prefuse.