OpenLayers: làm thế nào để tạo kiểu lớp WFS với tệp SLD?


14

Tôi đang thử nghiệm một dịch vụ lập bản đồ web đơn giản được xây dựng trên ngăn xếp PostGIS / GeoServer / OpenLayers trên Win 2008 Server.

Tôi phủ lớp vector từ PostGIS bằng cách sử dụng:

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

Lớp hiển thị chính xác, nhưng theo kiểu [?] Mặc định, đơn giản từ GeoServer.

Tôi đã xây dựng tệp kiểu SLD với uDig và có vẻ đúng vì dịch vụ WMS đang sử dụng mà không gặp vấn đề gì. Tôi có thể sử dụng nó để tạo kiểu cho lớp WFS không?

Câu trả lời:


8

Hãy xem ví dụ "Ví dụ mô tả lớp theo kiểu (SLD)" của OL . Họ sử dụng SLD để tạo kiểu GML, nhưng cũng hoạt động cho WFS (một lớp vectơ).

Tín dụng: Diễn đàn Nabble.com của OL


Điều đó thật tuyệt - Tôi không biết bạn có thể làm điều đó.
Ian Turton

Tôi chưa bao giờ sử dụng nó nhưng tôi nghĩ rằng tôi đã nhìn thấy nó ở đâu đó trước đây, vì vậy phải nghiên cứu diễn đàn Nabble.com đáng tin cậy cũ. Tuy nhiên, hãy tiếp tục điền vào bảng SO SO.
Vadim

2
Nhưng theo một cách nào đó, bạn đúng mà bạn vẫn chịu trách nhiệm tạo kiểu cho nó trên máy khách, phải không? Nó không có trên máy chủ. Nhưng bạn có thể tạo kiểu với SLD được tạo sẵn trên máy khách.
Vadim

3
Có vẻ như liên kết bị hỏng. Bạn có thể giải thích làm thế nào để làm điều này, hoặc cung cấp một liên kết mới xin vui lòng?
Ravi Mehta

5

Câu trả lời ngắn gọn là không - WFS gửi cho bạn dữ liệu và sau đó bạn chịu trách nhiệm tạo kiểu dữ liệu trong máy khách. OpenLayers sử dụng một bản đồ để tạo kiểu cho một lớp vectơ. Xem http://docs.openlayers.org/l Library / feature_stomme.html để biết chi tiết về cách tạo kiểu cho lớp vectơ.


1

Có, bạn có thể tải lớp wfs vào openlayers, sau đó phân tích tệp sld thành sơ đồ openlayers-stylemap và áp dụng nó cho lớp wfs.

Ngoài ra, bạn có thể đính kèm sld vào lớp geoserver-wfs làm sld mặc định. Sau đó tải lớp wfs vào openlayers và chỉ định định dạng hình ảnh (ví dụ: image / png hoặc image / jpeg) trong tham số yêu cầu. Sau khi tải, lưu trữ dưới dạng đối tượng Openlayers.Layer.WMS. Điều này sẽ kết xuất lớp dưới dạng một lớp raster với sld đính kèm đã được áp dụng bởi geoserver.


0

Định nghĩa OGC cho sld nói rằng đó là cho WMS

Hồ sơ mô tả lớp theo kiểu OpenGIS® (SLD) của Tiêu chuẩn mã hóa dịch vụ bản đồ web OpenGIS® (WMS)

vì thế !

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.