Saya memiliki masalah yang sama dengan peta geologis di QGIS 2.10. Peta yang disediakan memiliki kode warna CMYK (Sebenarnya "YMCK") yang dapat ditafsirkan dengan rumus berikut:
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)
tapi ini memberi warna hitam di kotak legenda.
Jadi saya pikir saya bisa menyelesaikan masalah dengan menggunakan skrip di atas untuk menghitung bidang warna baru yang bekerja dengan baik dan mengembalikan nilai RGB seperti 255.200.200. Lalu saya mencoba
Color_rgb("Color")
untuk menghasilkan warna yang ditentukan data tanpa keberuntungan (rumus tidak valid)! Jadi saya mengurai bidang warna menjadi 3 bidang - Merah, Hijau dan Biru dan rumus berikut -
color_rgb("Red","Green","Blue")
dalam kotak formula warna data yang ditentukan memberikan warna yang tepat pada peta dan legenda tidak lagi hitam - tetapi menggunakan pengaturan ramp warna untuk menentukan warna legenda.
Tampaknya kita perlu opsi pada kotak drop down color ramp untuk menentukan data warna yang ditentukan dan kemudian harus menggunakan apa pun warna yang didefinisikan data untuk menghasilkan legenda.
Semua solusi lain baik-baik saja tetapi ketika menggunakan filter legenda pada komposer peta, seseorang ingin mendapatkan hasil yang tepat dan tidak harus pergi ke setiap kotak legenda dan mengetikkan kode rgb dalam pilihan warna pilihan.