banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 09 October 2015 14:19

jerome_m
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Nov 2012
Messages: 51

QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Bonjour à tous,

Voici mon problème.

J'ai créé une fonction Postgis qui prends des paramètres en entrée, et me retourne un enregistrement avec une géométrie. Je l'execute ainsi :

Select
    *
From
    ma_fonction(parm1,param2...)

l'enregistrement retourné contient un identifiant et un polygone. Ca peut etre par exmple une fonction qui va générer un buffer de x mètres autour d'un point.

J'aimerai pouvoir utiliser cette fonction via un serveur WMS : mon client (OL ou leaflet) doit demander à mon serveur (Qgis server) de lui renvoyer la géométrie, en fonction du ou des paramètres envoyés.

Cela est il réalisable avec Qgis server et comment procéder ?
(apparemment cela est faisable avec Geoserver mais j'aimerais pouvoir m'en sortir avec Qgis).

Merci d'avance !
Bonne journée.

Hors ligne

 

#2 Fri 09 October 2015 14:48

Lionel B
Participant actif
Lieu: Macon
Date d'inscription: 5 Sep 2005
Messages: 83

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Bonjour,
qgis server permet d'appliquer des filtres sur des attributs (filtrage par valeur), mais il ne permet pas de faire ce dont vous avez besoin (je n'ai jamais pratiqué, je lis seulement la doc).
Mapserver supporte très bien le passage de paramètre. Les dernières versions permettent en plus un contrôle plus sérieux du contenu des variables. Associé à PostGis vous pourrez facilement construire des jeux de données à la volée pour les publier.

Hors ligne

 

#3 Fri 09 October 2015 15:03

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Bonjour,

Il vous faut passer par une vue dans Postgis sauf si ta fonction prendre des paramètres dynamiques envoyées à partir du client.

Autre possibilité, configurer QGIS serveur avec le plugins serveur WPS.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#4 Fri 09 October 2015 15:12

jerome_m
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Nov 2012
Messages: 51

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Merci pour ces retours.
Je me suis déjà crée une vue et cela me permet d'afficher le résultat dans QGis : je "triche" en passant le paramètre dans la table attributaire d'une couche jointe dans ma vue !
Mais comme c'est un paramètre dynamique, impossible de le passer par mon client web... Concernant le WPS, j'ai lu la news lors de la sortie de Qgis 2.10 Il faut que j'étudie cette solution (d'ailleurs, si quelqu'un à un exemple ou un tuto, je suis preneur...)

Sinon, travaillant principalement QGis, j'avais abandonné Mapserver au profit de Qgis Server pour sa simplicité d'utilisation et de paramètrage : je vais peut être réinstaller Mapserver pour tester cette fonctionnalité.

Hors ligne

 

#5 Fri 09 October 2015 20:41

Franck Theeten
Juste Inscrit !
Date d'inscription: 9 Sep 2014
Messages: 9

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Bonjour,

Pour info, dans GeoServer, depuis la version 2.2, vous pouvez déclarer directement une requête SQL paramétrable comme source d'une couche et exposer les fonctions de PostGIS (c'est une sorte de vue définie au niveau de l'applicatif web, moins performante qu'une vue matérialisée ceci dit).

Hors ligne

 

#6 Sun 11 October 2015 22:24

jerome_m
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Nov 2012
Messages: 51

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

oui Franck, c'est cette fonctionnalité que j'aimerai retrouver sous QGis. Je souhaiterais éviter d'installer plusieurs carto sur mon server. Mais si certains le font (Qgis server + mapser ou geoserver) je veux bien un retour d'expérience !

Hors ligne

 

#7 Wed 14 October 2015 16:39

Franck Theeten
Juste Inscrit !
Date d'inscription: 9 Sep 2014
Messages: 9

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Bonjour,

Oui en effet, j'ai été amené à employer cette fonctionnalité de GeoServer qui est facile à mettre en place. Elle permet d'appeler des fonctions Pl/GSQL (pas forcément GIS, par exemple celels de la librairie "fuzzystrmatch" pour introduire uen notion de proximité phoéntiqsue dans les recherche) dans des filtres de recherche sur des layers (ce qui n'est pas possible avec une vue). En revanche je n'ai pas testée sur des gros jeux de données où les fonctions pourraient avoir un impact sur  les performances, et elle induit un plus grand risque en terme de sécurité en ce qui concerne les attaques de type injection SQL (la configuration des rôles et droits d'accès dans GeoServer et PostgreSQL doit être bien réfléchie).

Dernière modification par Franck Theeten (Wed 14 October 2015 16:44)

Hors ligne

 

#8 Wed 14 October 2015 16:44

jerome_m
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Nov 2012
Messages: 51

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

J'ai réussi à faire ma "requete paramétrée" avec Mapserver et cela fonctionne bien. Pour le problème des sécurité (injection SQL), Mapserver demande une expression régulière de validation pour chaque paramètre, avant de se prémunir de ce type d'attaque. A voir si geoserver propose la même fonctionnalité de validation.

Hors ligne

 

#9 Wed 14 October 2015 19:30

Franck Theeten
Juste Inscrit !
Date d'inscription: 9 Sep 2014
Messages: 9

Re: QGIS-Server : Diffuser en WMS une couche Postgis selon des paramètres.

Oui c'est le même principe

Hors ligne

 

Pied de page des forums

Powered by FluxBB