Modélisation spatiale multiscalaire de phénomènes sociaux Réalisation du logiciel Hypercarte Olivier Cuenot Mémoire d’ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction Contexte du stage Le projet Hypercarte Le logiciel Hypercarte Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Contexte du stage IMAG Institut d’Informatique et Mathématiques Appliquées de Grenoble Laboratoire LSR-IMAG Logiciels, Systèmes et Réseaux IMAG : Fédération de 7 Unités de Recherche du CNRS, de l’INPG et de l’UJF SIGMA : axe Composants : réutilisation et traçabilité des produits et des processus d’ingénierie des Systèmes d’Information axe Multimédia-Web : ingénierie des SI basés sur des informations multimédias et sur la technologie Web Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Contexte du stage Equipe SIGMA Systèmes d’Information : inGénierie et MultimédiA Axe Composants Composants Patrons d’ingénierie Axe Multimédia-Web SIMW SIG IMAG : Fédération de 7 Unités de Recherche du CNRS, de l’INPG et de l’UJF Axe composant : approche à base de composants, patrons d’ingénierie Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le projet Hypercarte Un objectif Création d’outils d’analyse spatiale et plus particulièrement de cartographie dynamique de visualisation de phénomènes socio-économiques Quatre partenaires UMR Géographie-Cités UMS Riate Projet Apache (INRIA) – ID-IMAG Axe Multimédia-Web de l’équipe SIGMA (LSR-IMAG) UMR = Unité Mixte de Recherche UMS = Unité Mixte de Service Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le logiciel Hypercarte Outil d’analyse spatiale multiscalaire Analyse Indicateurs statistiques Combinaison Multiscalaire Espace Maillé ATM : Analyse Territoriale Multiscalaire Non maillé ASM : Analyse Spatiale Multiscalaire Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le logiciel Hypercarte Outil d’analyse territoriale multiscalaire Indicateurs socio-économiques Rapport entre les indicateurs Niveau de maillage Espace d’étude Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le logiciel Hypercarte Déviation d’une unité territoriale par rapport : À un espace À une unité territoriale de maillage supérieure Aux unités voisines Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le logiciel Hypercarte Structure des données Niveaux de maillage Unités territoriales NIVEAU 0 NIVEAU 1 NIVEAU 2 NIVEAU 3 France Centre-Est Rhône-Alpes Isère Allemagne Sud-Ouest Auvergne Rhône Pays Landers allemands, etc. Régions françaises, etc. Départements français, etc. Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Introduction > Le logiciel Hypercarte Logiciel de cartographie interactive Construction de cartes Mise en forme des cartes Manipulation des cartes construites Recalcul des cartes à la volée Construction de cartes en sélectionnant : L’espace d’étude et le maillage élémentaire Les indicateurs statistiques Les déviations Mise en forme des cartes en choisissant : La distribution La progression La palette de couleurs Manipulation des cartes construites Zoom Panning Recalcul des cartes à la volée Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
« Amélioration du logiciel existant » Cahier des charges « Amélioration du logiciel existant » Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Cahier des charges > Le prototype Point fort Validation de choix techniques : Java & Swing Faiblesses Code complexe Performances et fiabilité moyennes Manques Sauvegarde/restauration de session Production d’un rapport imprimable Fort potentiel d’amélioration Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Cahier des charges Des alternatives ? Réécriture complète MapInfo (MapBasic) MapServer (MapScript) Réécriture complète Limitations ? Notre proposition : Amélioration du prototype Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Cahier des charges > Tâches à réaliser Amélioration des performances, de la fiabilité, de l’évolutivité Restructuration de l’application Amélioration de l’ergonomie Remodelage de l’interface Sauvegarde/restauration du contexte utilisateur Production d’un rapport imprimable Ajout de fonctionnalités Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Restructuration de l’application Remodelage de l’interface Ajout de fonctionnalités Conclusion Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application Spécialisation de classes Architecture logicielle trois-tiers Communication inter-composant Regroupement des paramètres Gestion de caches Isolement de la logique applicative Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Proposition > Restructuration de l’application > Spécialisation de classes Principe Map DiscMap if (disc) { } DeviationMap if (deviation) { } Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Proposition > Restructuration de l’application > Spécialisation de classes Exemple Map DiscMap IndicatorMap ContextMap DeviationMap SynthesisMap LocalDeviationMap MediumDeviationMap GlobalDeviationMap DenominatorMap NumeratorMap Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Avantages Inconvénient Lisibilité du code Proposition > Restructuration de l’application > Spécialisation de classes Avantages Lisibilité du code Mise en facteur du code commun Inconvénient Multiplication de classes Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Proposition > Restructuration de l’application > Architecture logicielle trois-tiers « metaclasse » Classe Graphique utilise utilise « metaclasse » Classe Technique utilise composants graphiques visibles dans l’interface accès aux données, communication entre les composants… logique de l’application et de ses règles métiers « metaclasse » Classe Métier Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Principe Communication entre composants par notification d’événements Proposition > Restructuration de l’application > Communication inter-composant Principe Communication entre composants par notification d’événements Utilisation d’un distributeur (dispatcher) Enregistrement des composants auprès du distributeur Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Avantages Inconvénient Anonymat des composants Proposition > Restructuration de l’application > Communication inter-composant Avantages Anonymat des composants Ajout simplifié de composants Plusieurs origines pour un événement Inconvénient Incertitude sur l’ordre de transmission d’un événement aux composants enregistrés Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Proposition > Restructuration de l’application > Regroupement des paramètres Principe Pour les paramètres modifiables par l’utilisateur (facteur de zoom, etc.) Paramètres de l’application = attributs de la classe statique Settings Avantage Implémentation de la sauvegarde du contexte plus facile Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Principe Mise en place de 2 caches Obsolescence adaptative Proposition > Restructuration de l’application > Gestion de caches Principe Mise en place de 2 caches Cache N1 : Stockage des unités territoriales utilisées Cache N2 : Stockage du rapport et des déviations calculés pour chaque unité de N1 Obsolescence adaptative Repeuplement à l’utilisation Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Proposition > Restructuration de l’application > Gestion de caches Avantages N1 évite le parcours systématique de la liste complète des unités territoriales N2 évite la répétition de calculs en virgule flottante Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Principe Avantages Centralisation de la logique métier Proposition > Restructuration de l’application > Isolement de la logique applicative Principe Centralisation de la logique métier Utilisation de la couche de communication inter-composant Avantages Pilotage des micro-tâches Composants graphiques facilement interchangeables Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Restructuration de l’application > Synthèse Classes Graphiques Parameters Map Legend Lecture Ecriture Lecture Classes Techniques Settings Dispatcher Cache Lecture / Ecriture Ecriture Classes Métier Logic Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Restructuration de l’application Remodelage de l’interface Ajout de fonctionnalités Conclusion Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Remodelage de l’interface Normalisation de l’interface Amélioration du rapport surfacique Amélioration de la personnalisabilité de l’interface Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Respect de recommandations ergonomiques Proposition > Remodelage de l’interface > Normalisation de l’interface Respect de recommandations ergonomiques Bastien & Scapin, CNRS Apple, Gnome, Microsoft, etc. Ajout de barres Menu Outils Statut Nouveau Look and Feel Adaptation de la bibliothèque JGoodies Ajout de dégradés Bastien & Scapin CNRS Apple, Microsoft, Gnome Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Remodelage de l’interface > Proposition > Remodelage de l’interface > Amélioration du rapport surfacique Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Remodelage de l’interface > Amélioration de la personnalisabilité Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Restructuration de l’application Remodelage de l’interface Ajout de fonctionnalités Conclusion Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Ajout de fonctionnalités Sauvegarde / restauration du contexte Génération d’un rapport imprimable Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Sauvegarde Restauration Proposition > Ajout de fonctionnalités > Sauvegarde / restauration du contexte Sauvegarde Copie des attributs de l’instance de la classe Settings Enregistrement d’un fichier en XML Restauration Lecture du fichier Affectation des attributs Envoi d’un événement à tous les composants <?xml version='1.0'?> <hypercarte> <zoom_factor>0.0</zoom_factor> <pan_x>30</pan_x> <pan_y>-82</pan_y> <enable_pan>true</enable_pan> <enable_histogram>true</enable_histogram> <display_parameters>true</display_parameters> <display_toolbar>true</display_toolbar> <expand_map>false</expand_map> <minimize_details>false</minimize_details> <indicator_numerator>GDPEU99E</indicator_numerator> <indicator_denominator>POPMT99E</indicator_denominator> <elementary_zoning>Nuts_2</elementary_zoning> <study_area>UE29</study_area> <reference_area>UE25</reference_area> <reference_zoning>Nuts_0</reference_zoning> <reference_neighbourhood>Contiguity</reference_neighbourhood> <reference_value>0.0</reference_value> <map0> <color>0</color> </map0> <map1> <color>1</color> <disc_size>0.5</disc_size> </map1> Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Proposition > Ajout de fonctionnalités > Génération d’un rapport Format XHTML 1.1 Contenu Contexte Données Tableau des données calculées Cartes Images PNG générées par chaque instance de cartes <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>ESPON HYPERATLAS - MULTISCALAR TERRITORIAL ANALYSIS</title> </head> <body> <h1>ESPON HYPERATLAS - MULTISCALAR TERRITORIAL ANALYSIS</h1> <h2>Parameters</h2> <h3>Space and Zoning</h3> <ul> <li><b>Study Area:</b> UE29</li> <li><b>Elementary Zoning:</b> Nuts_2</li> </ul> <h3>Indicator</h3> <li><b>Numerator:</b> Gross domestic product in euros in 1999 in thousands</li> <li><b>Denominator:</b> Average population in 1999 in thousands</li> <h3>Contexts of Reference</h3> <li><b>Global:</b> UE25</li> <li><b>Medium:</b> Nuts_0</li> <li><b>Local:</b> Contiguity</li> <h2>Generated maps</h2> <div> <img src="map0.png" alt="Map" style="border:solid 1px #000;" /> <img src="map1.png" alt="Map" style="border:solid 1px #000;" /> <img src="map2.png" alt="Map" style="border:solid 1px #000;" /> Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Démonstration Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Plan Introduction Cahier des charges Proposition Conclusion Bilan Perspectives Bilan personnel Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Conclusion > Bilan Performances améliorées Fiabilité renforcée Evolutivité augmentée Ergonomie améliorée Prototype Notre version Classes 54 139 Lignes de code 11 300 24 000 Affichage de carte 16/10 sec 3/10 sec Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Conclusion > Bilan Présentations Symposium RIATE (Nimègue, NL) – 09/04 Festival International de Géographie Saint-Dié-des-Vosges – 10/04 Fête de la Science Grenoble et Paris – 10/04 RIATE : Réseau Interdisciplinaire pour l'Aménagement du Territoire Européen Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Conclusion > Bilan Soumission de publication Utilisations Colloque International de Géomatique et d'Analyse Spatiale (Avignon) – 06/05 Utilisations Réalisation d’un cédérom pour RIATE Application à la Tunisie en cours Application à la ville de Yaoundé (Cameroun) en cours RIATE : Réseau Interdisciplinaire pour l'Aménagement du Territoire Européen Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Conclusion > Perspectives Module d’analyse territoriale Améliorations ergonomiques Ch. Chabert Extensions HyperAdmin Nouveau module d’analyse spatiale Implémentation d’un serveur de données et de calculs Implémentation de méthodes de lissage Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Conclusion > Bilan personnel Technique Connaissances approfondies en Java Utilisation de XML et UML Découverte de domaines Recherche en informatique Cartographie et géo-statistique Enseignement Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005
Questions ? Réalisation du logiciel Hypercarte – Olivier Cuenot – Mémoire d'ingénieur CNAM – 31 mars 2005