1
14 oct 2010

GeoServer - né en 2004 - est un serveur OpenSource qui permet de diffuser des données géographiques. Conçu pour être interopérable, celui-ci supporte de nombreux formats de données en entrée et propose ces données en sortie via des services normalisés.

Installation


Tomcat

Tout d'abord, commençons par installer une version correcte de Tomcat sur notre machine. En effet, GeoServer est 'packaged' comme une servlet utilisable dans un conteneur de servlet - et Tomcat en est un tout comme GlassFish.

Comme d'habitude sur Ubuntu, c'est pas bien compliqué :-)


sudo apt-get install tomcat6

Et c'est tout, vous avez maintenant un serveur d'applications Java !
Quelques variables globales :

CATALINA_BASE: /var/lib/tomcat6
CATALINA_HOME: /usr/share/tomcat6
CATALINA_TMPDIR: /tmp/tomcat6-tmp
JRE_HOME: /usr/lib/jvm/java-6-openjdk
CLASSPATH: /usr/share/tomcat6/bin/bootstrap.jar

Et là malheureusement, nous nous rendons compte que nous utilisons openjdk alors que celui-ci n'est pas recommandé par GeoServer notamment dû au fait de ses faibles performances pour délivrer le service WMS. Il nous reste donc à installer le sun-java-jdk.

Depuis Lucid Lynx, les paquets de sun-java-6 sont disponibles dans le dépôt partenaire qu'il faut au préalable activer :


sudo gedit /etc/apt/sources.list

Et ajouter le dépôt suivant en fin de fichier :

## Commercial
deb http://archive.canonical.com/ubuntu lucid partner

Installons dorénavant le sun-java6-jdk :


sudo apt-get update
sudo apt-get install sun-java6-jdk

Et ensuite modifions notre version par défaut de Java :


sudo update-alternatives --config java

Redémarrons Tomcat :


sudo /etc/init.d/tomcat6 restart

Et maintenant en saisissant cette URL dans votre navigateur, vous devriez avoir cette page :

A nous la gloire, l'argent, tout ça ! Non j'déconne, mais si vous voulez installer un serveur de données scientifiques - THREDDS Data Server - vous n'aurez rien à ajouter d'autre sur votre machine. Nous reviendrons sur THREDDS un jour ...
C'est quand même super intéressant !

Revenons à nos moutons, GeoServer en l'occurence.

Web Application ARchive de GeoServer - le fichier .war

Maintenant que notre serveur Tomcat est installé, il suffit de déposer une archive qui contient note application Web dans le répertoire Tomcat qui contient les applications.

Téléchargeons la dernière archive sur la section Download du site GeoServer. Nous prendrons ici la dernière version stable.

On peut aussi faire ça en ligne de commande avec un wget :


cd /home/server/tmp
sudo wget http://downloads.sourceforge.net/geoserver/geoserver-2.0.2-war.zip
sudo unzip geoserver-2.0.2-war.zip

Nous avons maintenant une web archive nommée geoserver.war.
Que nous allons de ce pas déplacer vers le répertoire Tomcat qui contient les applications :


sudo mv ./geoserver.war /var/lib/tomcat/webapps

Enfin, redémarrons Tomcat :


sudo /etc/init.d/tomcat6 restart

Un répertoire geoserver s'est créé tout seul en redémarrant le serveur.
Allons donc sur cette page - http://localhost:8080/geoserver - avec notre navigateur :

Re-gloire ! GeoServer est installé ! Wouhou ! C'était pas compliqué, je le conçois.
Mais faut maintenant comprendre comment ça marche ... et à quoi ça peut servir pour les retardataires ...

Diffusion d'un service WMS


La première partie de ce tutoriel a présenté l'installation de GeoServer sur une distribution Ubuntu 10.04 Lucid Lynx. Pour une installation sous Windows ou MacOS, suivre les liens.

Nous avons notre serveur cartographique qui fonctionne - en tout cas on arrive à y accéder via une URL - reste maintenant à en faire quelque chose. Typiquement diffuser des données que nous avons en notre possession et que nous voudrions mettre à disposition - pour le moment juste un service WMS - qui permettra d'interroger le serveur pour récupérer des cartes.

La source de données

