Title: Mod
1Modélisation spatiale multiscalairede phénomènes
sociaux
- Réalisation du logiciel Hypercarte
Olivier Cuenot
Mémoire dingénieur CNAM 31 mars 2005
2Plan
- Introduction
- Cahier des charges
- Proposition
- Conclusion
3Introduction
- Contexte du stage
- Le projet Hypercarte
- Le logiciel Hypercarte
4Introduction gt Contexte du stage
- IMAGInstitut dInformatique et Mathématiques
Appliquées de Grenoble - Laboratoire LSR-IMAGLogiciels, Systèmes et
Réseaux
5Introduction gt Contexte du stage
- Equipe SIGMASystèmes dInformation inGénierie
et MultimédiA - Axe Composants
- Composants
- Patrons dingénierie
- Axe Multimédia-Web
- SIMW
- SIG
6Introduction gt Le projet Hypercarte
- Un objectif
- Création doutils danalyse spatialeet 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)
7Introduction gt Le logiciel Hypercarte
- Outil danalyse spatiale multiscalaire
- Analyse
- Indicateurs statistiques
- Combinaison
- Multiscalaire
- Espace
- Maillé ? ATM Analyse Territoriale Multiscalaire
- Non maillé ? ASM Analyse Spatiale Multiscalaire
8Introduction gt Le logiciel Hypercarte
- Outil danalyse territoriale multiscalaire
- Indicateurssocio-économiques
- Rapport entre lesindicateurs
- Niveau de maillage
- Espace détude
9Introduction gt Le logiciel Hypercarte
- Déviation dune unité territoriale par rapport
- À un espace
- À une unité territorialede maillage supérieure
- Aux unités voisines
10Introduction gt Le logiciel Hypercarte
- Structure des données
- Niveaux de maillage
- Unités territoriales
11Introduction gt 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
12Plan
- Introduction
- Cahier des charges
- Proposition
- Conclusion
13Cahier des charges
- Amélioration du logiciel existant
14Cahier des charges gt Le prototype
- Point fort
- Validation de choix techniques Java Swing
- Faiblesses
- Code complexe
- Performances et fiabilité moyennes
- Manques
- Sauvegarde/restauration de session
- Production dun rapport imprimable
- ? Fort potentiel damélioration
15Cahier des charges
- Des alternatives ?
- MapInfo (MapBasic)
- MapServer (MapScript)
- ? Réécriture complète
- ? Limitations ?
- Notre proposition
- ? Amélioration du prototype
16Cahier des charges gt Tâches à réaliser
- Amélioration des performances, de la fiabilité,
de lévolutivité - ? Restructuration de lapplication
- Amélioration de lergonomie
- ? Remodelage de linterface
- Sauvegarde/restauration du contexte utilisateur
- Production dun rapport imprimable
- ? Ajout de fonctionnalités
17Plan
- Introduction
- Cahier des charges
- Proposition
- Restructuration de lapplication
- Remodelage de linterface
- Ajout de fonctionnalités
- Conclusion
18Proposition gt Restructuration de lapplication
- Spécialisation de classes
- Architecture logicielle trois-tiers
- Communication inter-composant
- Regroupement des paramètres
- Gestion de caches
- Isolement de la logique applicative
19Proposition gt Restructuration de lapplication
gt Spécialisation de classes
Map
DiscMap
if (disc)
DeviationMap
if (deviation)
20Proposition gt Restructuration de lapplication gt
Spécialisation de classes
Map
21Proposition gt Restructuration de lapplication
gt Spécialisation de classes
- Avantages
- Lisibilité du code
- Mise en facteur du code commun
- Inconvénient
- Multiplication de classes
22Proposition gt Restructuration de lapplication
gt Architecture logicielle trois-tiers
metaclasse Classe Graphique
metaclasse Classe Technique
metaclasse Classe Métier
23Proposition gt Restructuration de lapplication
gt Communication inter-composant
- Principe
- Communication entre composants par notification
dévénements - Utilisation dun distributeur (dispatcher)
- Enregistrement des composants auprès du
distributeur
24Proposition gt Restructuration de lapplication
gt Communication inter-composant
- Avantages
- Anonymat des composants
- Ajout simplifié de composants
- Plusieurs origines pour un événement
- Inconvénient
- Incertitude sur lordre de transmission dun
événement aux composants enregistrés
25Proposition gt Restructuration de lapplication
gt Regroupement des paramètres
- Principe
- Pour les paramètres modifiables par lutilisateur
(facteur de zoom, etc.) - Paramètres de lapplication attributs de la
classe statique Settings - Avantage
- Implémentation de la sauvegarde du contexte plus
facile
26Proposition gt Restructuration de lapplication
gt 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 à lutilisation
27Proposition gt Restructuration de lapplication
gt 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
28Proposition gt Restructuration de lapplication
gt 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
29Proposition gt Restructuration de lapplication
gt Synthèse
ClassesGraphiques
Parameters
Map
Legend
Lecture
Lecture
Ecriture
ClassesTechniques
Dispatcher
Settings
Cache
Lecture / Ecriture
Ecriture
ClassesMétier
Logic
30Plan
- Introduction
- Cahier des charges
- Proposition
- Restructuration de lapplication
- Remodelage de linterface
- Ajout de fonctionnalités
- Conclusion
31Proposition gt Remodelage de linterface
- Normalisation de linterface
- Amélioration du rapport surfacique
- Amélioration de la personnalisabilité de
linterface
32Proposition gt Remodelage de linterface
gt Normalisation de linterface
- 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
33(No Transcript)
34Proposition gt Remodelage de linterface gt
Amélioration du rapport surfacique
35Proposition gt Remodelage de linterface
gtAmélioration de la personnalisabilité
36Plan
- Introduction
- Cahier des charges
- Proposition
- Restructuration de lapplication
- Remodelage de linterface
- Ajout de fonctionnalités
- Conclusion
37Proposition gt Ajout de fonctionnalités
- Sauvegarde / restauration du contexte
- Génération dun rapport imprimable
38Proposition gt Ajout de fonctionnalités
gt Sauvegarde / restauration du contexte
- Sauvegarde
- Copie des attributs de linstance de la classe
Settings - Enregistrement dun fichier en XML
- Restauration
- Lecture du fichier
- Affectation des attributs
- Envoi dun événement à tous les composants
lt?xml version'1.0'?gt lthypercartegt ltzoom_factorgt0
.0lt/zoom_factorgt ltpan_xgt30lt/pan_xgt ltpan_ygt-82lt/p
an_ygt ltenable_pangttruelt/enable_pangt ltenable_hist
ogramgttruelt/enable_histogramgt ltdisplay_parameters
gttruelt/display_parametersgt ltdisplay_toolbargttruelt
/display_toolbargt ltexpand_mapgtfalselt/expand_mapgt
ltminimize_detailsgtfalselt/minimize_detailsgt ltindi
cator_numeratorgtGDPEU99Elt/indicator_numeratorgt lti
ndicator_denominatorgtPOPMT99Elt/indicator_denominat
orgt ltelementary_zoninggtNuts_2lt/elementary_zoninggt
ltstudy_areagtUE29lt/study_areagt ltreference_areagtU
E25lt/reference_areagt ltreference_zoninggtNuts_0lt/re
ference_zoninggt ltreference_neighbourhoodgtContigui
tylt/reference_neighbourhoodgt ltreference_valuegt0.0
lt/reference_valuegt ltmap0gt ltcolorgt0lt/colorgt
lt/map0gt ltmap1gt ltcolorgt1lt/colorgt ltdisc_sizegt
0.5lt/disc_sizegt lt/map1gt
39Proposition gt Ajout de fonctionnalités
gt Génération dun rapport
- Format
- XHTML 1.1
- Contenu
- Contexte
- DonnéesTableau des données calculées
- CartesImages PNG générées par chaque instance de
cartes
lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"gt lth
tml xmlns"http//www.w3.org/1999/xhtml"
xmllang"en"gt ltheadgt ltmeta
http-equiv"content-type" content"text/html
charsetiso-8859-1" /gt lttitlegtESPON
HYPERATLAS - MULTISCALAR TERRITORIAL
ANALYSISlt/titlegt lt/headgt ltbodygt
lth1gtESPON HYPERATLAS - MULTISCALAR TERRITORIAL
ANALYSISlt/h1gt lth2gtParameterslt/h2gt
lth3gtSpace and Zoninglt/h3gt ltulgt
ltligtltbgtStudy Arealt/bgt UE29lt/ligt
ltligtltbgtElementary Zoninglt/bgt Nuts_2lt/ligt
lt/ulgt lth3gtIndicatorlt/h3gt ltulgt
ltligtltbgtNumeratorlt/bgt Gross domestic
product in euros in 1999 in thousandslt/ligt
ltligtltbgtDenominatorlt/bgt Average population
in 1999 in thousandslt/ligt lt/ulgt
lth3gtContexts of Referencelt/h3gt ltulgt
ltligtltbgtGloballt/bgt UE25lt/ligt
ltligtltbgtMediumlt/bgt Nuts_0lt/ligt
ltligtltbgtLocallt/bgt Contiguitylt/ligt lt/ulgt
lth2gtGenerated mapslt/h2gt ltdivgt
ltimg src"map0.png" alt"Map"
style"bordersolid 1px 000" /gt
ltimg src"map1.png" alt"Map" style"bordersolid
1px 000" /gt ltimg src"map2.png"
alt"Map" style"bordersolid 1px 000" /gt
40Démonstration
41Plan
- Introduction
- Cahier des charges
- Proposition
- Conclusion
- Bilan
- Perspectives
- Bilan personnel
42Conclusion gt Bilan
Prototype Notre version
Classes 54 139
Lignes de code 11 300 24 000
Affichage de carte 16/10 sec 3/10 sec
- Performances améliorées
- Fiabilité renforcée
- Evolutivité augmentée
- Ergonomie améliorée
43Conclusion gt Bilan
- Présentations
- Symposium RIATE(Nimègue, NL) 09/04
- Festival International de GéographieSaint-Dié-des
-Vosges 10/04 - Fête de la ScienceGrenoble et Paris 10/04
44Conclusion gt Bilan
- Soumission de publication
- Colloque International de Géomatique et d'Analyse
Spatiale (Avignon) 06/05 - Utilisations
- Réalisation dun cédérom pour RIATE
- Application à la Tunisie en cours
- Application à la ville de Yaoundé (Cameroun) en
cours
45Conclusion gt Perspectives
- Module danalyse territoriale
- Améliorations ergonomiques ? Ch. Chabert
- Extensions ? HyperAdmin
- Nouveau module danalyse spatiale
- Implémentation dun serveur de données et de
calculs - Implémentation de méthodes de lissage
46Conclusion gt 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
47Questions
?