08 déc 2010

Introduction


Dans la prochaine version de GeoServer (2.1), vous pourrez réaliser un service WMS à partir de données provenant d'un service WMS externe (WMS Cascading). L'avantage est bien évidemment de disposer d'une interface unique et surtout de pouvoir mettre en cache cette agrégation de couche afin d'optimiser les temps de chargement. Nous apprendrons au cours de ce tutoriel à utiliser cette nouvelle fonctionnalité.

Installation et paramétrage de GeoServer


Si ce n'est pas déjà fait, commencez par télécharger et décompresser la prochaine version de GeoServer (2.1 beta). Une fois cela réalisé, vous devriez trouver à l'intérieur du dossier un fichier jar nommé start.jar. Comme son nom l'indique (les choses sont bien faites non ;p), c'est celui-ci qu'il faudra lancer. Cela se passe de la manière suivante (dans un terminal) :


java -jar /pathTo/start.jar

Cela aura pour effet de démarrer les différents services. Vous devriez voir alors s'afficher à la fin de votre terminal l'instruction suivante :


4897 [main] INFO org.mortbay.log - Opened /home/arnaud/App/gis/geoserver-2.0.0/logs/2010_11_29.request.log
4926 [main] INFO org.mortbay.log - Started SelectChannelConnector@0.0.0.0:8181

Vous l'avez peut-être remarqué, mais mon instance de GeoServer tourne sur le port 8181. En effet, le port 8080 (utilisé par défaut) étant déjà occupé il m'a fallu le modifier. Pour cela, il vous suffit simplement de changer la valeur du port dans le fichier jetty.xml (situé dans le dossier etc). Pour plus d'informations, je vous invite à consulter le billet paru sur le site de GeoServer.

Spécification du WMS distant


Nous allons maintenant réaliser notre cascade WMS qui consiste à ajouter localement une couche WMS provenant d'un WMS serveur distant. Pour cela, après avoir sélectionné dans le menu le lien "entrepôt" puis créez un "nouvel entrepôt", vous devriez avoir la possibilité d'ajouter une couche WMS (other data source) :

highlight_geoserver_add_entrepot_wms.png

Une nouvelle fenêtre apparaît alors. Celle-ci permet de spécifier les différents paramètres relatifs à cette connexion WMS. Les champs "Espace de travail", "Data Source Name" et "Descritpion" sont relatifs à GeoServer. Vous pouvez donc les renseigner comme bon vous semble. Le dernier champ, "Capabilities URL", permet de définir le service WMS que nous souhaitons ajouter. Nous avons choisi d'utiliser celui de la NOAA dont l'URL est : "http://onearth.jpl.nasa.gov/wms.cgi?request=GetCapabilities", c'est cette instruction qu'il faudra renseigner dans "Capabilities URL".

new_wms_connection.png

Une fois la configuration sauvegardée, vous verrez alors la liste des couches que ce service WMS propose.

choix_nvlle_couche.png

Activons immédiatement l'une d'entre elles, au hasard "modis". Tous les paramètres sont déjà renseignés, et nous choisissons de les laisser par défaut.

basic_modis.png

Voilà votre service WMS en cascade est maintenant actif. Il ne nous reste plus qu'à vérifier qu'il fonctionne. Pour cela rendons-nous dans l'onglet prévisualisation de la couche localisé dans le menu en bas à gauche de votre fenêtre. La couche précédemment créée devrait alors être disponible, pour la visualiser choisissons le format "OpenLayers". Au premier affichage, une jolie tuile rose vous précisant que l'extent est trop important s'affiche alors. Qu'à cela ne tienne, effectuons un zoom et vous devriez alors voir votre couche apparaître.

modis_map.png

Conclusion


Cette nouveauté, déjà disponible avec MapServer, manquait à GeoServer. Mais pour être pleinement opérationnelle deux fonctionnalités devraient, à mon sens, être apportées. Tout d'abord, permettre de spécifier des identifiants de connexion en cas de WMS sécurisé et deuxièmement, la possibilité de pouvoir réaliser des agrégations de couches WMS comme cela se fait pour les autres types de données. Néanmoins, cela reste une des nouveautés majeures de cette nouvelle version qui sera c'est certain d'une grande utilité pour les utilisateurs de GeoServer.

A propos de l'auteur: 
Arnaud Vandecasteele

Fervent défenseur de l'Open Source, Arnaud s'est spécialisé dans le développement d'application cartographiques web. OpenLayers, PostGIS ou encore Django sont autant d'outils qu'il manipule au quotidien.
S'il n'est pas en face de son ordinateur, vous le retrouverez un GPS à la main en train de cartographier pour OpenStreetMap, de faire voler son drone ou sur un tatami !