J'expérimente avec un service de cartographie Web simple construit sur la pile PostGIS / GeoServer / OpenLayers sur Win 2008 Server.
Je superpose la couche vectorielle de PostGIS en utilisant:
var Index1v = new OpenLayers.Layer.Vector("Index1 v", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
url: "http://localhost:1979/geoserver/wfs",
featureType: "bern_poly_s100",
featureNS: "http://www.ispm.ch",
srsName: "EPSG:900913"
})
});
Le calque s'affiche correctement, mais dans un style par défaut [?] De GeoServer.
J'ai un fichier de style SLD avec uDig et il semble être correct car le service WMS l'utilise sans aucun problème. Puis-je également l'utiliser pour styliser la couche WFS?
openlayers-2
geoserver
wfs
sld
radek
la source
la source
La réponse courte est non - WFS vous envoie les données et vous êtes ensuite responsable de les styliser dans le client. OpenLayers utilise un style de carte pour styliser une couche vectorielle. Voir http://docs.openlayers.org/library/feature_styling.html pour plus de détails sur le style d'un calque vectoriel.
la source
Oui, vous pouvez charger le wfs-layer dans des openlayers, puis analyser le fichier sld dans un openlayers-stylemap et l'appliquer au wfs-layer.
Alternativement, vous pouvez attacher le sld au geoserver-wfs-layer comme sld par défaut. Ensuite, chargez la couche wfs dans des couches ouvertes et spécifiez un format d'image (par exemple image / png ou image / jpeg) dans le paramètre de demande. Une fois chargé, stockez-le en tant qu'objet Openlayers.Layer.WMS. Cela rendra la couche en tant que couche raster avec le sld attaché déjà appliqué par le géoserveur.
la source
La définition OGC pour sld dit que c'est pour WMS
Profil OpenGIS® Styled Layer Descriptor (SLD) de la norme de codage OpenGIS® Web Map Service (WMS)
donc !
la source