Trình kết xuất cụm điểm 3.0 của QGIS, có thể kiểm soát thứ tự kết xuất (thứ tự z) không?


19

Tôi đã chơi với trình kết xuất cụm điểm mới trong QGIS 3.0.2 và thật tuyệt - dễ dàng hơn (và nhanh hơn) so với việc bạn phải tự thực hiện việc phân cụm.

Để thể hiện điều tôi muốn nói, đây là một ví dụ về tai nạn đường bộ ở Edinburgh sử dụng dữ liệu STATS19 và bán kính 30m.

nhập mô tả hình ảnh ở đây

Tôi không thể tìm ra cách thiết lập thứ tự z sao cho các cụm lớn nhất được vẽ trước các cụm nhỏ hơn.

Tôi biết về biến @cluster_size - đó là những gì tôi đang sử dụng để chia tỷ lệ và tô màu các ký hiệu. Đối với điều này, tôi đang sử dụng các trợ lý kích thước và màu sắc. Tôi đã xóa các đánh dấu phông chữ để loại bỏ văn bản từ mỗi cụm.

Kích thước của các điểm được định nghĩa như sau: -

coalesce(scale_exp(@cluster_size, 0, 50, 1, 200, 0.57), 0)

Màu của các điểm đánh dấu được xác định như sau: -

coalesce(ramp_color('custom ramp',scale_linear( @cluster_size, 0, 50, 0, 1), '#000000')

Những gì tôi đã thử cho đến nay: -

  • Cấp độ biểu tượng - Không có may mắn; không thể chọn một tên biến.
  • Kết xuất lớp> Thứ tự kết xuất tính năng điều khiển và chọn @cluster_size làm sắp xếp. Dường như không có hiệu lực.
  • Kiểu tốt nghiệp sử dụng @cluster_size vì biểu thức không hoạt động.

Có ai biết nếu điều này là có thể, hoặc đây là một hạn chế với trình kết xuất cụ thể này?

Tôi biết có rất nhiều cách khác để làm điều này (tham gia bộ đệm / không gian, plugin), nhưng trình kết xuất mới sẽ nhanh hơn rất nhiều. Hay tôi đã bỏ qua một cái gì đó rõ ràng? :)


Nó có thể hoạt động bằng cách đưa thứ tự trong bảng thuộc tính vào tài khoản. Có lẽ bạn sắp xếp chúng theo thứ tự tăng dần để những cái lớn nhất được hiển thị là mới nhất? Nếu không có chức năng 'Sắp xếp các tính năng theo thuộc tính', bạn có thể thử plugin MMQGIS (nếu có sẵn cho qgis 3)
Revo

cảm ơn @Revo. Dường như có thể định kích thước & sắp xếp nó trên một thuộc tính (bao gồm cả trình kết xuất Cluster Point), nhưng chỉ hoạt động ở một tỷ lệ. Tôi đã cố gắng sử dụng cluster_size vì kích thước cụm thay đổi linh hoạt khi tôi phóng to / thu nhỏ bằng trình kết xuất điểm cụm. Tôi sẽ xem MMQGIS (nó có sẵn cho QGIS 3)
Steven Kay

Câu trả lời:


2

Có vẻ như việc triển khai cụm điểm không cho phép điều này nguyên bản.

Hãy xem xét trình kết xuất cụm điểm - về cơ bản nó sẽ phân tích và phân cụm dữ liệu điểm tại thời điểm kết xuất, tạo ra một lớp giả mới. Lớp này không thể truy cập được cho người dùng. Người ta không thể truy vấn một điểm cụm. Trường không thể tính toán một thuộc tính @cluster_size .

Trình kết xuất cụm điểm sẽ kế thừa thứ tự kết xuất từ ​​nguồn bằng cách sử dụng thứ tự kết xuất tính năng Điều khiển ( QssFeatureRequest :: OrderByClause) để ngỏ khả năng giải quyết một số cách sử dụng thông minh và các biểu thức, tuy nhiên các lược đồ đặt hàng nhất định không được đảm bảo nhất quán.

Ví dụ, hãy xem xét một lớp điểm với kết xuất được sắp xếp theo thứ tự tăng dần theo thuộc tính "Vĩ độ". Các điểm phía bắc nhiều hơn được hiển thị trên các điểm phía nam nhiều hơn. Trình kết xuất cụm điểm không có thuộc tính "Vĩ độ" cho các tính năng mới của nó, mặc dù vậy, nó sẽ kế thừa một số ngữ nghĩa của thứ tự đó từ nguồn. Có thể có những trường hợp khi một cụm phía nam nhiều hơn biểu hiện trên một cụm phía bắc hơn, bởi vì thứ tự của các điểm ban đầu.


Cảm ơn. Đó là một lời giải thích rất rõ ràng, cũng trả lời câu hỏi của tôi liệu có thể tính toán một thuộc tính từ các điểm được nhóm lại hay không, ví dụ như một tổng dân số liên quan đến từng điểm ban đầu. Rõ là chưa .... chưa? Nó sẽ là một tính năng rất hữu ích mặc dù. Bất kỳ ý tưởng nào về cách có thể đạt được điều này với một số cách giải quyết thông minh (mặc dù không yêu cầu mã hóa, vì tôi không (chưa, một lần nữa?) Tốt về nó), thậm chí theo cách tĩnh? Tôi đang vật lộn để tìm một công cụ để phân cụm các điểm tương tự như cách nó được thực hiện bởi trình kết xuất cụm
dorakiara

Nói chung, bạn có thể tiếp cận điều này bằng cách sao chép những gì trình kết xuất cụm thực hiện cùng với chức năng 'Điều khiển kết xuất tính năng điều khiển' bằng các thuộc tính. Một vượt qua đầu tiên có thể là để đệm một lớp điểm, đếm điểm trong đa giác được đệm như một thuộc tính trong lớp điểm. Kiểm soát thứ tự kết xuất theo thuộc tính này tăng dần. Một chút rườm rà và sẽ không nhất thiết phải làm việc ở quy mô khác nhau.
Tinh thểEntity

Tôi cũng khuyến khích bạn thực hiện một yêu cầu tính năng, sẽ hiển thị phương thức @cluster_size cho chức năng 'Điều khiển kết xuất tính năng điều khiển'.
Tinh thểEntity
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.