Lagi

Menempatkan hasil pemilihan plot dalam bingkai QGIS?

Menempatkan hasil pemilihan plot dalam bingkai QGIS?


Saya telah membuat plugin untuk QGIS di pyQt. Kemudian saya bisa membuat kueri dari database PostGIS dan saya mendapatkan hasil plot atau banyak atau plot dari kueri itu dalam satu lapisan. Lapisan ini tumpang tindih di bagian atas lapisan yang menunjukkan semua plot. Tetapi terkadang saya hanya mendapatkan satu dari dua plot, dan mereka "kalah" di antara lebih dari 5000 plot, maka saya ingin menempatkan plot atau sekelompok plot dalam satu bingkai.

Tahu bagaimana saya bisa melakukan itu?


Jika Anda ingin meletakkan bingkai di sekitar plot, Anda bisa menggunakan tingkat lapisan yang dihasilkan dan menyorotnya dengan QgsRubberband.

Sebagai gantinya, Anda juga dapat menjelajahi kemungkinan untuk menyesuaikan gaya lapisan yang dihasilkan agar lebih menonjol daripada gaya lapisan dasar. Misalnya. Anda bisa menggunakan batas dengan lebar dalam piksel dan warna yang menonjol sehingga akan menonjol terutama pada skala kecil. Pendekatan ini juga dapat dikombinasikan dengan gaya berbasis aturan yang dapat meningkatkan visibilitas plot yang dipilih pada skala kecil dan mengurangi (misalnya dengan mengurangi saturasi) visibilitas peta dasar.


Nah, solusi terbaik bagi saya adalah memilih semua plot dari layer baru yang dihasilkan. Kemudian, perbesar hingga batas, dan terakhir, batalkan pilihan plot.

Ini adalah cuplikan kodenya (dengan self.vlayer sebagai lapisan yang dihasilkan dari kueri saya):

self.vlayer.selectAll() sejauh = self.vlayer.extent() self.iface.mapCanvas().setExtent(luas) self.vlayer.removeSelection()

Tonton videonya: Չքաղաքականացնել. Անահիտ Ավանեսյանի տանը