OpenLayers: Wie formatiere ich eine WFS-Ebene mit einer SLD-Datei?

14

Ich experimentiere mit einem einfachen Web-Mapping-Dienst, der auf dem PostGIS / GeoServer / OpenLayers-Stack unter Win 2008 Server basiert.

Ich überlagere die Vektorebene von PostGIS mit:

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"
        })
});

Die Ebene wird korrekt angezeigt, jedoch im einfachen Standardstil [?] Von GeoServer.

Ich habe eine SLD-Datei mit uDig erstellt und es scheint korrekt zu sein, da der WMS-Dienst sie ohne Probleme verwendet. Kann ich damit auch WFS-Layer stylen?

radek
quelle

Antworten:

8

Schauen Sie sich das Beispiel "Styled Layer Descriptor (SLD)" von OL an. . Sie verwenden SLD, um GML zu formatieren, sollten aber auch für WFS (eine Vektorebene) funktionieren.

Gutschrift: OLs Nabble.com-Forum

Vadim
quelle
Das ist cool - ich wusste nicht, dass du das kannst.
Ian Turton
Ich habe es noch nie benutzt, aber ich dachte, ich hätte es schon einmal gesehen, also musste ich im guten alten vertrauenswürdigen Nabble.com-Forum recherchieren. Füllen wir jedoch weiterhin die SO GIS-Tafel aus.
Vadim
2
Aber in gewisser Weise haben Sie Recht, dass Sie immer noch dafür verantwortlich sind, es auf dem Client zu gestalten, oder? Es ist nicht auf dem Server. Sie können jedoch mit einem vorgefertigten SLD auf dem Client stylen.
Vadim
3
Es scheint, dass die Verbindung unterbrochen ist. Könnten Sie erklären, wie das geht, oder bitte einen neuen Link bereitstellen?
Ravi Mehta
5

Die kurze Antwort lautet "Nein". WFS sendet Ihnen die Daten und Sie sind dann dafür verantwortlich, sie im Client zu formatieren. OpenLayers verwendet eine Stilkarte, um eine Vektorebene zu gestalten. Weitere Informationen zum Stylen einer Vektorebene finden Sie unter http://docs.openlayers.org/library/feature_styling.html .

Ian Turton
quelle
1

Ja, Sie können die wfs-Ebene in OpenLayer laden, dann die sld-Datei in eine OpenLayer-Stylemap analysieren und auf die wfs-Ebene anwenden.

Alternativ können Sie die sld als Standard-sld an die geoserver-wfs-Ebene anhängen. Laden Sie dann die wfs-Ebene in OpenLayer und geben Sie im request-Parameter ein Bildformat (zB image / png oder image / jpeg) an. Einmal geladen, speichern Sie es als Openlayers.Layer.WMS-Objekt. Dadurch wird der Layer als Raster-Layer gerendert, wobei die angehängte sld bereits von Geoserver angewendet wurde.

user9124
quelle
0

Die OGC-Definition für sld besagt, dass dies für WMS gilt

Das OpenGIS® Styled Layer Descriptor (SLD) -Profil des OpenGIS® WMS-Codierungsstandards (Web Map Service)

so !


quelle