Cách tạo kiểu điểm trong QGIS dựa trên nhiều thuộc tính


13

Trong khi cố gắng tìm một cách hữu ích có các trận động đất được hiển thị, tôi nhận thấy rằng nó không dễ quản lý.

Tôi muốn có thể nhận ra "Độ lớn", "Ngày" và "Độ sâu" từ phong cách của điểm. Cái gì đó như:

  • kích thước: dựa trên cường độ
  • Độ sâu: màu cơ bản (ví dụ: <15 đỏ, 15-30 vàng,> 30 xanh)
  • ngày: cường độ màu khi chuyển từ màu 100% sang màu trắng / ...

Có cách nào để làm như vậy mà không cần xác định hàng tá quy tắc?

Câu trả lời:


14

Tại sao không sử dụng nhãn dựa trên quy tắc? Bạn có thể giảm bớt nhiệm vụ rất nhiều, nếu bạn sử dụng các danh mục cho nhiều độ dốc dựa trên dữ liệu thuộc tính của bạn. Theo quan điểm của tôi, sử dụng các danh mục trong ghi nhãn dựa trên quy tắc là một trong những lợi thế của thị trưởng của QGIS.

Đối với dữ liệu của bạn (không biết cấu trúc) tôi sẽ đề xuất quy trình làm việc sau:

  • Tạo một quy tắc dựa trên độ dốc đơn giản cho giá trị ngày của bạn thông qua trình tạo kiểu điểm được phân loại hoặc tốt nghiệp (kiểu màu trắng hoặc màu xám).
  • Điều chỉnh kích thước của các điểm bằng cách nhấp vào "trường nâng cao" và "tỷ lệ kích thước trường". Ở đây chọn độ lớn của điểm của bạn. Lưu kiểu kết quả như kiểu SLD!
  • Tới nhãn dựa trên luật lệ, tải jn SLD của bạn và thêm cho mỗi dữ liệu điểm cho mỗi rightclick một thể loại (hoặc nhiều) với gradient màu thích của bạn cho bạn sâu và áp dụng nó vào mỗi ruleset.

Như thế này (bạn cũng có thể tạo một danh mục theo quy tắc trong một danh mục ;-)): nhập mô tả hình ảnh ở đây

  • Sau đó, đừng quên điều chỉnh thứ tự kết xuất và có thể kiểm soát kích thước của các điểm.

Tôi hiểu rằng giải pháp này phụ thuộc vào một số nỗ lực (mouseclicks) trên trang web của bạn, nhưng cuối cùng, một bản đồ đẹp luôn đáng để nỗ lực.



4

Đã cập nhật cho QGIS 2.8

Giả sử dữ liệu như thế này:

id | magnitude | date | depth
 1 |     4     | 1912 |  100
 2 |     3     | 1932 |   85

Sử dụng kiểu dáng được xác định dữ liệu, đặt kích thước được điều khiển bởi trường cường độ.

Đối với màu, được xác định theo ngày và độ sâu, bạn có thể sử dụng biểu thức sau

CASE 
  WHEN depth < 15 
       THEN color_hsl(1, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 15 AND depth < 30 
       THEN color_hsl(60, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 30 
       THEN color_hsl(240, 100, scale_linear(date, 1900, 2015, 100, 50)
END

Điểm "cũ" từ năm 1900 sẽ là hsl trắng (x, x, 100) trong khi các điểm mới có nhiều màu sắc hơn cho đến hsl (x, x, 50).


3

Tùy chọn khác là sử dụng trợ lý kích thước có sẵn cho từng kiểu lớp dữ liệu. Giả sử bạn đã phân loại dữ liệu điểm của mình dựa trên màu sắc bằng một thuộc tính nhất định. Chỉ cần nhấp chuột phải vào từng danh mục và chọn Thay đổi kích thước. Nó sẽ hiển thị một hộp thoại kích thước. Sau đó bấm vào bộ lọc biểu thức và sau đó chọn Size Assistant.

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

Hộp thoại trợ lý kích thước có tùy chọn để chọn cột theo kích thước. Bạn cũng có thể chọn phương pháp tỷ lệ bạn muốn chia tỷ lệ biểu tượng của mình và sau đó cung cấp phạm vi kích thước và phạm vi tương ứng của các giá trị dữ liệu của bạn. nhập mô tả hình ảnh ở đây Lưu ý bạn sẽ cần phải làm điều này cho từng loại dữ liệu của bạn.


Tôi không biết tại sao câu trả lời này không được bình chọn nhiều hơn - đây là điều tôi muốn và đến nay là nhanh nhất
Scott Staniewicz

0

@ spatial Dùts chạy một trang web hướng dẫn rất hay cho qgis. Anh ấy đã thay đổi địa chỉ kể từ khi anh ấy đăng bài cách đây nhiều năm và câu trả lời cho câu hỏi này hiện có thể được tìm thấy tại http://www.qgistutorials.com/en/docs/3/basic_vector_stomme.html . Ông chỉ ra giải pháp tương tự như @sherpas làm ở đây.

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.