GeoServer permet de prendre comme source un grand nombre de formats de données et permet de les diffuser selon les souhaits de l'utilisateur.
On peut citer les formats vectoriels suivants pour les données diffusables par GeoServer :

  • ShapeFile
  • données stockées PostGIS
  • du WFS externe

Et les formats raster suivants :

  • ArcGrid
  • GeoTIFF
  • GeoTopo30
  • ...

D'autres formats sont disponibles à la diffusion mais nécessite l'ajout d'extensions, c'est notamment le cas pour le support du GML ou pour toutes les images supportées par GDAL.

Pour ce tutoriel, nous utiliserons les données par défaut contenues dans GeoServer. Nous verrons dans d'autres tutoriaux comment ajouter des données tierces.

Connexion à l'interface d'administration

GeoServer, contrairement à MapServer son grand concurrent, possède une interface d'administration en ligne ce qui en fait un outil plus user-friendly. Connectons-nous à cette interface avec les identifiant et mot de passe admin et geoserver :

Il convient évidemment de modifier l'identifiant d'administration en éditant ce fichier :


sudo gedit/var/lib/tomcat6/webapps/geoserver/data/security/users.properties

La structure de ce fichier est très simple :


login=password,TYPE_DE_ROLE

Les rôles peuvent être d'administration - ROLE_ADMINISTRATOR - de lecture - ROLE_READ - ou d'écriture - ROLE_WRITE.

Les fichiers tests par défaut

Comme souvent dans la plupart des logiciels, nous avons à disposition une palette de fichiers test que nous nous empressons de visualiser en cliquant sur le menu Prévisualisation de la couche :

Affichage des fichiers via les services OGC

N'oublions pas que GeoServer diffuse des données via des services Web : WMS, WFS et WCS. Et ces services suivent des normes, ce qui permet d'utiliser toute une panoplie de clients pour afficher les données contenues dans notre GeoServer.
Testez donc les différents services proposés, vous serez agréablement surpris par la diversité de ces derniers.

Dans Quantum GIS

Dans ce le logiciel SIG, rien de bien compliqué :

  • Ajoutons une couche WMS
  • Créons une nouvelle connexion WMS
  • Sélectionnons la couche
  • Et admirons le résultat




Dans Google Earth

Google Earth permet aussi de visualiser des images provenant de services WMS - et oui !
Pour ce faire :

  • Ouvrir une nouvelle superposition d'images
  • Sélectionner le menu Actualisation
  • Cliquer sur Paramètres WMS
  • Ajouter GeoServer avec la même adresse que pour Quantum GIS
  • Ajouter une couche WMS
  • Visualiser le résultat




Dans OpenLayers

OpenLayers permet d'afficher dans une interface cartographique Web de nombreux types de fichiers géographiques dont les services diffusées par GeoServer. Ca tombe bien, on commence à avoir une suite cohérente de diffusion de données géographiques.
Là encore, ce n'est pas trop compliqué, je ne détaillerais pas comment faire, tant les tutoriaux sur OpenLayers sont nombreux sur ce site :-)
De plus, les exemples d'intégration OpenLayers dans la partie 'Prévisualisation des couches' de GeoServer sont très complets, je vous invite à étudier le code pour bien comprendre l'ajout d'une ajout WMS dans ce client cartographique avec notamment l'utilisation du GetFeatureInfo.


Conclusion


Ce petit tutoriel d'introduction sur GeoServer nous a permis d'installer ce serveur cartographique sur une distribution Ubuntu 10.04 de manière relativement simple.
Nous avons pu entrevoir les possibilités de ce serveur, notamment dans la connexion de clients différents aux services Web proposés.

Nous verrons par la suite comment ajouter nos propres données - vectorielles ou raster et / ou base de données spatiales - dans GeoServer - donc comprendre les espaces de travail, les entrepôts et les couches. Puis nous étudierons GeoWebCache - un outil permettant de stocker les résultats des différentes requêtes demandées au serveur et de les restituer sans les re-générer - ce qui améliore grandement les vitesses d'exécution.



Auteur : Fabien - fabien.goblet [ at ] gmail.com

A propos de l'auteur: 

Commentaires

Merci beaucoup pour ce tutoriel qui m'a vraiment aidé !