PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007
PLAN DE LA PRÉSENTATION Mise en contexte Définition du projet Méthodologie Architecture de la solution Démonstration Difficultés rencontrées Bilan Conclusion
MISE EN CONTEXTE Concepts SOLAP SOLAP = SIG + OLAP Outil d’aide à la décision Permet l’exploration simple et rapide des données à plusieurs niveaux de détails Structure multidimensionnelle L’approche multidimensionnelle : Dimension Mesure Fait Cube
MISE EN CONTEXTE Projet de maîtrise Problématique: Analyses spatiales doivent être pré-calulées Supportent actuellement seulement la structure vectorielle (point,ligne,polygone) Analyses lourdes et complexes Donc souvent non disponibles dans les cubes Solution: Structure matricielle Topologie explicite Opérateurs simples
DÉFINITION DU PROJET Objectif projet de maîtrise: « Identifier et explorer les alternatives d’utilisation de l’analyse matricielle pour la construction de cubes afin d’optimiser les analyses spatio-temporelles voir même de la possibilité d’en effectuer certaines à la volée» Objectif projet de session: « Implanter un opérateur de Map Algebra dans le serveur OLAP Open Source Mondrian qui permettra de faire une analyse spatiale matricielle à la volée» Map Algebra: Langage utilisé pour obtenir de l’information spatiale sur des grilles. Calculs mathématiques simples qui sont appliqués à un niveau local, focal ou zonal. Mondrian: Serveur OLAP Open Source écrit en Java qui permet d’interroger des cubes de données à partir du langage MDX MDX: Variante multidimensionnelle du langage SQL Langage utilisé pour requêter des cubes de données
MÉTHODOLOGIE 1.Analyser la structure et les fonctions de Mondrian 2.Étudier le langage MDX 3.Proposer une structure de cube permettant d’exploiter les opérateurs d’analyses matricielles 4.Modélisation et conception du jeu de données 5.Développer l’opérateur de Map Algebra qui sera appelé par une requête MDX 6.Tests 7.Déploiement sur le web avec Tomcat
MÉTHODOLOGIE 1.Structure et fonctions de Mondrian Pourquoi Mondrian? Open Source Écrit complètement en Java Possibilité de modifier ou d’ajouter des fonctionnalités Base de données Serveur Mondrian Client Schéma XML Fonctions utilisateur
MÉTHODOLOGIE 3. Structure de cube Modèle rasterCube Modèle Raster=Cube Couche=Dimension / Mesure Tuile=Fait
MÉTHODOLOGIE 4. Modélisation et conception du jeu de données Modélisation Schéma étoile Schéma XML correspondant
MÉTHODOLOGIE 4. Modélisation et conception du jeu de données Conception Création de la structure en étoile sous forme de tables relationnelles (PostgreSQL 8.2) Traiter et transformer les données (ArcGIS 9.1)
MÉTHODOLOGIE 4. Modélisation et conception du jeu de données Peuplements forestier Classification Type de sol Exporter en ASCII
MÉTHODOLOGIE 4. Modélisation et conception du jeu de données Conception Création de la structure en étoile sous forme de tables relationnelles (PostgreSQL 8.2) Traiter et transformer les données (ArcGIS 9.1) Développer un algorithme Java qui permet de lire le fichier ASCII et de peupler les tables relationnelles
MÉTHODOLOGIE 5. Développer l’opérateur de Map Algebra Opérateur choisit: Focal Rating (Adjacence) = 100 Hydrographie = 2 Résineux Mesure:Type de solMesure: Adjacence MDX Focal Rating = 0 non adjacent = 1 adjacent
ARCHITECTURE DE LA SOLUTION ASCII Mondrian OLAP Serveur Tomcat JPivot PostgreSQL Focal Rating Java Schéma XML
DÉMONSTRATION
DIFFICULTÉS RENCONTRÉES Manque de connaissances du langage MDX Fait énormément de tests + consulter des exemples Manque d’exemples dans la documentation pour la « user-defined function » (passer plus de 1 paramètres) Ève Problème dans le déploiement sous Tomcat de la « User-defined function » Forum de discussions Création d’un.jar
BILAN Limites du projet Appel de la fonction dans une requête MDX complexe Temps de traitement
BILAN Améliorations possibles Faire une interface à l’utilisateur pour l’appel de la fonction Optimiser le temps de traitement Peupler seulement les faits existants Stocker la topologie dans une String Créer un type de données raster… Perspectives d’évolution Exporter le résultat pour le visualiser sous forme de carte Développer un ensemble d’opérateurs de Map Algebra
CONCLUSION L’objectif du projet est atteint Le projet a permis de démontrer qu’il est possible de faire une analyse spatiale matricielle à la volée dans un cube de données Ce projet m’a permis: De faire un premier pas dans le monde Open Source De gérer un projet de développement De tester des concepts pour mon projet de recherche
QUESTIONS Questions ???