Tôi đang gặp vấn đề tương tự với bản đồ địa chất trong QGIS 2.10. Các bản đồ được cung cấp có mã màu CMYK (Trên thực tế là "YMCK") có thể được hiểu theo công thức sau:
color_cmyk(
CASE WHEN substr("COLOR_CODE",3,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",3,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",3,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",3,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",3,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",3,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",3,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",3,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",3,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",2,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",2,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",2,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",2,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",2,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",2,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",2,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",2,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",2,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",1,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",1,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",1,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",1,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",1,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",1,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",1,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",1,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",1,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",4,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",4,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",4,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",4,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",4,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",4,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",4,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",4,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",4,1 ) IS 8 THEN 80
ELSE 0
END)
nhưng điều này cho màu đen trong các hộp huyền thoại.
Vì vậy, tôi nghĩ rằng tôi có thể giải quyết vấn đề bằng cách sử dụng tập lệnh trên để tính toán một trường màu mới hoạt động khá tốt và trả về các giá trị RGB như 255.200.220. Sau đó tôi đã thử
Color_rgb("Color")
để tạo ra một dữ liệu được xác định màu mà không có bất kỳ may mắn (công thức không hợp lệ)! Vì vậy, tôi đã phân tích trường màu thành 3 trường - Đỏ, Xanh lục và Xanh lam và công thức sau -
color_rgb("Red","Green","Blue")
trong hộp công thức màu được xác định dữ liệu đã cho màu đúng trên bản đồ và chú giải không còn màu đen - mà sử dụng cài đặt đường nối màu để xác định màu chú giải.
Có vẻ như chúng ta cần một tùy chọn trên hộp thả xuống màu dốc để chỉ định màu được xác định dữ liệu và sau đó nó sẽ sử dụng bất cứ màu nào được xác định màu dữ liệu để tạo ra chú giải.
Tất cả các công việc khác đều ổn nhưng khi sử dụng bộ lọc chú giải trên trình soạn thảo bản đồ, người ta muốn có kết quả đúng và không phải vào mọi ô chú thích và nhập mã rgb vào tùy chọn màu.