1 / 44

Comparaison des outils open source de webmapping Mapfish et Mapbuilder

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. Plan de la présentation. Présentation du projet

carr
Download Presentation

Comparaison des outils open source de webmapping Mapfish et Mapbuilder

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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. 1. Présentation du contexte A. Contexte Web B. Open Layers C. Deux outils : Mapbuilder et Mapfish

  4. A. Contexte Web • Nouveaux apports du Web 2.0 : AJAX, Outils RIA

  5. A. Contexte Web • 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 !

  6. A. Contexte Web Multiplication des services et des formats : Services OGC Web Coverage Service Formats Web Feature Service Web Map Service GML KML SVG GeoRSS Services Non-conformes OGC NASA World Wind Yahoo Map Google Map

  7. B. Open Layers Affirmation d’un nouveau client : Open Layers • De nombreux avantages : simple d’utilisation, rapide, et interopérabilité 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. B. Open Layers Affirmation d’un nouveau client : Open Layers • De nombreux avantages : simple d’utilisation, rapide, et interopérabilité • Open Layers prend un rôle central dans de nombreuses applications Web

  9. B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation • 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

  10. B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation

  11. B. Deux outils : Mapbuilder et Mapfish Mapfish : présentation • 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

  12. B. Deux outils : Mapbuilder et Mapfish MapFish : présentation

  13. 2. Problématique et méthodologie • A. Problématique • B. Définition de critères d’évaluation • C. Méthodologie de test • D. Planning

  14. B. Problématique Deux approches : • Comparaison côté client uniquement. • Test de la partie serveur

  15. B. Problématique Deux approches : • Comparaison côté client uniquement : 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. B. Problématique Deux approches : • Etude de la partie serveur 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. WMS WCS Application cartographique B. Définition des critères d’évaluation Google Yahoo WFS WFS-T Utilisation des standards OGC Connexion à des services Non spécifiés par l’OGC Navigation Affichage Gestion des couches Utilisation de la souris Saisie de données Facilité d’utilisation de l’interface Ergonomie et rapidité Fonctionnalités Analyses thématiques Rapidité d’exécution Géocodage Fiabilité Calculs d’itinéraires Qualité du support Maturité du projet Retours d’expériences Mailing liste Corrections des bugs Documentation Exemples

  18. C. Méthodologie Partie client : Etape 1/4 • 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 :

  19. C. Méthodologie Partie client : Etape 2/4 • Définition d’une application test comportant seulement des fonctionnalités «  basiques» de navigation : Barre d’outils Navigation Actions souris Affichage des couches Réagencement des couches

  20. C. Méthodologie Partie client : Etape 3/4 • Réalisation des applications de test. Complexité du code ??? Qualité de la documentation

  21. C. Méthodologie • L’ensemble des tests est réalisé sur : • Windows OS • EasyPHP et serveur Apache • Firefox et Firebug Partie client : Etape 4/4 • Comparaison des performances des deux applications Quelles fonctionnalités sont proposées? Qualité graphique de l’interface? Interactivité? Rapidité?

  22. C. Méthodologie Partie serveur 1/3 : Test à partir d’exemples du site de démonstrations • 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!

  23. C. Méthodologie Partie serveur 2/3 : Test d’installation • Technologies utilisées? • Degré de difficulté? • Qualité de la documentation et du support?

  24. C. Méthodologie Partie serveur 3/3 : test en environnement client / serveur • Choix d’un serveur pour Mapbuilder ? 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. 3. Résultats A. Côté client • Utilisation d’Open Layers • Création des applications de test • Comparaison des applications de test 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. 3. Résultats A. Côté client B. Côté serveur C. Comparaison Mapbuilder/Mapfish

  27. A. Côté client A. Côté client • Comparaison sur les services

  28. A. Côté client A. Côté client • Comparaison sur les formats

  29. A. Côté client A. Côté client • Test des fonctionnalités

  30. A. Côté client

  31. A. Côté client A. Côté client • Les différences de performances :

  32. A. Côté client A. Côté client • Différences graphiques :

  33. A. Côté client A. Côté client • Documentation : de bonne qualité pour les deux clients!

  34. B. Côté serveur Redéfinition du rôle du serveur • Redéfinition du rôle du serveur : un client qui communique avec un serveur spécifique • Un langage spécifique, le GeoJSON • Résultats, de nouvelles fonctionnalités

  35. B. Côté serveur Liste des fonctionnalités :

  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 • Construction de l’œuf C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\python setup.py egg_info C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\python setup.py bdist_egg • Installation de Mapfish dans le répertoire virtuel python C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\easy_in stall dist\MapFish-0.2-py2.4.egg • Déploiement du projet C:\my_vpython\Scripts>paster create --overwrite --no-interactive --template=mapf ish TutoMapfish mapfishclientmfbasepath=C:\CartoInternet/Mapfish/MapFish-0.2/cli ent/mfbase

  39. B. Côté serveur Création d’une application Non réussie : pas de comparaison avec Mapbuilder et Geoserver Résultats : Test réalisé sous OS Windows, mais Mapfish a été crée pour Linux à la base

  40. 5.Avantages / Inconvénients entre Mapfish et Mapbuilder

  41. 5.Avantages / Inconvénients entre Mapfish et Mapbuilder

  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.

More Related