Tampilkan hanya satu label untuk beberapa poin dengan nilai yang sama di QGIS


9

Saya memiliki shapefile titik yang beberapa kali memiliki beberapa poin dengan ID yang sama. Tidak terlihat bagus dengan tampilan label normal. Apakah mungkin di QGIS hanya menampilkan satu label saja? Saya tidak dapat menemukan opsi centang / hapus centang ... Mungkin dimungkinkan untuk mengambil label melalui query SQL, dengan »GROUP BY id«?

masukkan deskripsi gambar di sini

Jawaban:


6

Saya berasumsi bahwa Anda memiliki beberapa fitur dengan ID yang sama dan bukan multipoint nyata. Jika diperlukan ada juga solusi dengan multipoint nyata, beri tahu saya.

Anda bisa menambahkan bidang bilangan bulat ke shapefile yang Anda isi dengan 1 jika Anda ingin menampilkan label untuk fitur ini dan 0 untuk yang lain.

Kemudian dalam penyaji label menggunakan properti yang ditentukan data untuk menunjukkan atau tidak label.

masukkan deskripsi gambar di sini

EDIT:

Jawaban oleh @Kazuhito memberi saya ide untuk melangkah lebih jauh.

Anda juga dapat menambahkan dua bidang (misalnya x_lbl dan y_lbl) dan menggunakannya untuk mendapatkan kontrol total pada penempatan label Anda dengan menggunakan properti yang ditentukan data untuk penempatan label. Isi bidang ini dengan koordinat di mana Anda memerlukan label Anda, Anda kemudian dapat dengan mudah memodifikasi tempat dari Antarmuka QGIS. Cari tombol ini:

masukkan deskripsi gambar di sini


1
Saya bertanya-tanya apakah Anda telah menemukan solusi untuk pelabelan fitur multipoint karena saya terjebak dengan masalah ini untuk geometri multipoint nyata sekarang ...
she_weeds

5

Jika a virtual layeradalah opsi,

SELECT id, st_pointonsurface(st_union(geometry))
FROM your_layer
GROUP BY id

akan menempatkan titik di sekitar pusat setiap kelompok.

Saya suka jawabannya oleh @YoLecomte, yang memberi kita lebih banyak kontrol untuk memilih tempat untuk meletakkan label.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.