Apakah mungkin untuk menulis ekspresi label dalam qgis yang menampilkan label pada koordinat yang diberikan?

15

Saya menggunakan pembuat ekspresi QGIS untuk properti label data saya.

Apakah mungkin untuk menempatkan berbagai bagian label pada koordinat yang berbeda di peta?

Misalnya saya memiliki linestring dan saya ingin "A" ditampilkan di awal linestring dan "B" di akhir.

benoitespinola
sumber

Jawaban:

22

Salah satu metode adalah dengan menggunakan label berbasis aturan dan menambahkan dua aturan untuk "A" dan "B".

  1. Pergi ke Layer Properties > Labelsdan ubah opsi No labelsmenjadi Rule-based labelling. Kemudian tambahkan aturan dengan mengklik ikon tambah hijau:

    Pelabelan berbasis aturan

  2. Atur opsi yang relevan seperti yang ditunjukkan seperti Label with(gunakan sesuatu 'A') dan Coordinate X Y. Untuk koordinat x, klik Edit...dan gunakan $x_at(0)untuk menempatkan label di awal linestring; untuk koordinat y, gunakan $y_at(0).

    Opsi aturan

  3. Ulangi Langkah 2 untuk "B" tetapi untuk koordinat xy, gunakan $x_at(-1)dan $y_at(-1)masing-masing untuk akhir linestring.

  4. Ketika Anda mengklik Terapkan , semoga Anda akan melihat sesuatu seperti ini:

    Garis dengan label

Yusuf
sumber
1
Terima kasih telah membagikan solusi Anda! Saya akan melihatnya lebih dekat. Saya cukup baru di QGIS dan kurva pembelajaran masih pada awalnya.
benoitespinola
@benoitespinola - Permintaan maaf karena tidak menanggapi (Saya biasanya membalas komentar)! Selamat datang dan saya yakin Anda akan terbiasa dengan QGIS dengan sangat cepat :)
Joseph
11

Ada cara alternatif untuk melakukan ini menggunakan simbologi daripada pelabelan yang mungkin cocok untuk Anda:

- Jika Anda ingin teks yang berbeda untuk fitur yang berbeda kemudian tambahkan dua bidang ke data Anda, satu untuk teks akhir Anda dan satu untuk Anda memulai teks. Ini tidak perlu jika Anda ingin hanya 'A' dan 'B' di ujung baris.

  • Simbolkan layer garis Anda dan kemudian tambahkan layer simbol baru -> atur ini ke garis marker pada titik pertama
  • Setel jenis simbol ke Penanda Font
  • Tetapkan penanda ke 'A' atau tetapkan nilai untuk mencocokkan bidang mulai dari tabel atribut lapisan Anda
  • Persetan dengan ukuran dan rotasi dll seperti yang Anda lakukan penanda standar.

Ulangi untuk menambahkan 'label' akhir.

masukkan deskripsi gambar di sini

Ed Rollason
sumber
Bagus! Terima kasih atas solusinya! Saya akan mencobanya juga. :)
benoitespinola