Membuat legenda dengan fungsionalitas simbol yang didefinisikan data baru di QGIS?


8

Saya memiliki kumpulan data geologi besar yang perlu saya tampilkan menggunakan seperangkat simbol dan warna standar industri. Simbol dan warna adalah atribut data. Saya telah menggunakan kemampuan simbol data yang ditentukan dari dev membangun QGIS (revisi kode b805894) untuk menampilkan data sesuai dengan atributnya. Ini berfungsi sempurna dalam hal menampilkan data dengan benar di jendela peta.

Masalah muncul ketika saya mencoba membuat legenda di komposer. Warna yang ditentukan data yang ditampilkan pada peta tidak menarik legenda.

Berikut adalah beberapa cuplikan layar. Yang pertama menunjukkan jendela peta. Anda dapat melihat masalah yang muncul di kotak Layers di sebelah kiri. Simbol-simbol semua berwarna hitam.

Tangkapan layar kedua menunjukkan jendela komposer dengan legenda.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


2
cukup unggah layar Anda ke imgur atau serupa dan poskan tautannya. Edit posting Anda untuk menambahkan gambar. Selanjutnya: Versi QGIS mana yang Anda gunakan (karena komposer telah melalui banyak perubahan pada master QGIS saat ini)?
Curlew

Jawaban:


10

Legenda untuk simbologi yang ditentukan data belum diimplementasikan. Ada laporan bug / permintaan fitur terbuka: https://issues.qgis.org/issues/11491

Memikirkan hal itu, simbologi yang ditentukan data sangat kuat dan mungkin menghasilkan ratusan variasi simbol dalam warna, bentuk, ukuran, rotasi, dan sebagainya. Mungkin tidak mungkin untuk benar-benar memiliki legenda dalam kasus seperti itu.


Pembaruan 2017-08:

QGIS3 akan menyertakan legenda otomatis untuk ukuran yang ditentukan data:

masukkan deskripsi gambar di sini


2
Terima kasih atas jawabannya, dan untuk membuka permintaan fitur. Simbologi data yang didefinisikan adalah alat yang fantastis, namun dalam pikiran saya itu akan sangat terbatas jika tidak dapat digunakan dalam pembuatan peta profesional.
ManChild

RE: Pembaruan 2017-08: Bagaimana dengan warna yang ditentukan data? Seperti halnya dalam OP ...
Chris

@ Chris tidak diimplementasikan sejauh yang saya tahu
underdark

Kami sekarang memiliki QGIS 3.0; apakah legenda otomatis untuk ukuran yang ditentukan data sekarang tersedia?
Cezar B

5

Saya tidak yakin ini bisa digunakan untuk kasus rumit, tapi saya berhasil mendapatkan legenda palsu dengan menambahkan lapisan bentuk.

Saya kemudian membuat poin di layer baru dengan jenis data yang sama dari yang digunakan untuk mendefinisikan simbologi, dan menemukan di mana saya ingin legenda itu muncul. Lalu saya mendefinisikan simbologi yang sama untuk layer ini, dan menunjukkan nilai data yang sesuai sebagai label.


"Trik" ini bekerja sangat baik untuk legenda kelulusan (atau yang serupa)!
Andrew Tice

4

Saya harus membuat legenda untuk simbologi yang dikategorikan berdasarkan warna yang ditentukan data. QGIS 3 tidak menyelesaikannya untuk saya. Jadi saya membuat atribut yang berisi nilai katagori yang digabungkan ke kode hexa warna.

Saya membuat gaya acak yang dikategorikan untuk kolom ini, mengekspor gaya ini ke file sld dan kemudian memanipulasi dengan regexp ke dalam editor teks untuk menggantikan setiap aturan mengisi kode warna dengan kode yang disebutkan dalam nama kategori. Setelah itu saya membersihkan nilai cataegory dan nama kolom yang difilter dan saya akhirnya menerapkan gaya baru itu ke layer saya.

Maaf tautan di atas dalam bahasa Prancis.

http://si.cenlr.org/24-11-2017


3

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.


3

Saya telah berdiskusi dengan survei geologi di Australia Barat dan mereka dapat menyediakan file data dengan kode geologi, warna rgb, dan kode pola geologis. Kami hanya perlu plug-in untuk membaca file-file ini untuk menambahkan atribut ini ke poligon sehingga mereka dapat ditampilkan dalam legenda. Saya telah mencoba opsi warna (rgb) tetapi pencipta legenda tidak melihat warna-warna ini.


0

Saya memiliki masalah yang sama ... rgb (merah, hijau, biru) di mana merah, hijau, biru adalah nilai-nilai yang tercantum dalam tabel atribut yang dapat digunakan untuk mengatur warna peta, tetapi kemudian warna tersebut tidak direplikasi di panel lapisan dan kemudian tidak ditransfer ke legenda di komposer cetak ... yang harus saya lakukan adalah mengklik pada setiap lapisan di panel lapisan dan kemudian memilih dan mengatur ulang warna di panel lapisan dari peta ... solusi yang membosankan ... harus ada cara untuk kode ini di PyGIS ...

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.