Bagaimana cara membuat label yang menggabungkan berbagai ukuran atau jenis font?

16

Saya ingin menempatkan jumlah elevasi titik dalam ukuran depan yang berbeda dan berpusat di bawah namanya:

masukkan deskripsi gambar di sini

Apakah itu mungkin?

(Itu adalah label yang sebenarnya: label || '\n' || elevation)

PETA
sumber

Jawaban:

12

Mengabaikan ukuran font untuk saat ini, Anda dapat mencapai opsi pertama dengan memusatkan label di atas titik, di QGIS 1.9 Anda memiliki opsi untuk memusatkan teks di bawah bagian beberapa baris. Jika Anda telah memasukkan karakter baris baru dalam ekspresi Anda, Anda dapat membiarkan kotak 'Bungkus karakter' (atau saya menaruh garis miring dalam ekspresi saya alih-alih '\ n' dan menetapkannya sebagai karakter-bungkus - karakter-bungkus-karakter tidak ditampilkan). Ini akan mengatur teks Anda terpusat seperti pada opsi kedua Anda. Untuk sesuatu seperti opsi pertama Anda, Anda bisa mengatur opsi ketinggian garis ke 2 atau 3.

Namun, pelabelan canggih QGIS hanya memiliki opsi tunggal untuk ukuran font. Jadi, untuk mencapai ukuran font yang berbeda, saya pikir Anda harus menambahkan layer Anda untuk kedua kalinya dan mengatur font elevasi dan posisi di sana.

MappaGnosis
sumber
1
Apakah ada rencana saat ini atau di masa depan untuk menerapkan penggunaan tag font berbasis HTML untuk label QGIS, seperti halnya tag format teks ArcGIS ?
RyanKDalton-OffTheGridMaps
1
@RyanDalton hub.qgis.org/issues/4080 Ide yang bagus, tetapi dapat memperlambat rendering label, dan mungkin sulit untuk menentukan ukuran label yang sesuai (karena itu didasarkan pada QFontMetricsF sekarang), tetapi harus mencoba untuk mengimplementasikannya terlebih dahulu untuk mengetahui dengan pasti. Tidak ada rencana untuk 2.0, tetapi mungkin bisa dilakukan untuk 2.1.
dakcarto
1
Ada berita tentang itu?
PETA
Apakah mungkin melakukan ini pada QGIS 3.6?
Denilson
5

Anda dapat mencapai apa yang Anda inginkan menggunakan Pelabelan Berbasis Aturan, tetapi Anda perlu memisahkan label yang terletak di satu bidang menjadi dua bidang. Opsi Pelabelan Berbasis Aturan memungkinkan Anda untuk menambahkan label dari bidang yang berbeda dan menyesuaikannya sesuka Anda dengan mengubah nama font, warna, ukuran dan menggunakan offset untuk menempatkannya di atas satu sama lain.

Seperti yang dapat Anda lihat pada contoh di bawah ini, saya menempatkan label Jepang dan Label Bahasa Inggris ke dalam dua bidang dan kemudian mengontrol tampilan masing-masing label seperti yang saya inginkan:

masukkan deskripsi gambar di sini

Untuk melakukan ini:

  • Pergi ke Layer properties -> Labels
  • Pilih Rule-Based Labeling

masukkan deskripsi gambar di sini

  • Tentukan bidang yang ingin Anda gunakan dalam pelabelan, masing-masing secara terpisah. Dalam contoh ini, saya menggunakan Name_JP dan Name_EN.
  • Gunakan gaya untuk masing-masing secara mandiri dan sesuaikan masing-masing sesuka Anda.
  • Yang paling penting adalah menggunakan di Offsetbawah Placementuntuk salah satu label sehingga mereka dapat berada di atas satu sama lain. Untuk bidang label pertama, saya menggunakan pengaturan penempatan berikut:

masukkan deskripsi gambar di sini

Untuk bidang label kedua saya menggunakan pengaturan berikut:

masukkan deskripsi gambar di sini

Diuji pada QGIS 3.0.1, Tetapi itu juga dapat diterapkan di QGIS 2.18 karena opsi Pelabelan Berbasis Aturan tersedia.

ahmadhanb
sumber
1

Saya menggunakan duplikat dari lapisan yang sama dan melabeli keduanya dengan penempatan di atas dan di bawah masing-masing setelah memeriksa 'tampilkan semua label dan fitur untuk semua lapisan' sebagaimana terlampirdan itu berhasil!

Asiku Emmanuel
sumber