Bagaimana cara menunjukkan label tepat di sekitar lingkaran di QGIS?

10

Saya menemukan cara yang menarik untuk pemetaan dan pelabelan simbol proporsional, saya pikir ini dibuat oleh Adobe Illustrator tetapi saya tidak bisa mencari tahu apakah itu bisa dilakukan di QGIS. Yang paling saya minati adalah cara bagaimana teks (atribut) muncul di sekitar lingkaran. Saya benar-benar tidak tahu bagaimana cara membuat pelabelan peta tematik seperti ini di QGIS.

Ini gambarnya:

masukkan deskripsi gambar di sini

Skye
sumber

Jawaban:

5

Secara singkat

Anda harus membagi setiap lingkaran menjadi 2 bagian, lalu mengonversinya menjadi polyline (atau cara apa pun untuk meniru bagian atas dan bawah separuh). Yang paling utama adalah memiliki lapisan dengan perimeter atas dan perimeter bawah.

Kemudian Anda memberi label pada bagian atas dengan label kurva dengan pengaturan atas dan label yang bawah dengan label bawah.

Di bawah How-to-do-do dengan tangkapan layar

Tabel entitas Anda akan terlihat seperti ini (ini adalah contoh uji, itu akan berbeda dengan data Anda). Saya membuat bidang posisi dan bidang label di sini.

Meja

Dalam kasus di mana Anda menyimpan satu layer fisik, Anda menduplikasi layer Anda dan mengatur filter untuk mencocokkan 'ATAS' untuk salinan layer dan 'BAWAH' untuk yang lain (tip: ketika seseorang akan menetapkan properti ini dalam data yang ditentukan bidang ini akan lebih sederhana)

Saring

Seharusnya terlihat seperti ini di properti:

pembuat kueri properti

Untuk masing-masing, Anda mengatur properti pelabelan yang berbeda

Lapisan bawah

Di bawah

Lapisan atas

Atas

maka Anda mendapatkan:

Lekukan

gisnside
sumber
Nah sekarang aku merasa konyol ...
csk
2
Jangan, kita semua belajar setiap hari 😉 Itulah inti dari Stack Exchange!
gisnside
Saya sangat menyukai solusi Anda, tetapi saya berjuang dengan lingkaran yang terbelah menjadi dua. Pada awalnya, saya memiliki layer point. Saya membuat buffer di sekitar mereka, jadi saya memperoleh poligon yang saya konversi menjadi polyline. Masalah saya adalah saya tidak bisa memotongnya menjadi dua. Bahkan plugin "Poligon Splitter" tidak melakukan apa yang saya inginkan. Bisakah Anda membantu saya bagaimana Anda melakukannya?
Skye
Untuk contoh ini, saya baru saja membuat lingkaran dasar yang secara manual saya bagi menjadi dua. Namun, untuk sejumlah besar lingkaran, saya kira Anda mungkin perlu membuat beberapa garis horizontal yang menyebar secara horizontal melintasi batas lingkaran. Dari lingkaran tengah, Anda perlu membuat dua titik, satu dengan (X + jari-jari lingkaran, Y) satu dengan (X-jari-jari lingkaran, Y) kemudian membuat garis di antara keduanya. Kemudian Anda memisahkan lapisan garis lingkaran dengan lapisan garis horizontal ... Atau Anda bisa menggunakan alat fitur perpecahan secara manual di bilah alat pengeditan lanjutan secara manual. Saya akan melihat-lihat jika saya melewatkan sesuatu.
gisnside
Saya akan mencoba ini secepat mungkin :)
Skye
0

Tampaknya tidak ada cara bawaan atau plugin untuk membuat label sesuai dengan kurva (atau bentuk apa pun selain garis lurus). Satu-satunya cara saya dapat memikirkan untuk mencapai efek ini di QGIS adalah dengan menggunakan bingkai HTML untuk setiap label di komposer cetak. HTML bukan setelan kuat saya, tetapi saya menemukan beberapa situs yang menjelaskan cara melakukan ini (tautan di bagian bawah posting ini). Kedengarannya cukup membosankan - mungkin jauh lebih mudah untuk menghasilkan peta tanpa label, lalu menambahkannya dalam program yang berbeda. Atau buat label di program lain, simpan sebagai gambar, dan tambahkan gambar ke dalam komposer cetak.

https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm

csk
sumber