REPUBLIQUE DU CAMEROUN PAIX-TRAVAIL-PATRIE UNIVERSITE DE DOUALA REPUBLIC OF CAMEROON PEACE-WORK-FATHERLAND UNIVERSITY OF DOUALA Projet personnel de Master 2 en Informatique Appliquée aux Systèmes d Information Géographique (M2IASIG) Présenté par : YOUGBARE Wendbê Ferdinand THEME : ETUDE COMPARATIVE DES SERVEURS CARTOGRAPHIQUES GEOSERVER ET MAPSERVER ANNEE ACADEMIQUE 2010-2011 Date de publication : 25/03/2010 1
SOMMAIRE RESUME INTRODUCTION Chapitre 1 : Généralités sur les serveurs cartographiques I. Définition II. Architecture III. Rôle et fonctionnalités de base Chapitre 2 : Etude comparative de MapServer et GeoServer I. Présentation de MapServer 1. Caractéristiques 2. Fonctionnement 3. Forces 4. Faiblesses II. Présentation de GeoServer 1. Caractéristiques 2. Fonctionnement 3. Forces 4. Faiblesses Conclusion Abréviations BIBLIOGRAPHIE /WEBOGRAPHIE Annexes Tableau comparatif 2
RESUME Dans le cursus de formation des étudiants du Master 2 en Informatique Appliquée aux Systèmes d Information Géographique (IASIG), il est institué des projets personnels bâtis autour de thème d études dans le domaine des Systèmes d Information Géographique (SIG). Ces projets personnels visent d une part à renforcer les connaissances des étudiants et d autres parts à leurs inculper l esprit de curiosité, de réflexion et de recherche personnel. Ce présent rapport fait le point de nos recherches sur le thème «étude comparative des serveurs cartographique Geoserver et Mapserver». 3
INTRODUCTION Le développement sans cesse croissant des Systèmes Informations Géographique et le besoin de pouvoir disposer et de mettre à jour l information géographique a conduit au développement de multiples moteurs de webmapping permettant de traiter d une part les données rasters et d autres parts les données vecteurs et attributaires. On y trouve des solutions logicielles commerciales notamment ESRI ArcWeb Service, Mapinfo MapXtreme et des solutions open sources telles que Mapserver, GeoServer etc. Ce présent projet porte sur le thème «étude comparative des serveurs cartographique Geoserver et Mapserver» et vise à faire ressortir les potentialités offertent par les solutions de logiciel libre Geoserver et Mapserver à travers une approche comparative de ces deux solutions. Notre étude s articulera autour d une présentation des généralités des serveurs cartographiques, une comparaison des serveurs cartographiques open source Geoserver et Mapserver pour en dégager les forces et les faiblesses de chacune des solutions. 4
Chapitre 1 : Généralités sur les serveurs cartographiques Cette partie vise à faire une présentation générale des serveurs cartographiques à travers une description de l architecture globale d un serveur SIG, du rôle et des fonctionnalités de base qui sont intégrées dans un serveur SIG. I. Définition Un serveur cartographique est un serveur internet doté de fonctionnalités SIG. Il est composé d une couche logiciel SIG permettant de : - supporter des requêtes Spatiales, textuelles et numériques; - gérer des données à référence spatiale ; - produire dynamiquement des documents cartographiques ; - retourner une réponse suite à une requête soumise par un client. II. Architecture Source : support de cours serveur cartographique en ligne master 2 IASIG Figure 1 : architecture globale d un serveur cartographique La figure 1 présente l architecture globale d un serveur cartographique web. C est une architecture de type client/serveur composée d une partie utilisateur pouvant à partir d un navigateur web adressé une requête SIG au serveur qui se charge de formuler une réponse en direction du client. 5
Chapitre 2 : Etude comparative de MapServer et GeoServer Cette partie vise à faire une étude comparative des serveurs cartographiques open sources Mapserver et Geoserver en vu de faire ressortir les potentialités de tout un chacun ainsi que d éventuelles faiblesses. Il s agira concrètement de faire une présentation de chaque serveur en faisant ressortir leurs forces et faiblesses. I. Présentation de MapServer MapServer est un logiciel libre permettant de réaliser des applications web à référence spatiale et offre également la possibilité de publier des services web répondant aux normes Open Géospatial Consortium (OGC). Mapserver est une solution qui fonctionne coté serveur et a été développé dans le cadre du projet ForNet par l université de Minnesota en collaboration avec la NASA. 1. CARACTERISTIQUES Licence MapServer est un logiciel libre publié sous licence General Public License de type University of MinnesotaMIT. Documentation MapServer est assez documenterf. En outre de nombreux documents sont disponibles sur le site officiel de mapserver. On y trouve également une très bonne documentation de mapserver sur internet. Installation et configuration L installation de MapServer est assez simple. L archive des différentes versions de mapserver sont disponible sur son site officiel. Il suffit de télécharger la version souhaitée en fonction de sa plateforme (Linux, Windows, Mac OS). Une fois que l archive est téléchargée, il faut la désarchiver en l emplacement ou on souhaite installer le programme. Sur un système Windows, il suffit de décompresser le fichier.zip à la racine du disque dur contenant ms4w. Toutefois la configuration des mapfiles n est pas aisée car cela nécessite des connaissances particulière sur les paramètres de configuration des différents blocs des mapfiles. 6
Production cartographique Mapserver permet la production de contenu cartographique évoluée : - automatisation de certains éléments cartographiques (légende, échelle, carte de référence) ; - prise en compte des polices TrueType ; - échelle dépendante de la représentation des objets et de l application ; - cartes thématiques utilisant des classes logiques ou basées sur des expressions régulières. Projection cartographique Mapserver permet de gérer les projections à la demande avec des milliers de projection grâce à la librairie open source «Proj4». Formats Mapserver supporte une multitude de formats vectoriels et matriciels : - TIFF/GeoTIFF, EPPL7, et bien d autres grâce à la librairie open source GDAL ; - Oracle Spatial, PostGis, MySQL, ESRI Shapfiles, ESRI ArcSDE, et bien d autres grâce à la librairie open source OGR ; - Specification Web Open GIS Contiortium (OGC), WMS (client/serveur), WFS non-transactionnel (client/serveur), WMS, WCS. Environnements de développements Mapserver supporte les environnements de développements et de scripts les plus utilisés suivant : PHP, Java, C#, Perl, Ruby, Phyton. Systèmes d exploitation supportés Mapserver est une solution multiplateforme. En outre il supporte les plateformes suivantes : - Windows ; - Linux ; - Solaris ; - Mac OS X etc. 2. FONCTIONNEMENT MapServer peut être utilisé en CGI ou avec MapScript. En mode CGI (Common Gateway Interface), MapServer fonctionne comme un exécutable retournant le contenu généré. En outre CGI est le standard industriel qui permet d indiquer 7
comment passer l'information du serveur HTTP au programme et comment en récupérer le contenu généré. Avec MapScript, MapServer est commandé par phpmapscript ou javamapscript ou perlmapscript etc. 3. Forces Les points forts de MapServer sont : - Le statut de MapServer comme solution libre fait qu il bénéficie de l expérience de la communauté des developpeurs de logiciels libre - Les performances de MapServer et sa stabilité remarquable - L'adaptabilité et la flexibilité - Interopérabilité - Nombreuses fonctionnalités - Evolution rapide 4. Faiblesses MapServer presente un certain nombre de points faibles parmi lesquels on peut noter : - la forte nécessité en développements ; - la qualité du rendu graphique ; - une certaine lourdeur de l'installation. 8
II. Présentation de GeoServer GeoServer est un logiciel libre écrit en Java qui a été conçu dans le cadre du projet The Open Planning Project (TOPP). TOPP est un projet à but non lucratif basé à New York qui a été créé pour mettre en place un ensemble d outils qui permettraient d une part de renforcer la démocratie et d autre part de contribuer à rendre la gouvernance plus transparente. GeoServer permet à l ensemble des utilisateurs de partager et modifier les données spatiales. Il a été conçu pour l interopérabilité et permet de publier les données des principales sources de données spatiales qui utilisent les normes ouvertes. GeoServer s appuie sur GeoTools, un bibliothèque java pour les systèmes d Information Géographiques (SIG). 1. CARACTERISTIQUES Licence GeoServer est un logiciel libre publié sous licence GNU General Public License. Documentation GeoServer est assez documenté et sa documentation est disponible sur le site officiel de GeoServer à l adresse www.geoserver.org. La plupart de la documentation est en anglais mais on y trouve des versions en Français. Installation et configuration L installation de GeoServer est assez simple. Il suffit d aller sur le site officiel de GeoServer et de naviguer sur la page de téléchargement pour sélectionner la version souhaitée en tenant compte de sa plateforme (Linux, Windows, Mac OS). Une fois que l archive est téléchargée, il faut la désarchiver en l emplacement ou on souhaite installer le programme. Il reste à positionner les variables d environnement avant de pouvoir démarrer GeoServer. En outre GeoServer dispose d une interface d administration accessible à travers l URL http://<host>:<port>/geoserver/web et qui permet de configurer tous les aspects de GeoServer. 9
Production cartographique GeoServer est l un des meilleurs logiciels pour diffuser des cartes grâce à un assemblage de couches stylées à la norme Web Map Service (WMS). Il permet la connexion d informations existantes à des globes virtuels tels que NASA World Wind et Google Earth, ainsi que pour les cartes à base de services web comme Bing Maps, OpenLayers et Google Maps. Il permet l implementation services web de Open Geospatial Consortium tels que le Web Map Service (WMS), le Web Feature Service (WFS) etc. Projection cartographique GeoServer permet la gestion de multiples systèmes de coordonnées. Il permet la définition des projetions à travers son interface de configuration. Formats GeoServer permet de lire de nombreux formats de données grace à des protocoles standard qu il produit GML, KML, Shapefile, PDF, GIF, SVG, PNG, JPEG, GeoJSON, GeoRSS etc. En outre il supporte les formats de données vecteurs et matriciels systèmes suivants : - Oracle Spatial ; - PostGis ; -, MySQL; - Shapfiles ; - ArcSDE ; - GeoTIFF ; - DB2 ; - GTOPO30 ; - ECW ; - MrSID etc. Environnements de développements GeoServer integre un environnement de développement java et permet de tirer profit des potentialités de GeoTools pour la manipulation des données SIG. Systèmes d exploitation supportés GeoServer est une solution multiplateforme. Il s installe parfaitement sur les plateformes suivantes : - Linux ; 10
- Windows ; - Mac OS X. 2. FONCTIONNEMENT Le fonctionnement de GeoServer est comme un nœud dans une infrastructure de données géospatiales libre et ouverte. 3. Forces GeoServer présente de multiples points forts au nombre desquels on peut noter : - Structure homogène : GeoAPI, GeoTools, respect des normes OGC - la finesse de l'interface d administration et de la qualité des cartes produites ; - la licence GPL qui fait que GeoServer bénéficie de l expérience de la communauté des développeurs de logiciels libres. 4. Faiblesses Les points faibles de GeoServer sont : - la lenteur par rapport à MapServer (cf annexe 1). - la nécessite d'installation d'un JDK 1.4 ou supérieur - difficulté de trouver une bonne documentation. CONCLUSION En définitive on peut noter que GeoServer et MapServer offrent quasiment les mêmes performances et les mêmes fonctionnalités. Toutefois GeoServer offre un meilleur rendu mais nécessite l'installation du JDK avec une version supérieure à 1.4. De plus il est difficile de trouver une bonne documentation pour GeoServer. Quant à Mapserver, il a une grande maturité peut s'interfacer avec plusieurs langages de scripts comme C#, python, php, perl, java ce qui fait que MapServer a une longueur d avance sur GeoServer en terme d utilisation. 11
Abréviations ASP: Active Server Pages CGI: Common Gateway Interface ESRI: Environmental Systems Research Institute Inc. GML: Geographic Markup Language GPL: General Public License HTML: Hyper Text Markup Language HTTP: Hyper Text Transfer Protocole IASIG : Informatique Appliquée aux Systèmes d Information Géographique KML: Keyhole Markup Language NASA: National Aeronautics and Space Administration OGC: Open Geospatial Consortium PHP: Hypertext Preprocessor SIG : Système d Information Géographique TCP/IP : Transfert Control Protocol/Internet Protocol TOPP: The Open Planning Project WCS: Web Coverage Service WFS: Web Feature Service WMS: Web Map Service BIBLIOGRAPHIE /WEBOGRAPHIE Support de cours de serveur cartographique en ligne du master 2 IASIG www.refraction.net www.geotribu.net www.mapserver.org www.geoserver.org 12
Annexes Annexe 1 : Tableau comparatif de mapserver et geoserver MapServer GeoServer Version 6.0 2.1.x Licence LGPL GNU GPL Projection Supporte de multiple système de projection Supporte de multiple système de projection Installation Assez facile Assez facile Configuration Assez facile Facile Interface NON OUI d administration Format image Supporte de multiple format Supporte de multiple format supportés Package (Binaires) OUI OUI d installation Statut de Maturité Très mature Assez mature Langages supportés Base de données Multiples langages : PHP, Java, Python, ruby, perl etc. Supporte de m Langage Java Utilisation Très utilisé (environ 40 000 Peu utilisé serveurs dans le monde) Documentation Disponible (très documenté) Disponible (assez documenté) Système Linux, Windows, Mac OS Linux, Windows, Mac OS d exploitation Bibliothèque open GIS - GeoTools 13