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.


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


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


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')
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.