#1 Fri 02 April 2010 09:45
- adegroof
- Participant occasionnel
- Date d'inscription: 15 Oct 2008
- Messages: 13
Mapserver wms avec sld
Bonjour,
Est-il possible de définir dans le mapfile d'un wms, une sld qui s'appliquerait lors du getmap sans que l'on précise ce sld dans la requête (&SLD=foo)?
J'ai testé l'ajout des paramètres suivants dans le METADATA du LAYER mais rien n'y fait:
"wms_style" "default"
"wms_style_default_sld" "foo"
"wms_sld_url" "foo"
Ces paramètres ne sont même pas repris lors du GetCapabilities.
D'avance grand merci,
Arnaud
Hors ligne
#2 Fri 02 April 2010 10:18
Re: Mapserver wms avec sld
Bonjour,
Le Layer est il une couche wms client ? ou une simple couche auxquels tu veux appliquer un style par défaut ?
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
#3 Fri 02 April 2010 10:36
- adegroof
- Participant occasionnel
- Date d'inscription: 15 Oct 2008
- Messages: 13
Re: Mapserver wms avec sld
En fait j'essaie de concevoir un wms pouvant contenir différents layers qui disposeraient chacun d'une sld spécifique.
Hors ligne
#4 Fri 02 April 2010 11:24
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Mapserver wms avec sld
Bonjour,
Ce que tu pourrais faire, c'est faire jouer à MapServer le rôle de client et serveur WMS en même temps. Je m'explique : tu définis ta couche de base, avec tout ce qu'il faut pour la publier en WMS. Tu définis ensuite autant de couches que nécessaire pointant sur cette couche là en utilisant le SLD approprié. Ces couches seront donc clientes WMS de la première. Tu peux aussi mettre la première dans un .map séparé de manière à ne pas la faire apparaître dans le getCapabilities.
ça devrait pouvoir marcher...
Guillaume
Hors ligne
#5 Fri 02 April 2010 12:07
- adegroof
- Participant occasionnel
- Date d'inscription: 15 Oct 2008
- Messages: 13
Re: Mapserver wms avec sld
Là je suis un peu perdu par ta réponse Guillaume.
Mon objectif est simplement de savoir s'il est possible d'afficher un layer d'un WMS avec une sld sans que celle-ci ne soit référencée dans la requête GetMap. Pour l'instant, j'ai testé les paramètres "wms_style", "wms_style_default_sld" et "wms_sld_url" dans la section metadata du layer au niveau du mapfile sans succès.
Hors ligne
#6 Fri 02 April 2010 14:13
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Mapserver wms avec sld
Justement, c'est parce que ce n'est pas possible directement que je te propose cette approche, qui revient à définir dans le fichier map des couches WMS ainsi :
LAYER
NAME "prov_bound"
TYPE RASTER
STATUS ON
CONNECTION "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?"
CONNECTIONTYPE WMS
METADATA
"wms_srs" "EPSG:42304"
"wms_name" "prov_bound"
"wms_server_version" "1.1.1"
"wms_format" "image/gif"
END
END
Dans la ligne CONNECTION, tu peux surcharger l'url avec un paramètre SLD, et celui-ci sera dès lors utilisé par MapServer.
En gros à l'arrivée, ça ressemble à ça:
Client web externe ---> MapServer (fichier map pointant vers des ressources WMS + SLD) --> Mapserver (fichier map pointant vers les données physiques).
c'est plus clair ainsi ?
Hors ligne
#7 Fri 02 April 2010 15:24
- adegroof
- Participant occasionnel
- Date d'inscription: 15 Oct 2008
- Messages: 13
Re: Mapserver wms avec sld
Ok j'ai compris et j'ai testé. Cela fonctionne parfaitement.
Tout grand merci pour cette subtile astuce.
Arnaud
Hors ligne