ฉันประสบปัญหาเดียวกันกับที่คุณมีในวิธีที่สองของคุณ ฉันส่งออกแรสเตอร์ไปยังเวกเตอร์และลองใช้ v.generalise และฉันได้รูปหลายเหลี่ยมที่เรียบเนียนเป็นส่วนใหญ่ด้วยขอบเขต 'ก้าว' เป็นครั้งคราวซึ่งดูเหมือนจะไม่ได้รับผลกระทบจากอัลกอริทึม
ฉันพบกระบวนการที่เหมาะกับงานของฉันไม่แน่ใจว่าเป็นวิธีที่ดีที่สุด แต่คิดว่าฉันจะแบ่งปันในกรณีที่มันช่วยคุณได้
สิ่งที่ฉันเริ่มต้นด้วยคือตาราง ASCII จากBoMที่มีลักษณะเช่นนี้:
สิ่งที่ฉันต้องการสิ่งที่คล้ายกับสิ่งที่ BoM ผลิตเช่นนี้:
ฉันสามารถรับผลลัพธ์ (ที่ฉันพอใจ) โดยใช้ขั้นตอนต่อไปนี้
- โหลดกริด (ในกรณีของฉัน ASCII Grid จาก BoM) ลงใน QGIS
- ถอดรหัสเป็นคลาสที่ไม่ต่อเนื่อง (กล่องประมวลผลการประมวลผล> หญ้า> Raster> r.recode)
- เรียกใช้ตัวกรองส่วนใหญ่เพื่อ 'ล้างข้อมูล' (กำลังประมวลผลกล่องเครื่องมือ> SAGA> ตัวกรองแรสเตอร์> ตัวกรองส่วนใหญ่)
- สร้างรูปทรงจากกริดที่กรองในช่วงเวลา 1 และเก็บไว้ในแอตทริบิวต์ 'คลาส' (เนื่องจากคลาสของฉันมี 1,2,3,4 และอื่น ๆ ) (Raster 'เมนู'> การแยก> รูปทรง)
- รูปทรงผลลัพธ์ค่อนข้างทั่วไป แต่ฉันใช้ v.generalised ด้วยอัลกอริทึม 'งู' เพื่อทำให้เรียบ (การประมวลผลกล่องเครื่องมือ> หญ้า> เวกเตอร์> v.generalize)
- จากนั้นฉันแปลงบรรทัดเป็นรูปหลายเหลี่ยม (กำลังประมวลผลกล่องเครื่องมือ> อัลกอริทึม QGIS> เครื่องมือเรขาคณิตเวกเตอร์> เส้นเป็นรูปหลายเหลี่ยม)
- ในที่สุดฉันต้องแปลงรูปหลายเหลี่ยมส่วนเดียวเป็นหลายส่วนเพื่อให้รูปหลายเหลี่ยมทั้งหมดดึงเข้ามาอย่างสวยงาม (กล่องเครื่องมือประมวลผล> อัลกอริทึม QGIS> เครื่องมือเรขาคณิตเวกเตอร์> ส่วนเดียวไปยัง Mulitpart)
หลังจากจัดแต่งทรงผมของฉันอยู่ด้านล่าง:
ฉันจะสนใจฟังด้วยเช่นกันถ้ามีคนรู้วิธีที่ง่ายกว่า แต่เดิมฉันคิดคล้ายกับ @Rx_ ที่ฉันสามารถแปลงแรสเตอร์เป็นเวกเตอร์จากนั้นพูดคุยทั่วไปและฉันจะทำ สิ่งที่ฉันต้องทำนั้นนานกว่ามาก