Camptocamp – Actualités

QGIS et GeoServer : création de styles

3 août 2012

Dans le monde Open Source, nous avons généralement tendance à créer des logiciels avec un objectif précis. Nous pensons qu’un bon outil spécifique vaut mieux qu’une usine à gaz. Un projet met donc souvent en oeuvre plusieurs applications issues de projets différents. Le rôle de l’intégrateur est de mettre en place l’infrastructure logicielle et l’intéraction de ses composants, toutes deux basées éventuellement sur des standards OGC. C’est le cas du projet geOrchestra, par exemple.

GeoServer est une des applications utilisées dans geOrchestra mais elle n’est pas la seule (et geOrchestra n’est pas le seul projet utilisant la puissance de GeoServer). Aussi, cet article intéressera toutes celles et tous ceux qui utilisent GeoServer et/ou QGIS.

En effet, depuis la version 1.8 de QGIS, il est maintenant possible d’exporter les styles de QGIS au format SLD 1.1. L’idée est donc d’utiliser cette fonctionnalité pour styliser les couches WMS de GeoServer.

La procédure, simple, est la suivante :

  1. Styliser la couche dans QGIS ;
  2. Importer le style dans GeoServer ;
  3. Tester le flux WMS.

Styliser la couche dans QGIS

Entrez la configuration du flux WFS de GeoServer (par exemple http://localhost:8080/geoserver/wfs pour une installation par défaut en local) et connectez-vous au service. La liste des couches apparaît. Dans notre exemple, nous avons choisi la couche « topp:states« .

Double cliquez sur le nom de la couche pour ouvrir la fenêtre « Propriété de la couche » puis sur l’onglet « Style« . Dans notre exemple, nous avons crée une thématique sur la catégorie « SUB_REGION ». Puis, sauvegardez le style au format SLD lorsque vous êtes satisfait.

QGIS crée un SLD en version 1.1 or GeoServer est censé gérer uniquement la version 1.0. En fait, depuis la version 2.1.0 de GeoServer, une première implémentation a été réalisée.

SLD 1.1 / SE 1.1 enhancements

Though not every new option is fully-supported, it is now possible to use most SE 1.1 documents in GeoServer. User feedback on which new options should be supported first is greatly appreciated. Also funded by Ordnance Survey is a community module to implement the WMS extensions for INSPIRE View Service compliance—namely the language parameter and several extended capabilities fields.

Source : http://blog.geoserver.org/2011/05/12/geoserver-2-1/

Importer le style dans GeoServer

L’étape suivante se passe dans l’interface de GeoServer. Il vous faut créer un nouveau style :

  • Allez dans le gestionnaire de style ;
  • Cliquez sur « Nouveau style » ;
  • Donnez lui un nom puis cliquez sur « Parcourir » pour récupérer le fichier sld précédemment crée, puis sur le lien Charger ;
  • Sauvegardez la page ( Attention : sans la valider).

Il faut maintenant ajouter ce style au style disponible pour la couche. Cliquez sur Couche dans le menu de gauche puis allez dans l’onglet Publication. L’interface liste tous les styles disponibles, sélectionnez celui que vous avez rajouté et cliquez sur la flèche qui indique la droite.

Sauvegardez la configuration.

Tester le flux WMS

Maintenant, il nous reste à profiter de notre travail. Ouvrez la fenêtre d’ajout des couches WMS et configurez un nouveau service comme vous l’avez fait pour le flux WFS. Ajouter la couche topp:states (si vous avez travaillé sur cette couche) et choisissez le style créé (dans notre cas topp_state_subregion). La couche s’affiche avec le même style que celui du flux WFS.

QGIS propose une API Python pour créer des extensions. GeoServer en propose lui aussi une en REST afin d’administrer GeoServer à distance. Ces deux API devraient pouvoir ajouter de bien belles fonctionnalités à QGIS !

Vous pouvez récupérer le fichier style au format SLD et le tester dans votre instance GeoServer. Les données utilisées sont celles installées par défaut lors de l’installation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *