Apakah mungkin untuk mengakses Kanvas Peta QGIS sebagai variabel atau nilai ekspresi untuk digunakan dalam kalkulator lapangan atau mesin pelabelan?
(Yaitu agar Anda dapat membuat ekspresi yang memilih / menginterogasi fitur yang terlihat / hadir dalam tampilan tertentu kanvas dengan cara yang sama seperti komposer cetak 'menyaring legenda berdasarkan konten peta')
(QGIS 2.18.1 [osgeo4w], win7)
EDIT:
Potensial (fiksi) use case 1 - Ada 50 poligon dalam satu lapisan, saat ini ada 20 poligon yang terlihat dalam tampilan kanvas peta saat ini, saya ingin menata poligon biru jika ada <= 25 poligon yang terlihat atau gaya mereka hijau jika ada> = 25 poligon terlihat.
Potensi (fiksi) use case 2 - Ada 50 poligon dalam satu lapisan, saat ini ada 10 poligon yang terlihat, 5 yang memiliki nilai atribut 'Rumah' di bidang / kolom "Jenis Bangunan", dan 5 yang memiliki nilai 'Garasi' di bidang / kolom "Tipe Bangunan", terlihat pada tampilan kanvas peta saat ini. Kembali: nilai sama dengan jumlah poligon yang merupakan garasi ... answer = 5.
sumber
is_selected
fungsi untuk mengetahui apakah fitur dipilih. Layak untuk memiliki rincian lebih lanjut tentang apa yang ingin Anda lakukan.Jawaban:
Satu alat untuk melampaui variabel yang tersedia saat ini adalah ekspresi khusus python.
Sepengetahuan saya, ini adalah satu-satunya alat yang tersedia saat ini untuk mengakses kanvas peta dengan cara Anda menggambarkan dan menggunakan info itu dalam ekspresi.
Untuk menyelesaikan kasus penggunaan fiksi 1, Anda dapat melakukan sesuatu seperti ini:
Lalu, Anda bisa mengatur gaya berdasarkan aturan menggunakan filter seperti:
API kanvas lengkap dapat ditemukan di sini .
sumber