Apakah ada fungsi atau plugin QGIS untuk menggambar garis miring?
Saya telah menggunakan Spline Tool untuk menggambar beberapa gelombang secara manual, tetapi itu memakan waktu. Jika memungkinkan, saya ingin menggambar sesuatu seperti:
Inkscape Function Plotter
( sin(x)
kurva).
qgis
line
visualisation
linestring
Kazuhito
sumber
sumber
Jawaban:
Saya mengusulkan solusi menggunakan PyQGIS. Ini harus bekerja baik untuk lapisan Linestring dan MultiLineString.
Solusi ini didasarkan pada pembuatan cincin setengah lingkaran, jadi Anda perlu menetapkan nilai untuk diameter (yaitu
step
variabel dalam kode di bawah). Langkah yang Anda pilih tidak akan menjadi langkah nyata yang digunakan karena disesuaikan berdasarkan panjang garis (tetapi akan sangat mirip dengan nilai yang awalnya ditetapkan). Anda perlu melakukan beberapa upaya sebelum menemukan nilai terbaik untukstep
variabel.Kode juga memerlukan parameter kedua (opsional) (disebut
crv_angle
), yang membantu untuk mengurangi atau meningkatkan kelengkungan untuk cincin (saya melakukan beberapa tes untuk itu, jadi saya sarankan meninggalkan 45 derajat sebagai sudut standar karena akan mengarah ke lingkaran nyata berdering).Anda hanya perlu menjalankan kode ini dari Konsol Python:
dan itu akan membuat layer memori baris baru dengan hasil yang diharapkan:
sumber
Jawaban singkat: Anda bisa mendapatkannya menggunakan SVG khusus. Lihat bagian bawah posting ini untuk satu.
Jawaban panjang:
Saya percaya lebih baik untuk mewakilinya daripada memodifikasi garis geometri. Jika Anda ingin menggerakkan tepi atau melakukan tindakan lain pada geometri, itu akan menjadi mimpi buruk untuk dikelola jika goyangan adalah bagian dari geometri, bukan hanya representasi dari garis lurus.
Anda dapat bermain dengan garis penanda gaya. Ada cara untuk dengan mudah mendekati apa yang Anda butuhkan, dan dengan sedikit usaha lebih mungkin untuk mendapatkannya dengan tepat.
Untuk mendapatkan ini, Anda akan menata garis dengan dua garis Penanda. Setiap garis Penanda terbuat dari Penanda Sederhana, setengah lingkaran. Yang pertama diputar oleh 180. Keduanya diatur ke transparan.
Pada garis Marker, Anda menginstruksikan salah satu dari mereka untuk diimbangi sehingga kedua simbol tidak ditarik di depan satu sama lain, tetapi berdampingan. Jika Anda menggunakan ukuran interval = 1/2 * offest, output akan menjadi kurva sinusoidal. Saya sarankan Anda bermain dengan ukuran interval, offset dan ukuran simbol.
Keterbatasan utama dengan pendekatan ini adalah garis diameter setengah lingkaran, yang merupakan jumlah garis asli. Jika latar belakang Anda putih (atau warna polos), Anda bisa menambahkan garis sederhana ke-3 menggunakan warna latar belakang.
** EDIT **
Pilihan lain untuk menghilangkan garis tengah adalah membuat simbol SVG baru. Saya memodifikasi setengah kurva, hanya tinggal bagian yang bulat. Ini bekerja, meskipun ellipse 1/2 mungkin lebih menarik. Tangkapan layar dilakukan menggunakan ukuran simbol 10, interval 4, offset 2.
simpan kode di bawah ini dalam file half_circle_line.svg dan pastikan path ke svg diatur dalam
QGIS // Settings / Options / System / SVG Paths
sumber
Pen style
ke Tidak Pena :)