Mencegah label teks dari tumpang tindih penanda lain di QGIS?

14

Apakah ada cara di dalam QGIS untuk mencegah label teks dari ikon yang tumpang tindih yang digunakan untuk memberi label layer titik?

Dalam contoh peta yang ditunjukkan di bawah ini, ada dua lapisan:

  1. Lapisan jalan yang dilabeli menggunakan mesin pelabelan baru.
  2. Lapisan titik yang menggunakan ikon svg untuk menunjukkan perisai jalan raya.

Saya memiliki kasus penggunaan lain untuk ini seperti mencegah ikon stasiun kereta tumpang tindih. Dalam contoh ini, saya dapat dengan mudah memindahkan titik, dalam kasus lain, seperti stasiun kereta bawah tanah, itu bukan solusi yang bisa diterapkan.

Solusi yang mungkin saya pertimbangkan akan melibatkan:

  1. Menambahkan kolom ke file dbf layer titik.
  2. Mengisi kolom yang ditambahkan dengan Null atau spasi.
  3. Mengaktifkan pelabelan [gaya baru] QGIS untuk kolom yang ditambahkan.

Apakah ini cara untuk pergi atau apakah ada metode yang lebih baik?

Peta Contoh

Info QGIS: Saya menggunakan versi 1.7.4 dan versi 1.8 yang baru-baru ini dikompilasi di Mac OS 10.7.4. Versi Linux dan Windows juga tersedia untuk saya.


Pembaruan Kemajuan : Metode yang saya jelaskan di atas berfungsi meskipun diperlukan dua modifikasi pada proses.

  1. Alih-alih menggunakan karakter spasi atau Null , ruang non-breaking harus digunakan. Saat pengujian saya temukan, bidang dengan Null tidak dirender dan bidang dengan hanya spasi dikonversi ke Null . (Lihat halaman Wikipedia ini untuk informasi tentang cara mengetik ruang yang tidak melanggar .)
  2. Saat mengatur Pengaturan Pelabelan Lapisan, pada tab Lanjut, atur Penempatan ke Over Point . Juga atur Prioritas sedemikian rupa sehingga lebih tinggi daripada lapisan berlabel lainnya.

Bergantung pada ukuran ikon yang digunakan, beberapa eksperimen mungkin diperlukan untuk menyelesaikan pekerjaan seperti yang diharapkan. Bergantung pada situasinya, mungkin lebih mudah untuk menggunakan banyak karakter daripada berusaha meningkatkan bobot dan / atau ukuran font.

Peta Contoh 2

Diuji dengan QGIS 1.7 dan yang baru-baru ini dikompilasi dari 1.8 pada Mac OS 10.7.4.

DMan
sumber
1
Anda juga dapat menjawab pertanyaan Anda sendiri. Saya ingin memilih solusi Anda.
underdark
Anda dapat melakukan penggabungan seperti yang saya lakukan: di sini
jlSta

Jawaban:

8

Solusi konsisten terbaik yang saya miliki sejauh ini adalah sejalan dengan apa yang telah saya paparkan di atas. Dengan asumsi file SHP digunakan, langkah-langkahnya adalah:

  1. Buka file dbf dengan aplikasi spreadsheet seperti LibreOffice, Excel, atau plugin QGIS Table Manager.
  2. Tambahkan kolom ke tabel. Jika tipe data diperlukan, gunakan string.
  3. Isi sel dengan ruang yang tidak pecah . Setelah selesai, simpan perubahannya. (Lihat halaman Wikipedia ini untuk informasi tentang cara mengetik ruang yang tidak melanggar.)
  4. Buka Pengaturan Pelabelan Lapisan untuk lapisan titik. Pada tab Tingkat Lanjut, atur Penempatan ke Over Point dan atur Prioritas sedemikian rupa sehingga lebih tinggi daripada lapisan berlabel lainnya.
DMan
sumber
2
Di 2.14 Anda bahkan tidak perlu menambahkan kolom baru, cukup cantumkan '' sebagai label
raphael
3

Saya tahu ini sudah lama tetapi Anda bisa menambahkan kolom "Koordinat X" dan "Koordinat Y" (presisi ganda) ke tabel yang menyimpan informasi itu dan kemudian pergi ke tab "Pengaturan Data" di bawah Label di properti layer dan ubah Koordinat X dan koordinat Y sesuai. Setelah melakukannya, Anda dapat memindahkan label dengan tangan bebas menggunakan tombol label pindah.

Jeff Cameron
sumber
1

Saya baru saja mengirim jawaban lain untuk masalah yang sama. Pendekatan ini menggunakan simbol svg sebagai ganti lapisan dan memanfaatkan data yang didefinisikan menimpa untuk mengatur jalur ke simbol svg yang berbeda untuk setiap nilai atribut, cp. jawaban saya untuk Simbol di atas label di peta QGIS

Jochen Schwarze
sumber
0

Anda dapat bereksperimen dengan offset label.

Saya menemukan bahwa memungkinkan penentuan posisi label menjadi lebih dinamis, jika saya atur ke 2 mm atau lebih.

Willy
sumber
Tidak, saya belum mencoba melakukan ini. Alasan utama saya belum mengubah posisi label adalah karena pada area lain dari peta (tidak digambarkan), jaringan jalan jauh lebih padat. Pada contoh di atas, memindahkan ikon sekitar 2mm (arah apa pun) akan memperbaiki masalah. Namun di bagian lain peta, kemungkinan akan mendorong ikon lebih dalam ke label lain.
DMan
Cobalah, label kemungkinan akan bergeser ke posisi dinamis baru. Mungkin bukan yang Anda inginkan, tetapi satu-satunya cara untuk mengetahuinya adalah dengan mencoba. Opsi yang saya gunakan adalah pada tab lanjutan dari alat label baru (yang ditemukan di bilah alat bukan dari dialog properti lapisan).
Willy