Bagaimana cara mengatur transparansi untuk banyak lapisan atau menambahkan preferensi transparansi global?


8

Bagaimana saya bisa mengatur transparansi menjadi 27% untuk semua 245 lapisan di QGIS? Satu-satunya cara saya tahu adalah dengan mengklik kanan pada nama layer, memilih Properties, lalu Transparency dan kemudian memindahkan slider transparansi ke kiri atau ke kanan.

Sebuah

Ini cukup sederhana. Tapi ini hanya baik untuk 10 lapisan mungkin. Bagaimana jika Anda memiliki 245 lapisan seperti saya? Apakah Anda terus mengulangi prosesnya? Sekarang tentunya, pasti ada cara untuk menerapkan ini ke semua 245 lapisan sekaligus !?

b

Atau, apakah ada pengaturan preferensi transparansi global yang dapat saya tambahkan sehingga ketika saya menambahkan layer baru, mereka secara otomatis mendapatkan transparansi 27%?

Dokumentasi online QGIS menyebutkan sesuatu tentang mengekspor pengaturan transparansi Anda ke file untuk digunakan nanti.

Seperti yang Anda lihat, ini cukup mudah untuk mengatur transparansi khusus, tetapi ini bisa menjadi pekerjaan yang cukup banyak. Oleh karena itu Anda dapat menggunakan tombol Ekspor ke file untuk menyimpan daftar transparansi Anda ke file. Tombol Impor dari file memuat pengaturan transparansi Anda dan menerapkannya ke lapisan raster saat ini.

Ini sepertinya fitur yang bermanfaat. Tapi saya rasa ini bukan yang saya cari.

Saya mencoba memilih beberapa lapisan dalam daftar isi dan kemudian klik kanan dan pilih Properti dan atur tingkat transparansi, terapkan perubahan dan klik OK. Ini menerapkan perubahan, tetapi hanya pada lapisan terakhir dalam seleksi, yang saya klik kanan. Tidak ada lapisan lain dalam seleksi yang terpengaruh. (Ini sebenarnya bug.)

Jawaban:


8

Sebuah skrip python kecil seperti ini akan melakukannya

for layer in iface.legendInterface().layers():
   layer.renderer().setOpacity(0.2)

Cukup salin dan tempel ke konsol python (yang ditampilkan melalui Plugins-> Python console) dan tekan enter dua kali. Script akan mengulang semua lapisan dan mengatur opacity menjadi 20%.


Apakah mungkin untuk melakukan hal yang sama ketika Anda juga memiliki layer vektor? Suka melakukannya hanya untuk lapisan yang dipilih, atau untuk lapisan dalam satu grup yang sama?
Victor

ini tampaknya tidak berfungsi lagi di 2.8.2, saya melihat rendererV2 dalam dokumen bukan renderer, tetapi tidak memiliki metode setOpacity :(
chrismarx

saya melihat tiket ini yang akan menyarankan kelompok lapisan bisa melakukan ini, tetapi saya tidak melihat bagaimana baik - trac.osgeo.org/qgis/ticket/557
chrismarx

Untuk GQIS3 ganti baris pertama w: for layer in [layer for layer in QgsProject.instance().mapLayers().values()]:per ini: gis.stackexchange.com/questions/273576/…
andrew

4

Pilihan lain, tidak memerlukan python, adalah dengan mengedit file proyek Anda.

Transparansi lapisan raster diatur dengan: rasterrenderer opacity = "1"

Anda dapat membuka file proyek .qgs dalam editor teks dan menemukan dan mengganti: rasterrenderer opacity = "1" Dengan: rasterrenderer opacity = "0.73"


3

Cara termudah untuk melakukan ini adalah dengan menggunakan gaya layer. Cukup set transparansi satu layer ke 27% dan salin / tempel gaya ke semua layer lainnya. Anda dapat menempelkan gaya ke beberapa lapisan sekaligus.

Lihat juga:

http://hub.qgis.org/issues/14931


tidak karena itu akan menyalin di atas segalanya, termasuk simbologi / warna / luas tampilan.
Theo F

Jawaban yang diremehkan! Bekerja dengan sempurna ketika kita hanya bekerja pada transparansi
Eliasse

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.