OpenLayers: jak stylizować warstwę WFS za pomocą pliku SLD?

14

Eksperymentuję z prostą usługą mapowania sieci opartą na stosie PostGIS / GeoServer / OpenLayers na Win 2008 Server.

Nakładam warstwę wektorową z PostGIS przy użyciu:

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

Warstwa wyświetla się poprawnie, ale w prostym, domyślnym stylu [?] Z GeoServer.

Mam kompilację plików w stylu SLD z uDig i wydaje się być poprawna, ponieważ usługa WMS korzysta z niej bez żadnych problemów. Czy mogę go również użyć do stylizacji warstwy WFS?

radek
źródło

Odpowiedzi:

8

Zobacz przykład „Styled Layer Descriptor (SLD)” firmy OL . Używają SLD do stylizowania GML, ale powinny również działać dla WFS (warstwa wektorowa).

Credit: forum Nabble.com OL

Vadim
źródło
Fajnie - nie wiedziałem, że możesz to zrobić.
Ian Turton
Nigdy go nie używałem, ale myślałem, że gdzieś go widziałem, więc musiałem poszukać dobrego, sprawdzonego forum Nabble.com. Wypełniajmy jednak również tablicę SO GIS.
Vadim,
2
Ale w pewnym sensie masz rację, że nadal jesteś odpowiedzialny za stylizację go na kliencie, prawda? Nie ma go na serwerze. Ale możesz stylizować za pomocą gotowego SLD na kliencie.
Vadim,
3
Wygląda na to, że link jest zepsuty. Czy możesz wyjaśnić, jak to zrobić lub podać nowy link?
Ravi Mehta
5

Krótka odpowiedź brzmi „nie” - WFS wysyła dane, a następnie jesteś odpowiedzialny za stylizację ich w kliencie. OpenLayers używa mapy stylów do stylizowania warstwy wektorowej. Zobacz http://docs.openlayers.org/library/feature_styling.html, aby uzyskać szczegółowe informacje na temat stylu warstwy wektorowej.

Ian Turton
źródło
1

Tak, możesz załadować warstwę wfs do openlayers, a następnie parsować plik sld do mapy stylów openlayers i zastosować go do warstwy wfs.

Alternatywnie możesz dołączyć sld do warstwy geoserver-wfs jako domyślny sld. Następnie załaduj warstwę wfs do openlayers i określ format obrazu (np. Image / png lub image / jpeg) w parametrze żądania. Po załadowaniu zapisz go jako obiekt Openlayers.Layer.WMS. Spowoduje to renderowanie warstwy jako warstwy rastrowej z dołączonym sld już zastosowanym przez geoserver.

użytkownik9124
źródło
0

Definicja OGC dla sld mówi, że dotyczy WMS

Profil OpenGIS® Styled Descriptor warstw (SLD) standardu kodowania OpenGIS® Web Map Service (WMS)

więc !


źródło