Suite

Génération dynamique de SLD à l'aide de PHP dans GeoSever

Génération dynamique de SLD à l'aide de PHP dans GeoSever


Je suis assez nouveau sur GeoSever et j'ai une question avant de me lancer dans quelque chose de plus grand que moi : si je remplace le code XML dans la feuille de style SLD à l'intérieur de GeoSever par du PHP qui génère le SLD dynamiquement (c'est-à-dire à partir d'une requête de base de données), ça marche?

Comment GeoSever gère-t-il le SLD stocké en tant que style ?


Non, ça ne marchera pas. Geoserver attend un SLD, il échouera donc à analyser tout code PHP que vous y insérez.

Ce que vous pouvez faire, c'est générer le SLD en dehors de Geoserver et le transmettre lorsque vous demandez la carte à Geoserver. Dans OpenLayers, cela fonctionne comme ceci :

var sld = ' plus de xml ici '; wms = new OpenLayers.Layer.WMS.Post( "name", "http://localhost:8080/geoserver/wms", { 'layers' : 'myNs:layername', format : 'image/jpeg', sld_body : sld }, { navigateurs non pris en charge : [] } );

Plus d'informations : Styling dynamique et filtrage d'un WMS Geoserver utilisant OpenLayers.Layer.WMS.Post


Mise à jour : Vous pouvez trouver de nombreux exemples SLD dans le SLD Cookbook de Geoserver.


Voir la vidéo: GEOG 485L585L GeoServer configuration and data workflow demonstration