Bagaimana memposisikan panduan pada titik tertentu di Print Composer?

8

Daripada menarik panduan ke komposer cetak, saya ingin mengetikkan angka untuk mengaturnya pada titik tertentu. Apakah mungkin melakukan ini?

Misalnya saya ingin memastikan saya mengambil objek ke panduan margin pada 10mm dari tepi halaman. Sangat rumit untuk menggunakan mouse dan saya harus memperbesar untuk melihat tanda yang cukup pada penggaris.

Gregory
sumber

Jawaban:

7

Tidak ada cara untuk melakukannya di GUI, tetapi sedikit PyQGIS akan membawa Anda ke sana:

from PyQt4.QtCore import QLineF

#get composition
c = iface.activeComposers()[0].composition()

margin = 10.0

#top guide
c.addSnapLine().setLine( QLineF( 0, margin, c.paperWidth(), margin))

#bottom guide
c.addSnapLine().setLine( QLineF( 0, c.paperHeight() - margin, c.paperWidth(), c.paperHeight() - margin))

#left guide
c.addSnapLine().setLine( QLineF( margin, 0, margin, c.paperHeight() ))

#right guide
c.addSnapLine().setLine( QLineF( c.paperWidth() - margin, 0, c.paperWidth() - margin, c.paperHeight()))

Perhatikan bahwa jika Anda memiliki lebih dari satu komposer, Anda harus mengubah c = iface.activeComposers()[0].composition()garis untuk mencerminkan nomor komposer yang benar (misalnya activeComposers()[1], ...)

ndawson
sumber
1
Ingin melihat ini pada intinya ...
DPSSpatial
1

Saya menggunakan Inkscape sebagai renderer terakhir untuk peta QGIS yang membutuhkan sedikit lebih banyak daripada yang dapat ditemukan di Print Composer - yang baik karena banyak kartografer mengambil peta ke Adobe Illustrator untuk sentuhan akhir ...

Kuncinya adalah membuat tata letak Anda di Inkscape, mengatur panduan di mana Anda menginginkannya, menggambar persegi panjang yang masuk ke panduan Anda, dan mendapatkan dimensi persegi panjang itu kembali ke ukuran komposer cetak Anda di QGIS.

Kemudian Anda dapat mengekspor peta Anda dari QGIS sebagai PNG atau format lain (memastikan resolusi Anda sesuai dengan keinginan Anda) dan menjatuhkannya langsung ke tata letak Inkscape Anda.

Apakah ini langkah ekstra? Ya ... tetapi Anda dapat menggunakan templat Inkscape dan QGIS Anda dengan bermanfaat jika Anda sering melakukan ini, atau Anda memiliki situasi seperti yang kami lakukan di mana selain memerlukan penempatan panduan yang akurat, kami perlu mengelola teks eksternal untuk peta yang ada. paling baik dilakukan dalam paket grafis ... Saya membuat peta pagi ini menggunakan metode ini dan itu terlihat hebat!

Tapi ... memiliki ini di inti QGIS akan menyenangkan ...

DPSSpatial
sumber
0

Anda harus membuka file .qgis Anda di editor teks untuk memposisikan garis panduan tepat. Nilai x dan y dapat ditemukan di tag 'SnapLine'.

Lihat juga: http://hub.qgis.org/issues/13950

eclipsed_by_the_moon
sumber