OpenLayers: bagaimana cara menata layer WFS dengan file SLD?

14

Saya bereksperimen dengan layanan pemetaan web sederhana yang dibangun di atas tumpukan PostGIS / GeoServer / OpenLayers di Win 2008 Server.

Saya overlay layer vektor dari PostGIS menggunakan:

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

Lapisan ditampilkan dengan benar, tetapi dengan gaya [,] standar, dari GeoServer.

Saya punya build file gaya SLD dengan uDig dan tampaknya benar karena layanan WMS menggunakannya tanpa masalah. Bisakah saya menggunakannya untuk style layer WFS juga?

Radek
sumber

Jawaban:

8

Lihatlah contoh "Styled Layer Descriptor (SLD) Contoh" OL . Mereka menggunakan SLD untuk style GML, tetapi harus bekerja untuk WFS (layer vektor) juga.

Credit: OL's Nabble.com forum

Vadim
sumber
Itu keren - saya tidak tahu Anda bisa melakukan itu.
Ian Turton
Saya tidak pernah menggunakannya tetapi saya pikir saya pernah melihatnya di suatu tempat sebelumnya, jadi harus meneliti forum Nabble.com yang baik dan terpercaya. Namun mari kita tetap mengisi papan SO GIS juga.
Vadim
2
Tetapi dengan cara Anda benar bahwa Anda masih bertanggung jawab untuk menatanya pada klien, bukan? Itu tidak ada di server. Tapi Anda bisa bergaya dengan SLD pra-dibuat pada klien.
Vadim
3
Tampaknya tautannya rusak. Bisakah Anda menjelaskan cara melakukan ini, atau berikan tautan baru?
Ravi Mehta
5

Jawaban singkatnya adalah tidak - WFS mengirimi Anda data dan kemudian Anda bertanggung jawab untuk mengaturnya di klien. OpenLayers menggunakan stylemap untuk memberi style pada layer vektor. Lihat http://docs.openlayers.org/library/feature_styling.html untuk perincian cara mendesain layer vektor.

Ian Turton
sumber
1

Ya, Anda bisa memuat layer wfs ke dalam openlayers, kemudian mengurai file sld ke openlayers-stylemap, dan menerapkannya ke layer wfs.

Atau, Anda dapat melampirkan sld ke geoserver-wfs-layer sebagai sld default. Kemudian muat layer wfs ke openlayers dan tentukan format-gambar (mis. Gambar / png atau gambar / jpeg) di parameter permintaan. Setelah dimuat, simpan sebagai objek Openlayers.Layer.WMS. Ini akan membuat layer sebagai layer raster dengan sld terlampir yang sudah diterapkan oleh geoserver.

pengguna9124
sumber
0

Definisi OGC untuk sld mengatakan itu untuk WMS

Profil Pengodean Lapisan Bergaya (SLD) OpenGIS® dari Standar Pengkodean Layanan Peta Web (WMS) OpenGIS®

jadi!


sumber