Aller au contenu

Créer et diffuser des services WMS avec Qgis

📆 Date de publication initiale : 03 septembre 2010

Mots-clés : WMS | Open Source | QGIS

QGIS est l'un voir même, à mon sens, le meilleur logiciel SIG OpenSource existant actuellement. Ses possibilités ainsi que les plugins dont il dispose font qu'il offre toutes les fonctionnalités dont a besoin un géomaticien pour son travail quotidien. La dernière nouveauté que j'ai pu découvrir, grâce au blog linfiniti, est la possibilité de créer et de publier des services WMS directement depuis QGIS. Cette fonctionnalité a été développée par l'institut cartographique de Zurich dans le cadre du projet orchestra. Vous pourrez ainsi, directement depuis votre logiciel SIG, définir le style de vos couches avant de les exporter sur Internet.


Installation et paramétrages

La communication entre QGIS Mapserver et notre serveur Web s'appuie sur le protocole CGI/FCGI. Commençons alors par l'installer :

sudo apt-get install libfcgi-dev Attaquons-nous maintenant à l'installation de QGIS Mapserver. Deux solutions s'offrent alors à vous : la compilation ou l'utilisation du dépôt ubuntugis. Pour ma part, j'ai opté pour la solution numéro deux, bien plus facile et surtout beaucoup plus sûre.

sudo apt-get install qgis-mapserver Une fois le téléchargement et l'installation terminés, vous trouverez, dans le répertoire /usr/lib/cgi-bin/, le fichier qgis_mapserv.fcgi. C'est ce dernier qui va interpréter les requêtes WMS et les retourner ensuite sous forme d'images.

Contrairement aux instructions données sur le blog linfiniti, je n'ai pas eu besoin de spécifier à mon serveur où se trouve le fichier qgis_mapserv.fcgi. En effet, ayant effectuée une installation classique, celui-ci a été automatiquement placé dans mon répertoire cgi.

Création du projet QGIS

Alors là rien de plus simple ! Démarrez tout simplement QGIS et créez un projet quelconque. Afin de vous montrer toute l'étendue de cette nouvelle fonctionnalité, j'ai effectué une analyse thématique. Vous verrez qu'au moment de la création du service WMS, le style que nous avons spécifié sera préservé.

Création du service WMS

Allez, dernière ligne droite. Commençons par créer un nouveau dossier dans notre répertoire cgi-bin. La règle pour QGIS MapServer est : un projet égal un dossier. Nous appellerons le nôtre "world-analyse". Maintenant, il reste à créer trois liens symboliques. Le premier pointant vers script qgis_mapserv.fcgi, le second vers votre projet QGIS et enfin le dernier vers le fichier wms_metadata.xml. Vous pourrez personnaliser ce dernier fichier en y ajoutant les différentes informations concernant le producteur de la donnée (nom de l'organisme, nom du référent...).

/usr/lib/cgi-bin/world-analyse$ sudo ln -s /home/arnaud/GisData/world_analyse.qgs . /usr/lib/cgi-bin/world-analyse$ sudo ln -s ../qgis_mapserv.fcgi .
/usr/lib/cgi-bin/world-analyse$ sudo ln -s ../wms_metadata.xml . ### Test du service WMS

Et voilà tout est maintenant en place. Interrogeons maintenant notre serveur et ce qu'il est capable de faire :

http://localhost/cgi-bin/world-analyse/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities Une rapide vérification du fichier XML généré m'apprend que ma couche est bien présente :

TM_WORLD_BORDERS-0.3TM_WORLD_BORDERS-0.3 EPSG:102067 EPSG:2000 EPSG:93023 EPSG:93024 -180 180 -90 83.6236 Muni de ces informations, je peux maintenant effectuer ma requête WMS GetMap afin de visualiser l'image retournée sur mon navigateur :

http://localhost/cgi-bin/world-analyse/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap &BBOX=100,-180,-90,100&CRS=EPSG:4326&WIDTH=800&HEIGHT=400&LAYERS=TM_WORLD_BORDERS-0.3 &STYLES=,,&FORMAT=image/jpeg&DPI=96 Et, tada ! Voilà le résultat : Comme vous pouvez le constater, une fois la procédure connue, cela ne prend pas plus de 2 minutes à créer et diffuser un nouveau service WMS. De plus, le fait de pouvoir définir le style des couches directement depuis QGIS apporte une réelle souplesse d'utilisation. Néanmoins, il reste à connaitre maintenant les performances de ce serveur cartographique. Le benchmark organisé lors du prochain FOSS4G devrait très certainement nous apporter des informations intéressantes.


Auteur

Portait de GeoTribu GeoTribu

Toute l'actualité de la géomatique Open Source ! Mais aussi des tutoriels, des billets de blog, des tests et surtout une bonne humeur géographique !


Dernière mise à jour: 30 juin 2020
Contributions à cette page : Julien Moura

Commentaires