Các tùy chọn của tôi cho phân cụm phía Máy chủ bằng cách sử dụng các công cụ GIS nguồn mở là gì?


8

Tôi cần tạo một ứng dụng web sẽ hiển thị hơn 40K Điểm trên bản đồ. Những điểm này là tất cả trên toàn cầu. Sử dụng WFS Service và OpenLayers, có thể thực hiện phân cụm trên một nhóm điểm nhỏ, nhưng thực sự không hữu ích khi thực hiện phân cụm này ở phía máy khách cho trường hợp của tôi.

Làm cách nào tôi có thể thực hiện phân cụm phía máy chủ, trong dịch vụ WMS hoặc lát gạch WMS? Có một số tùy chọn như vậy cho bản đồ Google. Các công cụ tương ứng trong lĩnh vực OSGeo là gì?

Câu trả lời:


3

Các phiên bản mới nhất của MapServer (6.0+) hỗ trợ phân cụm phía máy chủ - http://mapserver.org/mapfile/cluster.html

Kể từ phiên bản 6.0, MapServer có khả năng kết hợp nhiều tính năng từ một lớp điểm thành các tính năng (tổng hợp) dựa trên các vị trí tương đối của chúng. Chỉ các lớp ĐIỂM được hỗ trợ. Tính năng này đã được thêm vào thông qua MS RFC 69: Hỗ trợ phân cụm các tính năng trong các lớp điểm.

Đề xuất cho chức năng này được trình bày chi tiết hơn tại: http://mapserver.org/development/rfc/ms-rfc-69.html

Một cấu hình mẫu dưới đây:

LAYER
  NAME "my-cluster"
  TYPE POINT
  ...
  CLUSTER
     MAXDISTANCE 20  # in pixels
     REGION "ellipse"  # can be rectangle or ellipse
     GROUP (expression)  # an expression to create separate groups for each value
     FILTER (expression) # a logical expression to specify the grouping condition
  END

Lớp này sau đó có thể được phục vụ như bất kỳ WMS nào khác (MapServer cũng hỗ trợ ốp lát).

Tôi chưa thử điều này và các tài liệu không rõ ràng nhưng nó cũng có thể hỗ trợ dịch vụ WFS phân cụm.

Một cách khác là thực hiện phân cụm ở cấp cơ sở dữ liệu thay vì ở cấp máy chủ web, sau đó bạn có thể tự do sử dụng bất kỳ Máy chủ WMS nào xem - Phân cụm không gian với PostGIS .


0

Có một vài sự lựa chon. Hoặc bạn có thể thực hiện một lớp WMS. Điều này về cơ bản sẽ biến các tính năng cá nhân của bạn thành các tập tin hình ảnh. Điều này cải thiện hiệu suất cho các bộ dữ liệu lớn nhưng phải trả giá cho chức năng phía máy khách (ví dụ: không thể chọn các tính năng riêng lẻ trên bản đồ).

Một sự thay thế đẹp hơn (phụ thuộc vào hiệu suất) có lẽ là để thực hiện phân cụm ở phía máy chủ cho lớp WFS của bạn trong OpenLayers .


Bạn có thể vui lòng làm rõ những gì bạn có nghĩa là bằng cách thực hiện một lớp WMS? Bạn đang nói về việc sử dụng Dịch vụ WMS?
Devdatta Tengshe
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.