เป็นไปได้หรือไม่ที่จะสร้างบัฟเฟอร์สำหรับพิกเซลของไฟล์แรสเตอร์? ที่จริงฉันต้องขยายพิกเซลที่จำแนกเป็น 1 (สีขาวในรูป) ด้วยช่วงอวกาศที่ 1 หรือ 2 พิกเซลเพื่อดำเนินการทั่วไป ฉันใช้ QGIS เป็นไปได้กับ gdal หรืออะไรบางอย่าง?
เป็นไปได้หรือไม่ที่จะสร้างบัฟเฟอร์สำหรับพิกเซลของไฟล์แรสเตอร์? ที่จริงฉันต้องขยายพิกเซลที่จำแนกเป็น 1 (สีขาวในรูป) ด้วยช่วงอวกาศที่ 1 หรือ 2 พิกเซลเพื่อดำเนินการทั่วไป ฉันใช้ QGIS เป็นไปได้กับ gdal หรืออะไรบางอย่าง?
คำตอบ:
QGIS ให้ส่วนต่อประสานกับ GRASS GISซึ่งเริ่มต้นชีวิตในฐานะ GIS แรสเตอร์ดังนั้นจึงควรมีเครื่องมือที่มีประสิทธิภาพเพื่อจัดการกับปัญหานี้ อ้างอิงถึงหน้าคู่มือของคำสั่งแรสเตอร์เราสามารถหาวิธีแก้ไขปัญหาต่อไปนี้:
r.buffer - การบัฟเฟอร์โดยตรงของเซลล์สีขาว
r.cost - สามารถคำนวณระยะทางไปยังเซลล์สีขาว ทำตามสิ่งนี้ด้วยการเปรียบเทียบเพื่อเลือกเซลล์ระยะสั้น
r.grow - การดำเนินงานทางสัณฐานวิทยาในท้องถิ่นได้รับการออกแบบมาโดยเฉพาะเพื่อขยายเซลล์สีขาวเข้าไปในเพื่อนบ้านของพวกเขาทันที
r.mfilter - ตัวกรองโฟกัสทั่วไป สถิติโฟกัสที่หลากหลายเช่นสูงสุดค่าเฉลี่ยผลรวมมัธยฐานและค่าเบี่ยงเบนมาตรฐานสามารถตรวจจับการมีอยู่ของเซลล์สีขาวภายในละแวกใกล้เคียง ทำตามนี้ด้วยการเปรียบเทียบเพื่อเลือกเซลล์ดังกล่าว
r.neighbors - ฟิลเตอร์โฟกัสทั่วไปที่มากกว่าซึ่งสามารถใช้ในทำนองเดียวกันกับ r.mfilter
r.resample - resampling ไปยังกริด coarser เป็นวิธีหนึ่งในการขยายเซลล์สีขาว ผลลัพธ์จะค่อนข้าง "บล็อก"
r.spread - การให้เซลล์สีขาว "แพร่กระจาย" ในละแวกใกล้เคียงจะได้รับบัฟเฟอร์ที่ต้องการ
เราควรคาดหวังว่า r.buffer, r.grow และบางที r.mfilter เพื่อใช้โค้ดที่มีประสิทธิภาพที่สุด (ฉันไม่ได้ทดสอบสิ่งเหล่านี้เพื่อค้นหา)
ฉันจะเถียงว่าเป็นไปได้ ฉันแค่ไม่แน่ใจว่าคุณสามารถทำกับ QGIS ได้หรือไม่เพราะฉันไม่รู้ดีพอ QGIS สามารถทำสถิติ neigborhood ได้หรือไม่ สมมติว่าพิกเซลสีดำเป็นศูนย์และพิกเซลสีขาวคือ 1 จากนั้นฟังก์ชั่นทางสถิติย่าน 3x3 ที่คำนวณจำนวนสูงสุดของเซลล์จะส่งผลให้ '1' สำหรับพิกเซลที่อยู่ติดกันของเส้นขอบสีขาว จากนั้นคุณสามารถแยกพิกเซลเหล่านั้นในขั้นตอนที่สอง (หรือเรียกใช้สถิติพื้นที่ใกล้เคียงเป็นครั้งที่สองสำหรับพิกเซลแถวที่สอง)