ดำเนินการจัดประเภทแรสเตอร์ใหม่ใน QGIS?


26

มีวิธีดำเนินการจัดประเภทรูปภาพแรสเตอร์ใหม่ใน QGIS หรือไม่?

ใน ArcGIS คุณสามารถทำได้ในเครื่องมือนักวิเคราะห์เชิงพื้นที่→จัดประเภทใหม่→จัดกลุ่มใหม่

ความคิดใด ๆ

สกรีนช็อตของหน้าต่างจัดประเภทใหม่


วิธีอื่นใช้ Raster Calculator มันอธิบายในรายการนี้hub.qgis.org/issues/7581

1
คุณเชื่อมโยงไปยังหน้าที่อธิบายวิธีแก้ปัญหาและระบุว่า "วิธีแก้ปัญหานั้นแย่มาก"!
whuber

ทางออกที่ดีที่สุดที่ฉันพบคือในหัวข้อนี้: gis.stackexchange.com/questions/121532/reclass-in-qgis
DPSSpatial

คำตอบ:


21

ใช้ GRASS และโมดูล r.reclass ใช่ อย่างไรก็ตามคุณจำเป็นต้องใช้คำหลัก "ถึง"

ตัวอย่าง: สำหรับตารางระดับความสูงของแรสเตอร์ที่จะจัดประเภทใหม่เป็นค่าตามช่วงเวลา 100m:

500 ถึง 599.99 = 500

600 ถึง 699.99 = 600

700 ถึง 799.99 = 700

ฯลฯ .. และคุณบันทึกลงในเอกสารข้อความแผ่นจดบันทึก (โดยไม่มีช่องว่างระหว่างบรรทัด) จากนั้นเมื่อเปิดโมดูล r.reclass คุณเพียงแค่โหลด rulefile นั้นลงใน gui แล้วออกไป

ประสบการณ์: ฉันเพิ่งทำการจัดประเภทใหม่ใน DEM สำหรับโครงการวิทยานิพนธ์ของฉันในทาจิกิสถานในช่วงสุดสัปดาห์โดยใช้วิธีการนี้และทำงานได้ดี

* หมายเหตุ (ข้อแม้): คุณอาจพิจารณาการสร้างแบบจำลองกระบวนการนี้หรือแม้กระทั่งการใช้ GDAL เพื่อส่งออกไฟล์ * .prj ข้างเอาท์พุทเพื่อใช้ในอาร์คเนื่องจากเอาต์พุตที่ฉันได้เห็นในตอนนี้ไม่มีคำจำกัดความการฉายที่อ่านได้โดย Arc . หากคุณกำลังยึดติดกับ QGIS ดังนั้นคุณควรจะดี

อีกสิ่งหนึ่งเช่นเดียวกับกระบวนการ QGIS / GRASS / GDAL ตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดตัวติดตั้ง OSGeo4W ซึ่งทำให้แน่ใจว่าคุณมีทุกสิ่งที่เป็นปัจจุบัน: http://trac.osgeo.org/osgeo4w/

หวังว่านี่จะช่วยได้


2
r.reclass ยอมรับเฉพาะจำนวนเต็ม
nickves

10

ฉันสามารถจัดประเภทแรสเตอร์ใหม่ได้โดยใช้เครื่องคิดเลขแบบแรสเตอร์

ที่นี่แรสเตอร์ "ที่อยู่อาศัย" ถูกจัดประเภทใหม่จากค่าต่อเนื่อง (0-1) ไปเป็นค่าที่ไม่ต่อเนื่องที่ 1,2,3

("Habitat@1"  < 0.3)* 1 + (("Habitat@1" >= 0.3) AND ("Habitat@1" < 0.6)) *2  + ("Habitat@1"  >=0.6)* 3

9

ด้วยตัวเลือกอินเทอร์เฟซขั้นสูงของกล่องเครื่องมือฉันใช้การจัดประเภทค่ากริดใหม่จาก SAGA GIS ซึ่งเป็นเครื่องมือที่ใช้งานง่ายด้วยตัวเลือกการจัดประเภทใหม่ตามค่าเดียวช่วงและการใช้ตาราง

ฉันชอบสิ่งนี้มากกว่า r.reclass เพราะคุณไม่ต้องสร้างไฟล์เพิ่มเติม


5

วิธีที่ง่ายกว่าคือการใช้ GRASS (เช่นการใช้ปลั๊กอิน QGIS / GRASS) และโมดูล r.reclass

คุณจะต้องสร้างไฟล์กฎการจัดประเภทใหม่ซึ่งคุณสามารถใช้คำหลัก "ถึง" หรือสัญลักษณ์ตัวแทน "*" เพื่อจัดประเภทใหม่หลายค่าในหนึ่งกฎ


คุณรู้หรือไม่ว่าไฟล์ตาราง reclass ควรมีลักษณะอย่างไรสำหรับเครื่องมือ GRASS
DPSSpatial


เยี่ยมมาก - ฉันต้องทำงานให้เร็วและเร็วจริงๆ ... ขอบคุณสำหรับสิ่งนี้!
DPSSpatial

2

ฉันเดาว่าโพสต์ของฉันไม่ตอบคำถามได้อย่างถูกต้อง แต่อาจให้ความช่วยเหลือได้บ้าง ฉันยังไม่พบวิธีง่ายๆในการทำเช่นนี้ใน QGIS เช่น Bryce ฉันใช้โมดูล GRASS อย่างไรก็ตามหากมี ArcGIS แต่ไม่มี Spatial Analyst ก็เป็นอีกเครื่องมือที่ยอดเยี่ยม: GME ( http://www.spatialecology.com/gme/ ) มันขึ้นอยู่กับ ArcGIS และ R และมีคุณสมบัติที่ยอดเยี่ยมมากมายโดยหนึ่งในนั้นกำลังจัดหมวดหมู่ใหม่ ที่นี่เช่นเดียวกับใน GRASS คุณต้องสร้างไฟล์ข้อความที่มีคำจำกัดความของชั้นเรียน ฉันใช้ ArcMap เพื่อดูภาพแรสเตอร์ที่เป็นปัญหาในรูปแบบต่างๆก่อนเพื่อให้ได้แนวคิดที่ดีขึ้นว่าข้อมูลมีลักษณะอย่างไร จากนั้นฉันได้กำหนดคลาสใหม่ตามข้อมูลนั้น มันทำงานเหมือนมีเสน่ห์สำหรับฉัน ฉันไม่รู้ว่า GME จะทำงานบนระบบที่ไม่มี ArcGIS หรือไม่ฉันอยากรู้อยากเห็น


1

ตอนนี้ QGIS มีอัลกอริธึม raster ที่จัดประเภทใหม่สองชุด

จัดประเภทใหม่โดยเลเยอร์ - อนุญาตให้คุณใช้เวกเตอร์เลเยอร์เพื่อกำหนดช่วงของคุณ

จัดประเภทใหม่ตามตาราง - ทำงานคล้ายกับเครื่องมือ ArcGIS raster จัดประเภทเครื่องมือวิเคราะห์เชิงพื้นที่

เหล่านี้ถูกเพิ่มเข้ามาใน QGIS 3.2 ดูบันทึกการเปลี่ยนแปลงที่นี่


0

เครื่องคิดเลข Raster เป็นทางออกที่ดีที่สุดของคุณหากคุณไม่ชอบอินเตอร์เฟสหญ้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.