Apakah mungkin untuk memilih hanya satu garis kontur untuk pelabelan?
Saya memiliki banyak label untuk setiap baris dan saya akan memilih untuk hanya label yang utama, seperti 1000 m
dan1500 m
Apakah mungkin untuk memilih hanya satu garis kontur untuk pelabelan?
Saya memiliki banyak label untuk setiap baris dan saya akan memilih untuk hanya label yang utama, seperti 1000 m
dan1500 m
Jawaban:
Di QGIS 2.6 (mungkin versi sebelumnya juga, saya tidak tahu) Anda bisa melakukan ini di bawah Layer Properties, Labels
tab, Rendering
bagian. Tentang setengah jalan daftar opsi render adalah tombol yang akan membiarkan Anda menulis ekspresi yang akan menentukan daftar fitur yang sebenarnya akan diberi label. Ekspresi Anda akan seperti "Elevation" IN (1000, 1500)
. Inilah tombolnya (berwarna kuning), saya hanya mengatur ini untuk memberi label kontur dengan nilai ketinggian 32:
Salah satu pendekatan akan memuat lapisan kontur dan gaya itu. Kemudian muat layer yang sama lagi dan terapkan filter (klik kanan pada layer dan turun ke 'Filter ..') Gunakan ekspresi filter yang mirip dengan yang ditunjukkan pada gambar. Dalam kasus saya, saya ingin kontur utama pada interval vertikal 50 meter dan bidang yang berisi nilai ketinggian disebut "prop_value".
Ketika lapisan yang difilter memperlihatkan kontur utama telah dimuat, terapkan label kontur dan (jika perlu) perkuat gaya garis seperti yang ditunjukkan.
Ekspresi filter:
("prop_value" % 50) = 0
juga akan memilih kontur pada interval vertikal 50 meter. Bekerja dengan database Spatialite, tidak yakin tentang shapefile.
Saya menggunakan pendekatan ini yang membuat pelabelan dan tampilan kontur dengan kondisi cukup mudah.
Saya menggunakan "Properti yang ditentukan data" dari lebar simbol garis dan warna kontur garis dengan ekspresi (lihat tangkapan layar 1) dimana Anda dapat menerapkan lebar garis yang berbeda berdasarkan kondisi khusus dan ekspresi yang sama untuk pelabelan (lihat tangkapan layar 2).
Masukkan saja nilai yang dibutuhkan ke ekspresi dan itu saja.
Yaitu jika Anda ingin menyembunyikan kontur selain 500 m, Anda bisa menggunakan ekspresi ini untuk properti yang ditentukan standar dari simbol garis:
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
yaitu untuk pelabelan interval hanya 500 m menggunakan ungkapan ini untuk:
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
yaitu untuk menerapkan lebar garis yang berbeda, gunakan ekspresi seperti ini untuk properti yang ditentukan data:
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END
Ekspresi nyaman lain adalah "ELEV" LIKE '%00'
(langkah 100m) atau "ELEV" LIKE '%00' OR "ELEV" LIKE '%50'
(langkah 50m) atau "ELEV" LIKE '%0'
(langkah 10m) dll, di mana "ELEV" adalah bidang elevasi data saya. Opsi kedua hanya berfungsi jika 50 adalah kelipatan interval (10m atau 5m ...).