Làm cách nào để đặt độ trong suốt cho đa giác trong một shapefile trong QGIS?


13

Làm cách nào để đặt độ trong suốt cho đa giác trong một shapefile trong QGIS?

Ví dụ:

một đa giác có trường "value" = 1 phải hoàn toàn trong suốt trong khi trường có trường "value" = 0,4 nên có giá trị trong suốt 40%. Màu sắc của đa giác nên phụ thuộc vào trường khác. Tốt hơn là tôi sẽ làm điều này bằng cách sử dụng một lớp nhưng sử dụng hai lớp với một số chế độ hòa trộn cũng tốt.

Câu trả lời:


17

Bạn có thể sử dụng dữ liệu được xác định thuộc tính cho việc này. Sử dụng tab kiểu trên thuộc tính lớp và nhấp vào nút biểu thức ở bên phải màu.

Trong đó bạn có thể sử dụng chức năng color_rgba( red, green, blue, alpha )để tạo màu. Tất cả các giá trị cần nằm trong khoảng từ 0 đến 255.

Thí dụ:

color_rgba( 255, 0, 0, ( 1 - "transparency" ) * 255 )

Điều này sẽ cung cấp cho bạn một kiểu hoàn toàn màu đỏ với alpha được xác định từ trường "trong suốt" theo thông số kỹ thuật của bạn trong câu hỏi.

Trong trình chỉnh sửa biểu thức, bạn sẽ tìm thấy một số chức năng liên quan đến màu khác có thể phù hợp hơn với nhu cầu của bạn, chỉ cần khám phá chúng và đọc tài liệu của chúng trực tiếp trong trình chỉnh sửa biểu thức.

Một ví dụ khác cho các giá trị danh nghĩa (định tính) mà bạn thường phân loại là làm việc trong không gian hsv:

Có chức năng color_hsva( hue, saturation, value, alpha )tạo màu. Các giá trị cần phải nằm giữa

  • hue: 0-360 (có nghĩa là xem bên dưới)
  • giá trị và độ bão hòa: 0-100
  • alpha: 0-255.

Thí dụ:

color_hsva( 
  CASE 
    WHEN "classification" = 'red' THEN 0
    WHEN "classification" = 'blue' THEN 240
  END CASE, -- hue
  80,  -- saturation
  80,  -- value
  ( 1 - "transparency" ) * 255  -- alpha
)

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

Đối với QGIS> = 2.12 cũng xem xét câu trả lời @ndawsons.


Xem câu trả lời liên quan bên dưới cho QGIS> = 2.12
ndawson

11

Để theo dõi câu trả lời của Matthias, trong QGIS> = 2.12, bạn có thể sử dụng màu tô được xác định bằng dữ liệu với biểu thức:

 set_color_part(@value, 'alpha', ( 1 - "transparency" ) * 255 )

Những gì biểu thức này làm là lấy màu đa giác ban đầu (@value) và thay thế kênh alpha (độ mờ) bằng giá trị được tính từ trường). Điều này có nghĩa là bạn có thể đặt biểu thức màu tô và sau đó vui vẻ tiếp tục và sử dụng trình kết xuất được phân loại hoặc tốt nghiệp để tự động đặt màu tô cơ sở và quy tắc độ mờ sẽ vẫn được tuân thủ. Không cần mã hóa cứng các giá trị rgb theo cách này!


1
Cách tiếp cận đẹp và linh hoạt!
Matthias Kuhn

Điều này dường như không hoạt động trong QGIS 3+. Sau khi tôi thêm biểu thức đó, tất cả các đa giác đều có một màu với cùng độ mờ.
cướp

3

Bạn cũng có thể đặt các giá trị này trong Thuộc tính lớp của lớp (nhấp chuột phải -> Thuộc tính).
Sử dụng Kiểu -> Phân loại sau đó chọn cột bạn muốn sử dụng, ví dụ 'giá trị', chọn màu trong đoạn màu và nhấp vào 'Clasify'.
Sau đó, bạn có thể xác định màu của từng giá trị và độ trong suốt của nó.

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

Nếu bạn thêm các giá trị mới vào lớp được sử dụng, hãy nhấp vào Clasify để thêm chúng vào kiểu hiện có của bạn.


1
Điều này sẽ không cho phép sử dụng các trường khác nhau để minh bạch và phân loại như được chỉ định trong câu hỏi.
Matthias Kuhn
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.