Mencapai buffer garis Flat-End di QGIS?

14

Saya perlu buffer serangkaian baris dengan 40m, namun saya hanya ingin buffer datang dari sisi dan bukan dari kedua ujung baris.

Saya tahu di ArcGIS ada kotak centang "flat-end" yang mencapai hal ini, namun sayangnya saya tidak dapat menggunakan ArcGIS saat ini.

Apakah ada cara untuk mencapai ini di QGIS?

Saya telah melihat beberapa pekerjaan di sekitar, tetapi karena skala dataset saya (jaringan jalan nasional) tidak ada yang saya temukan sejauh ini layak.

rfreeman92
sumber
Tidak yakin apa format data Anda, tetapi sepertinya Anda dapat melakukannya melalui pernyataan PostGIS, gis.stackexchange.com/questions/1197/…
artwork21

Jawaban:

12

Jika Anda menggunakan alat v.buffer di set alat Grass Commands, Anda bisa membuat buffer datar.

Ada ada dua kotak pilihan v.buffer Jika Anda telah Make outside corners straightditetapkan untuk No, dan Don't make caps at the ends of polylinessebagai Yes, hasilnya harus sama dengan ArcMap straight edge penyangga.

Berikut ini adalah 3 kombinasi dari dua kotak centang di atas, perhatikan kombinasi biner dalam nama layer (0 = tidak, 1 = ya). v.pembuat hasil

Anda mungkin juga harus menjalankan fixer / pembersih topologi sebelumnya, alat Grass cenderung memberikan hasil yang lucu jika topologi tidak sempurna

HDunn
sumber
Luar biasa inilah yang saya butuhkan, tidak tahu QGIS memiliki perintah GRASS yang disingkirkan. Terima kasih.
rfreeman92
NB: Apakah ada cara untuk memastikan bahwa buffer yang dibuat adalah poligon individu dan tidak larut menjadi satu poligon raksasa?
rfreeman92
Saya juga tertarik untuk mendapatkan satu poligon dan bukan satu poligon terlarut. Apakah ini mungkin?
user32882
3

OpenJUMP mungkin tidak cocok untuk Anda karena semua data harus sesuai dengan memori tetapi dengan 64 bit batasnya agak tinggi. Paling penting, itu bisa.

masukkan deskripsi gambar di sini

pengguna30184
sumber
1
Alat buffer OpenJUMP melakukan ini lebih baik daripada QGIS atau Esri!
sirgeo
Hanya mengucapkan terima kasih karena telah memberikan saya perangkat lunak yang tampaknya jauh lebih cepat dalam banyak dari algoritma mendasar ini! : D
jhc
0

Tampaknya hasil yang sama dapat dicapai secara langsung dengan ST_Buffer()menggunakan flat endcap dengan round join, sebagai berikut:

ST_Buffer(linestring_geom,<buffer_radius>,'endcap=flat join=round')
John
sumber