Menempatkan nomor ketinggian pada kontur dengan orientasi dan posisi menanjak di QGIS?

20

Saya ingin mengarahkan label ketinggian saya ke atas bukit.

Apakah itu mungkin?

Saat ini saya menggunakan alat pelabelan dari QGIS (bukan yang di pengaturan lapisan). Saya ingin label melengkung dan berorientasi ke atas (dan saya ingin menentukan seberapa sering angka-angka tersebut ditampilkan). Ini semua untuk cetak peta.

PETA
sumber
Lihat chat.stackexchange.com/rooms/939/gis . Bukan jawaban, saya takut. Nick.
nhopton
Apakah Anda ketat hanya menggunakan QGIS? Sudahkah Anda mempertimbangkan untuk menggunakan perangkat lunak lain untuk menyiapkan data untuk pelabelan?
Alex Markov
Saya juga akan menggunakan perangkat lunak lain, jika terbuka dan gratis :)
PETA
Bolehkah Anda membaca artikel ini Cara membuat kontur menggunakan data titik dalam Quantum GIS (QGIS) dan
sage han

Jawaban:

21

Di sini kita pergi kemudian, metode untuk mendapatkan kontrol atas penempatan label kontur, lihat gambar.

Hal pertama yang saya lakukan adalah memuat kontur. Selanjutnya, pada shapefile garis baru, saya menggambar garis dari atas bukit ke bawah (label pada gambar selaras dengan ini). Saya kemudian buffer garis dan menggunakan buffer untuk memotong lapisan kontur. Setelah itu saya memuatkan kontur yang terpotong di atas layer kontur, atur simbologinya sehingga garis-garis kecil tidak menghasilkan, dan memberi label pada layer yang terpotong menggunakan sistem pelabelan yang baru.

Dalam contoh yang ditunjukkan, saya hanya menggunakan satu garis lurus, tetapi tentu saja akan mungkin untuk menggunakan polyline juga, untuk menghasilkan label yang ditempatkan lebih baik.

Oh, Anda hanya perlu nilai buffer kecil, 50 meter saya pikir saya gunakan dalam contoh, bahkan ini mungkin lebih besar dari yang diperlukan.

masukkan deskripsi gambar di sini

nhopton
sumber
Metode kreatif. Saya mungkin meminjam ide ini untuk peta masa depan.
Sue Deforest
2
Terlihat bagus, ide yang sangat bagus, Nick! Tapi sepertinya banyak pekerjaan yang harus dilakukan untuk area 1000km² dengan ratusan bukit dan gunung ... :)
PETA
1
Agak kotor, bukan begitu? :)
blah238
1
Ya! Tapi itu pujian dalam buku saya :) Ya, itu akan menjadi hasil kerja yang adil Martin, tetapi lebih cepat daripada label titik bergeser tentang saya pikir. Anda bisa menggambar banyak garis untuk buffering di layer yang sama dan seperti yang saya sebutkan sebelumnya, mereka tidak harus lurus. Itu bukan ide yang baik untuk melewati mereka, saya pikir. Nick.
nhopton
Ini, metode yang dikombinasikan dengan lapisan Virtual dapat menyediakan cara interaktif pengaturan label sepanjang garis.
Alexandre Neto
4

Menggunakan penempatan paralel bersama dengan "garis bawah" dan "posisi tergantung orientasi garis", saya selalu berhasil menempatkan label pada sisi yang menanjak.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Penempatan melengkung saat ini tampaknya mengabaikan orientasi garis. (Saya melaporkan perilaku itu.)

Juga, tampaknya tidak mungkin untuk mencapai label terbalik, jika Anda bertujuan untuk itu.

underdark
sumber
Orientasi adalah bagaimana Anda tahu di mana "menanjak" relatif terhadap kontur, bahkan jika labelnya terbalik.
Mike T
1
Terima kasih! Tapi itu tidak berfungsi dengan baik. Orientasinya masih berorientasi ke sudut garis, bukan ke sisi menanjak seperti 1700m dan 1900m atau angka kontur di bukit di sisi kiri. Tapi terima kasih
PETA
@ MikeToews Saya sadar akan hal itu, tetapi saat ini sepertinya tidak mungkin membuat label terbalik saat ini (seperti yang saya sebutkan dalam jawaban).
underdark
'Aturan' adalah kata yang terlalu kuat, tetapi ada konvensi tentang pelabelan garis dan sistem pelabelan baru melakukan pekerjaan yang baik untuk menghormati ini. Saya pikir jika Anda ingin memilih di mana pada label muncul label Anda harus memecah garis menjadi bagian yang sesuai. Nick.
nhopton
Mungkin ada cara lain untuk menangani penempatan label kontur, biarkan saya berpikir tentang ini.
nhopton
4

Yang dapat Anda lakukan adalah membuat file titik dari kontur dengan atribut ketinggian (Anda dapat melakukan ini menggunakan profil apa pun dari alat baris). Kemudian tambahkan titik nilai aspek (Anda akan memerlukan aspek raster tapi itu mudah diproduksi) dan akhirnya putar label elevasi pada titik sesuai dengan aspek (sebenarnya perlu aspek 180 derajat +, karena aspek adalah arah menurun ). Anda dapat mendesain poin agar tidak ditampilkan. Semoga ini bisa membantu, itu sangat tergantung pada detail data Anda, jika aspek tidak cocok dengan arah kontur itu bisa sangat mengganggu.

ardm
sumber
1
(+1) Pendekatan pintar - dan cukup umum untuk bekerja dengan banyak GIS, dan juga sangat fleksibel. (Sayangnya solusi ini tidak membahas persyaratan bahwa label melengkung dengan kontur.) Selamat datang di situs kami!
whuber
1

Seringkali, garis garis kontur ditangkap sedemikian rupa sehingga menanjak selalu di sisi yang sama dari garis. Mungkin itu adalah kasus data Anda ...

Julien
sumber
Itu tampaknya menjadi kasus untuk plugin Contour QGIS. Tapi itu masih menyisakan pertanyaan bagaimana menangani label.
underdark
0

Saya berasumsi si penanya menginginkan label kontur menghadap ke atas, alih-alih ditempatkan di sisi atas kontur.

Di QGIS 3.2, buka

  • Lapisan -> Properti ...,
  • Pelabelan tab
  • Sub-tab Rendering

dan pilih Tampilkan label terbalik = selalu . Tanpa ini, QGIS akan menolak untuk mencetak label secara terbalik, dan Anda akan berakhir dengan campuran orientasi.

Jika ternyata labelnya salah, Anda dapat menggunakan alat Arah garis terbalik dari Toolbox Pemrosesan.

Perhatikan bahwa ini mengasumsikan bahwa semua kontur pada layer berorientasi dengan cara yang sama. Ini harus menjadi kasus jika alat Contour di QGIS telah digunakan (yang memanggil gdal_contour).

Tom Brennan
sumber