Saya mengimplementasikan alat yang memungkinkan pengguna untuk membuat profil fitur (dalam kasus perkotaan saya). Apakah mungkin untuk mengambil screenshot fitur ini secara otomatis (ditampilkan dalam jendela QGIS) dan untuk menampilkannya dalam profil PDF?
Gambar seharusnya hanya menunjukkan sejauh mana fitur dan mungkin lapisan WMS yang terletak di luar fitur. Apakah sudah ada beberapa alat yang bisa Anda sarankan?
Jawaban:
kopi
Ada beberapa pendekatan untuk solusi, tetapi ini mungkin salah satu yang paling sederhana (tergantung kebutuhan Anda):
Pilih fitur menggunakan QgsVectorLayer
Dengan asumsi referensi ke layer vektor Anda (vlayer) dan id fitur (fid). Lihat juga
Zoom ke fitur yang dipilih menggunakan QgsInterface
Batalkan pilihan fitur menggunakan QgsVectorLayer
Simpan kanvas sebagai gambar menggunakan QgsMapCanvas
Pendekatan ini menghasilkan foto sebesar mungkin, jika jendela Anda diperluas menjadi penuh, karena menyimpan kanvas berada pada resolusi layar. Namun, itu tidak memastikan gambar Anda akan berada pada skala zoom peta yang sama, hanya ukuran piksel yang relatif sama. Ada opsi lain seperti
QgisInterface::actionPanToSelected()
jika Anda harus menjaga skala zoom agar konsisten.sumber
qgis.utils.iface.mapCanvas().zoomScale(scale)
atur skala peta. actionPanToSelected () tidak mengambil parameter, tetapi mengembalikan referensi ke tindakan itu sendiri (seperti actionZoomToSelected () di atas). Gunakan slot publiknyaqgis.utils.iface.actionPanToSelected().trigger()
untuk menjalankan aksi, yang akan menangani mencari tahu apa yang dipilih.