Saya menemukan pertanyaan yang sangat mirip dengan masalah saya: Bagaimana menautkan dataframe di ArcGIS atau QGIS? . Tetapi solusi untuk QGIS tidak berfungsi sekarang (plug-in Dual View tidak tersedia lagi).
Saya ingin menyinkronkan tiga tampilan:
Idenya adalah untuk memindahkan tiga tampilan peta pada saat yang sama dengan master peta dalam komposer cetak QGIS.
Apakah ada cara atau plug-in untuk melakukan ini?
sumber
Satu-satunya cara yang saya temukan saat ini untuk membuat skrip kecil dengan python, mungkin ini bisa bermigrasi ke plugin tapi saya tidak punya pengalaman dalam hal itu.
Merupakan kode yang sangat mendasar, memilih komposer dan peta yang tepat:
Pilihan lain adalah mempertahankan skala awal dalam peta slave untuk ditetapkan setelah batas baru jika peta memiliki bentuk yang berbeda, tetapi dalam kasus pribadi saya dengan kode ini sudah cukup:
Saya terbuka untuk meningkatkan solusi ini (saya hampir tidak punya pengalaman dengan
PyQGIS
).Berurusan dengan luasan dan skala yang berbeda
Kode di atas berfungsi dengan baik dengan tingkat yang sama (dan akibatnya, bentuk) dan skala. Sekarang saya memiliki kode yang ditingkatkan diuji dengan luasan, bentuk dan skala yang berbeda:
Dan tes yang dihasilkan:
sumber
Hanya sedikit tip untuk melakukannya tanpa kode. Itu kurang efisien daripada jawaban aldo tetapi itu pada akhirnya melakukan trik jika itu untuk melakukan peta akhir. Anda juga tidak perlu memiliki tampilan master, ini adalah batas kanvas peta yang diperhitungkan:
dll.
Saat Anda membutuhkan peta lain untuk menjadi master, cukup klik pada peta lainnya lalu "lihat luasnya di kanvas peta" sebelum mengatur yang lain.
Jika Anda ingin menyimpan tampilan tertentu untuk nanti, saya sarankan Anda menggunakan panel bookmark spasial. Atur kanvas peta ke batas yang dipilih lalu klik Setel untuk memetakan kanvas di setiap budak yang Anda butuhkan :)
sumber
Saya hanya punya masalah yang sama dan bisa mendapatkan hasil yang diinginkan menggunakan ekspresi pada peta dependen. Ini mengasumsikan semua peta memiliki dimensi yang sama dalam tata letak.
Berikan peta master Anda ID item, misalnya 'map1' (di bagian bawah properti item)
Pada setiap peta dependen, tambahkan ekspresi ke masing-masing nilai luas:
Kode akan mendapatkan variabel untuk item komposer 'map1', mendapatkan sejauh geometri dari itu dan akhirnya mendapatkan nilai x_min dari geometri. Ubah x_min menjadi y_min, x_max dan y_max sesuai.
Satunya downside adalah bahwa Anda perlu me-refresh peta tergantung setiap kali Anda memindahkan peta master. Pada ekspor itu harus diperbarui secara otomatis.
sumber