Outdated version of the documentation. Find the latest one here.

Serveur QGIS

Le Serveur QGIS est une implémentation open source du WMS 1.3 et WFS 1.0.0 qui propose de plus des fonctionnalités avancées de rendu cartographique. Il s’agit d’une application FastCGI/CGI (Common Gateway Interface) écrite en C++ qui tourne sur un serveur web (par exemple Apache ou Lighttpd). Il est financé par les projets Orchestra et Sany de l’Union Européenne et la ville d’Uster en Suisse.

Il utilise QGIS comme backend pour la logique des couches SIG et le rendu cartographique. La bibliothèque Qt est utilisée pour l’interface et la programmation multiplateforme en C++. À la différence des autres serveurs WMS, le Serveur QGIS utilise les règles de cartographie comme langage de configuration, à la fois pour la configuration du serveur et pour les règles cartographiques définie par l’utilisateur.

De plus, le projet de Serveur QGIS fournit l’extention ‘Publish to Web’, une extention de QGIS desktop qui exporte les couches courantes et la symbologie dans un projet web pour le Serveur QGIS (contenant les règles de visualisation cartographiques au format SLD).

Les Serveur QGIS utilise les mêmes bibliothèques de visualisation que QGIS desktop : les cartes publiées sur le web ont le même rendu que celles de QGIS desktop. L’extention ‘Publish to Web’ gère pour le moment la sémiologie basique et des règles cartographiques plus complexes paramétrées manuellement. Comme la configuration se base sur le standard SLD et ses extensions, il n’y a qu’un seul langage standardisé à apprendre, ce qui simplifie grandement la complexité de création de cartes pour le web.

Dans un prochain manuel de QGIS, nous fournirons un exemple de configuration pour mettre en place un Serveur QGIS. Pour le moment, nous vous recommandons de vous référer aux sites suivants pour obtenir plus d’informations :

Installation test sur Debian Squeeze

Nous fournissons ici que de courtes et simples explications sur l’installation sur Debian Squeeze. De nombreux autres systèmes d’exploitation proposent des paquets pour le Serveur QGIS. Si vous devez les compiler depuis le source, référez-vous aux URL ci-dessus.

En plus de qgis et qgis-mapserver, vous avez besoin d’un serveur web, dans notre exemple apache2. Vous pouvez installer tous ces paquets et leurs dépendances nécessaires avec aptitude ou apt-get install. Après l’installation vous devez tester si le serveur web et le serveur QGIS fonctionnent comme prévu. Assurez vous que le serveur Apache tourne avec /etc/init.d/apache2 start. Ouvrez un navigateur web et tapez l’URL http://localhost. Si Apache fonctionne, vous devriez voir le message ‘It works!’.

Testons maintenant l’installation du serveur QGIS. Le fichier qgis_mapserv.fcgi est disponible dans /usr/lib/cgi-bin/qgis_mapserv.fcgi et fournit un WMS standard qui affiche les frontières de l’Alaska. Ajoutez le WMS via l’URL http://localhost/cgi-bin/qgis_mapserv.fcgi comme expliqué dans Sélectionner des serveurs WMS.

Figure Server 1:

../../../_images/standard_wms_usa.png

Standard WMS with USA boundaries included in the qgis server (KDE) nix

Créer un WMS / WFS depuis un projet QGIS

Pour créer un nouveau serveur WMS/WFS, nous devons créer un fichier de projet QGIS avec quelques données. Nous utiliserons ici le shapefile ‘alaska’ de l’échantillon de données test de QGIS. Définissez les couleurs et les styles des couches dans QGIS, ainsi que le SCR si ce n’est pas déjà fait.

Figure Server 2:

../../../_images/ows_server_definition.png

Definitions for a qgis project WMS/WFS server (KDE)

Ouvrez ensuite l’onglet Serveur OWS depuis le menu Préférences ‣ Propriétés du projet et renseignez les champs concernant les ‘Capacités du serveur’. Concernant les Capacités WMS, précisez les ‘Restrictions de système de coordonnées’ et l’Emprise annoncée.Vous pouvez également cocher la case checkbox Ajouter une géométrie WKT à la réponse de l’entité pour que les couches soient interrogeables et imposer une ‘Largeur maximale’ et une ‘Hauteur maximale’ sur les requêtes. Pour les Capacités WFS, il suffit juste de sélectionner les couches que vous souhaiter publier en WFS. Sauvegardez le projet sous alaska.qgs. Pour diffuser le projet en WMS/WFS, il reste à créer un nouveau répertoire /usr/lib/cgi-bin/project avec les droits d’administration, y ajouter le fichier de projet alaska.qgs et copier le fichier qgis_mapserv.fcgi - c’est tout !

Nous pouvons maintenant tester notre projet WMS et WFS. Ajoutez le WMS et WFS dans QGIS tel que décrit dans Charger des couches WMS et Client WFS et WFS-T et chargez le WMS. L’URL est la suivante :

http://localhost/cgi-bin/project/qgis_mapserv.fcgi