Menyelaraskan nama jalan dalam satu baris dalam QGIS

14

Saya mencoba menyelaraskan nama jalan dalam satu baris, atau kolom sebanyak mungkin di QGIS. Saya tahu itu bisa dilakukan di Adobe Illustrator dengan plugin pemetaan, tapi saya tidak punya $$ untuk itu.

Saya mencoba sesuatu seperti ini tetapi sepertinya tidak membantu.

Ini adalah sebuah contoh: masukkan deskripsi gambar di sini

Tidak harus persis seperti itu, tetapi saya ingin melakukan hal serupa.

Troy Buerge
sumber

Jawaban:

24

(1) Gambar garis sebagai panduan untuk posisi label.

Dalam contoh ini guidelinelapisan ini memiliki bidang id "fid"dengan hanya satu nilai ( 1).

(2) Pergi ke Layer properties | Labels | Placement.

Di sana Anda akan menemukan Data defined | Coordinate X and Y. Pilih Edit dari setiap menu pull-down.

masukkan deskripsi gambar di sini

(3) Berikan ekspresi:

x: x(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

y: y(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

masukkan deskripsi gambar di sini

(4) Sebagai langkah terakhir, sembunyikan pedoman. Pilih layer pedoman dan ubah simbologinya menjadi No Symbols.

masukkan deskripsi gambar di sini

Kazuhito
sumber
Saya selalu kagum dengan apa yang bisa kita lakukan dengan berbagai fungsi / ekspresi. Kasus penggunaan lain untuk diingat!
Gabriel C.
@GabrielC. Saya sangat setuju dengan Anda. Saya sangat berterima kasih kepada tim Dev QGIS untuk ekspresi yang luar biasa ini!
Kazuhito
Wow! Terima kasih banyak! 1 pertanyaan lagi dan saya pasti akan menandainya sebagai jawaban saya. Bagaimana cara menambahkan baris kedua jika jalan saya pergi ke daerah lain, dan perlu nama yang berbeda, atau untuk melakukan jalan yang berjalan ke arah lain?
Troy Buerge
Saya tahu itu bisa dilakukan dengan membuat duplikat layer jalan, hanya menunjukkan label, dan bukan simbologi, dan menandai label untuk "('pedoman', 'fid', '2'). Tapi saya yakin ada cara yang lebih baik
Troy Buerge
Terima kasih @TroyBuerge Tapi saya minta maaf saya tidak bisa memikirkan solusi yang lebih baik daripada yang Anda miliki di komentar Anda.
Kazuhito