Your SlideShare is downloading. ×
Comparaison des outils open source de webmapping Mapfish et ...
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Comparaison des outils open source de webmapping Mapfish et ...

2,831
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,831
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
193
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Comparaison des outils open source de webmapping Mapfish et Mapbuilder Fabien Ancelin, Projet de publication avancée de données Spatiales sur Internet – Session Automne 2008 Projet présenté aux Prof. Thierry Badard & Frédéric Hubert
  • 2. Plan de la présentation
    • Présentation du projet
    • Problématique et méthodologie
    • Résultats sur la partie client
    • Résultats sur la partie serveur
    • Avantages / Inconvénients
    • Limites de l’étude
  • 3. A. Contexte Web B. Open Layers C. Deux outils : Mapbuilder et Mapfish 1. Présentation du contexte
  • 4.
    • Nouveaux apports du Web 2.0 : AJAX, Outils RIA
    A. Contexte Web
  • 5.
    • Nouveaux apports du Web 2.0 : AJAX, Outils RIA
    • Multiplication des types de serveurs cartographiques et des formats
    • Nouvelles technologies utilisées dans les applications cartographiques !
    A. Contexte Web
  • 6. A. Contexte Web Web Map Service Web Feature Service Web Coverage Service Google Map Yahoo Map NASA World Wind GML KML SVG GeoRSS Multiplication des services et des formats : Services OGC Services Non-conformes OGC Formats
  • 7.
    • De nombreux avantages : simple d’utilisation, rapide, et interopérabilité
    B. Open Layers Affirmation d’un nouveau client : Open Layers L’interopérabilité est la capacité que possède un produit ou un système à fonctionner avec d’autres produits ou systèmes existants, et ce, sans restrictions d’accès ou de mise en œuvre (d’après Wikipédia)
  • 8.
    • De nombreux avantages : simple d’utilisation, rapide, et interopérabilité
    • Open Layers prend un rôle central dans de nombreuses applications Web
    B. Open Layers Affirmation d’un nouveau client : Open Layers
  • 9.
    • Client cartographique Open Source, inclu dans les projet de l’OS Géo
    • Client basé sur les technologies Ajax, s’appuyant énormément sur le XSL
    • Intègre Open Layers depuis 2008
    • Fin du projet annoncé en Juillet 2008
    B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation
  • 10. B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation
    • Page html : ce qui est affiché chez le client
    • Config : la liste des outils et widgets de l’application
    • Context : le modèle cartographiques
    • Librairie : bibliothèques d’objets et de fonctions javascript et XSL
  • 11.
    • Nouveau projet développé par CamptoCamp SA, présenté en 2007
    • Version 1.0 publiée fin Septembre 2008
    • Un client chargé de l’affichage cartographique
    • Une partie serveur réalisant les traitements
    B. Deux outils : Mapbuilder et Mapfish Mapfish : présentation
  • 12. B. Deux outils : Mapbuilder et Mapfish MapFish : présentation Client Serveur OpenLayers : affichage cartographique ExtJs : création de widgets Pylons : framework de développement web Librairies géographiques : Shapely, JTS
  • 13.
    • A. Problématique
    • B. Définition de critères d’évaluation
    • C. Méthodologie de test
    • D. Planning
    2. Problématique et méthodologie
  • 14.
    • Comparaison côté client uniquement.
    • Test de la partie serveur
    B. Problématique Deux approches :
  • 15.
    • Comparaison côté client uniquement :
    B. Problématique Deux approches : Est-ce que chaque client reprend l’ensemble des fonctionnalités d’Open Layers? Quels sont les apports de Mapbuilder et Mapfish? Quelles sont les forces / faiblesses de chaque client?
  • 16.
    • Etude de la partie serveur
    B. Problématique Deux approches : Quels sont les apports? Quelle est la facilité d’utilisation de la partie serveur? Quels sont les avantages / inconvénients par rapport à une approche où client et serveur(s) sont indépendants?
  • 17. B. Définition des critères d’évaluation Ergonomie et rapidité Affichage Fonctionnalités Fiabilité Navigation Gestion des couches Saisie de données Analyses thématiques Géocodage Calculs d’itinéraires Qualité du support Maturité du projet Documentation Mailing liste Exemples Corrections des bugs Retours d’expériences Utilisation de la souris Facilité d’utilisation de l’interface Rapidité d’exécution Utilisation des standards OGC Connexion à des services Non spécifiés par l’OGC WFS-T Google Yahoo WFS Application cartographique WCS WMS
  • 18.
    • Réalisation d’un navigateur simple, reposant simplement sur l’intégration d’Open Layers
    • Choix des critères à évaluer à partir de l’API Open Layers
    • Tableau comparatif :
    C. Méthodologie Partie client : Etape 1/4 Mapbuilder Mapfish client Fonctionnalité d’Open Layers A Présent / Absent Présent / Absent Fonctionnalité d’Open Layers B Présent / Absent Présent / Absent
  • 19.
    • Définition d’une application test comportant seulement des fonctionnalités «  basiques» de navigation :
    C. Méthodologie Partie client : Etape 2/4 Navigation Réagencement des couches Affichage des couches Barre d’outils Actions souris
  • 20.
    • Réalisation des applications de test.
    C. Méthodologie Partie client : Etape 3/4 Complexité du code Qualité de la documentation ???
  • 21.
    • Comparaison des performances des deux applications
    C. Méthodologie Partie client : Etape 4/4 Quelles fonctionnalités sont proposées? Qualité graphique de l’interface? Interactivité? Rapidité?
    • L’ensemble des tests est réalisé sur :
    • Windows OS
    • EasyPHP et serveur Apache
    • Firefox et Firebug
  • 22.
    • Evite de créer une base de données.
    • Pas de travail de préparation des données.
    • Pas de certitude que l’installation fonctionne correctement!
    C. Méthodologie Partie serveur 1/3 : Test à partir d’exemples du site de démonstrations
  • 23.
    • Technologies utilisées?
    • Degré de difficulté?
    • Qualité de la documentation et du support?
    C. Méthodologie Partie serveur 2/3 : Test d’installation
  • 24.
    • Choix d’un serveur pour Mapbuilder ?
    C. Méthodologie Partie serveur 3/3 : test en environnement client / serveur GeoServer et Degree supportent WFS et édition, également proposés dans Mapfish et Mapbuilder GeoServer facile d’installation Mapbuilder propose des exemples à coupler avec Geoserver
    • Objectifs :
    Tester les différences de performance sur un jeu de données test, avec des paramètres communs
  • 25.
    • Utilisation d’Open Layers
    • Création des applications de test
    • Comparaison des applications de test
    3. Résultats A. Côté client B. Côté serveur
    • Avantages de Mapfish serveur
    • Résultat du test d’installation
    • Echec de la comparaison Mapfish avec le couple Mapbuilder / Geoserver
  • 26. A. Côté client B. Côté serveur C. Comparaison Mapbuilder/Mapfish 3. Résultats
  • 27.
    • Comparaison sur les services
    A. Côté client A. Côté client Accessibilité Mapbuilder Mapfish client WMS WCS WFS WorldWind Google Maps Yahoo Maps
  • 28.
    • Comparaison sur les formats
    A. Côté client A. Côté client Format Mapbuilder Mapfish client GML GeoRSS kml SLD
  • 29.
    • Test des fonctionnalités
    A. Côté client A. Côté client Fonctionnalité de navigation utilisable par la carte Mapbuilder Mapfish client Barre de navigation Barre de zoom Pan souris par double clic Zoom via la molette
  • 30. A. Côté client Critères Logiciel Mapbuilder Mapfish Temps de réalisation 3h00 1h00 Simplicité d’utilisation Simple Simple Avantage (s) Réutilisabilité du code Utilisation simple et intuitive Inconvénient (s) Beaucoup de fichiers à configurer Difficulté(s) Gestion des mises en page. Gestion simultanée de plusieurs documents de contexte.
  • 31.
    • Les différences de performances :
    A. Côté client A. Côté client Fonctionnalités disponibles Mapbuilder Mapfish Sélection / Désélection d’une couche Modification de l’ordre d’une couche de 1 niveau Modification de l’ordre d’une couche de plusieurs niveaux Ajout d’icones dans la liste des couches
  • 32.
    • Différences graphiques :
    A. Côté client A. Côté client
  • 33.
    • Documentation : de bonne qualité pour les deux clients!
    A. Côté client A. Côté client Critère Mapbuilder Mapfish Tutoriaux Oui Oui Exemples Oui Oui Lien vers ressources externes Cours WFS-WMS Lien vers documentation Open Layers
  • 34.
    • Redéfinition du rôle du serveur : un client qui communique avec un serveur spécifique
    • Un langage spécifique, le GeoJSON
    B. Côté serveur Redéfinition du rôle du serveur
    • Résultats, de nouvelles fonctionnalités
  • 35. B. Côté serveur Liste des fonctionnalités : Mapbuilder / Geoserver Mapfish Exploration des données du serveur Fonctionnalités de recherche attributaire Outils de discrétisation cartographique Edition de données Calculs d’itinéraires Export de la carte au format PDF
  • 36. B. Côté serveur Un exemple : le module géostat
  • 37. B. Côté serveur Test Installation
    • Repose sur Pylons et l’utilisation d’un paster python
    • Mapfish est un œuf python : il doit être construit et installé dans un espace virtuel
    • Mapfish nécessite le téléchargement de librairies ou d’utilitaires supplémentaires
    • Les données doivent être situées dans une base PostGIS
  • 38. D. Installation C:CartoInternetMapfishMapFish-0.2serverpython>C:my_vpythonScriptspython setup.py egg_info C:CartoInternetMapfishMapFish-0.2serverpython>C:my_vpythonScriptspython setup.py bdist_egg C:CartoInternetMapfishMapFish-0.2serverpython>C:my_vpythonScriptseasy_in stall distMapFish-0.2-py2.4.egg
    • Construction de l’œuf
    • Installation de Mapfish dans le répertoire virtuel python
    C:my_vpythonScripts>paster create --overwrite --no-interactive --template=mapf ish TutoMapfish mapfishclientmfbasepath=C:CartoInternet/Mapfish/MapFish-0.2/cli ent/mfbase
    • Déploiement du projet
  • 39. B. Côté serveur Résultats : Test réalisé sous OS Windows, mais Mapfish a été crée pour Linux à la base Création d’une application Non réussie : pas de comparaison avec Mapbuilder et Geoserver Durée d’une première installation : + de 4 h00 Premier déploiement : + de 4 h00 Bugs reportés OUI Qualité de la documentation Incomplète, et adressé à des gens connaissant les bases de pylons, de python, et de l’invite de commande Support de la mailing list Très actif
  • 40. 5.Avantages / Inconvénients entre Mapfish et Mapbuilder Mapbuilder Mapfish Avantages
    • Les fonctionnalités ne dépendent pas d’un client particulier : wms, wcs, wfs
    • Des fonctionnalités de gestion des documents de contexte ou d’exploration du contenu de services web très puissantes
    • XML simple à comprendre
    • Documentation de qualité
    • Grande réutilisabilité du code
    • Client autonome
    • Interface interactive et conviviale.
    • Code s’appuyant sur celui d’Open Layers, simple à utiliser
    • Structure du client simple à comprendre
    • Un serveur qui apporte une multitude de fonctionnalités
    • Documentation de qualité pour la partie cliente
    • Mailing list très active
    • Mapfish est encore jeune
  • 41. 5.Avantages / Inconvénients entre Mapfish et Mapbuilder Mapbuilder Mapfish Inconvénients
    • Structure complexe, de l’application
    • Le développement d’une première application peut être long
    • Le développement de Mapuilder s’est achevé en Juin 2008.
    • Une procédure d’installation longue et complexe
    • Nécessaire de modifier des fichiers python à la main pour configurer un projet.
    • Fonctionnalités entièrement dédiées au vecteur
    • Mapfish serveur n’est compris que de Mapfish client.
    • Mapfish est encore jeune
  • 42. 6. Limites de l’étude
    • Pas de comparaison sur des gros volumes de données pour voire si XSL + XML plus rapide que JavaScript et GéoJSON
    • Mapfish et Mapbuilder n’ont pas été comparé dans un environnement client serveur à partir d’un jeu de données commun
    • Solutions non testées sur Linux
    • Mapfish serveur non testé sur serveur Apache
  • 43. 7. Difficultés rencontrées durant le travail
    • Gestion du temps : retard sur le planning annoncé
    • Bugs d’installation sur Mapfish
    • Trop de temps consacré à essayer de faire fonctionner Mapfish serveur
  • 44. Conclusion
    • Mapbuilder et Mapfish sont deux clients robustes.
    • Mapbuilder est efficace pour la navigation, l’exploration de services web, et la sauvegarde de cartes sur Internet.
    • Mapfish bénéficie d’une interface conviviale, dispose potentiellement de toutes les fonctionnalités d’Open Layers, et des apports de la partie serveur.
    • La partie serveur de Mapfish est réservée à des initiés du développement web et du langage python. Le projet est encore immature.