Đơn giản hóa đầu ra WFS của GeoServer


12

Tôi đang xử lý một số bộ dữ liệu lớn và muốn giảm thiểu lượng dữ liệu được gửi qua mạng. Tôi đang sử dụng chiến lược BBox của OpenLayers để chỉ truyền dữ liệu cần thiết nhưng tôi tự hỏi liệu tôi có thể đơn giản hóa đầu ra để tôi có thể hiển thị mức thu phóng thấp hơn mà không phải truyền dữ liệu với độ chính xác / chi tiết không cần thiết.

Tôi đang sử dụng GeoServer làm máy chủ WFS như một phần của gói OpenGeo.

Câu trả lời:


8

WFS / GeoServer không thực sự cung cấp bất kỳ cách nào để thực hiện khái quát hóa một cách nhanh chóng dựa trên quy mô, nhưng có một phần mở rộng đặc biệt thực hiện những gì bạn đang tìm kiếm bằng cách thực hiện một số tiền phát sinh.

http://docs.geoserver.org/ sóng / en / user / data / featurepregen.html


1
+1 - tiện ích mở rộng rất đẹp. Sẽ thật tuyệt nếu có một MapServer tương đương ..
geographika

3

Một số giải pháp có thể:

  • Bạn có thực sự cần dữ liệu trong một định dạng vector? Nếu các đa giác phức tạp lớn chỉ để tham khảo thì chúng sẽ ổn dưới dạng WMS / hình ảnh. Nếu bạn có thể đơn giản hóa chúng thì có lẽ bạn không cần hình học.
  • Bạn có thể truyền tham số tổng quát cho lớp bản đồ thông qua tham số tùy chỉnh và sử dụng thông số này để đơn giản hóa hình học. Chủ đề này là về MapServer, nhưng tôi giả sử có thể thực hiện điều tương tự với GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Cũng được tham chiếu trong chuỗi trên, bạn có thể lưu trữ các bộ dữ liệu được định sẵn cho các tỷ lệ khác nhau và ẩn / hiển thị chúng trong bản đồ của bạn khi cần
  • Đảm bảo rằng bạn đã bật nén gZip tại máy chủ web của mình vì điều này sẽ thu nhỏ các tệp GML / XML xuống ít nhất một nửa kích thước

Tôi chắc chắn cần chúng ở định dạng vector vì tôi muốn có thể nhấp vào chúng để có thêm thông tin cũng như chỉnh sửa đa giác (mặc dù rõ ràng tôi chỉ muốn có thể chỉnh sửa hình dạng thật, không phải là phiên bản đơn giản hóa, có thể là một chút khó khăn).
Mr_Chimp

1
@mr_chimp - bạn có thể sử dụng yêu cầu WMS GetFeatureInfo để chỉ trả về hình dạng và thuộc tính cho tính năng dưới một lần nhấp chuột.
geographika

3

Sử dụng chiến lược cụm OL , bạn có thể đơn giản hóa biểu diễn (cho người dùng) nhưng lượng dữ liệu được truyền sẽ không thấp hơn, vì việc phân cụm được thực hiện ở phía máy khách.

Xem thêm, trang tài liệu .

(Tôi không biết về các tùy chọn có sẵn ở phía máy chủ)


Có thể tôi nhầm, nhưng chiến lược cụm dường như là dành cho dữ liệu điểm. Tôi có dữ liệu đa giác phức tạp mà tôi muốn đơn giản hóa.
Mr_Chimp

Điều này sẽ không làm giảm lưu lượng mạng vì tất cả các điểm sẽ cần thiết để phân cụm phía máy khách.
geographika

@geographika> đó là những gì tôi muốn nói, nhưng như bạn có thể đoán tôi đã quên sự phủ định trong câu của mình (đã được sửa lại ngay bây giờ)! Đây vẫn là một cách tốt để tăng cường khả năng đọc cho người dùng cuối
simo

@Mr_Chimp> không tương đương với đa giác, thực sự
simo

0

Nếu mối quan tâm của bạn là WFS là 'nặng' (bản chất GML của nó dài dòng), lời khuyên của tôi là thay vì bạn sử dụng Văn bản được biết đến (WKT), nếu có thể. Tôi đoán rằng chiến lược BBox của OpenLayers là "tương thích" với WKT.

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.