มีฟังก์ชั่น“ Tabulate Area” ใน QGIS หรือไม่?


9

ฉันมีไฟล์แรสเตอร์เกี่ยวกับการใช้ที่ดินในภาคเหนือของอิตาลี (พืชผล / เขตเมือง ฯลฯ )

ฉันได้กำหนดเขตบัฟเฟอร์ไว้รอบ ๆ จุดที่กำหนดของเวกเตอร์เลเยอร์และฉันต้องการคำนวณ% ของพื้นที่เหล่านั้นที่ครอบครองโดยแต่ละค่าของไฟล์แรสเตอร์เพื่อประเมินการใช้งานโดยเฉลี่ยของพื้นที่ที่เลือก (เช่น พืช 70%, 30% ในเมือง, ฯลฯ .. )

ฉันรู้ว่าใน ArcGIS มีฟังก์ชั่น Spatial Analyst ที่เรียกว่า " Tabulate Area " แต่ฉันไม่พบคุณลักษณะดังกล่าวใน QGIS

หากใครสามารถช่วยฉันฉันจะขอบคุณมาก


1
Ricardo ยินดีต้อนรับสู่เว็บไซต์ของเรา! ฉันสงสัยว่าคุณตั้งใจจะเขียนคำว่า "QGIS" แทนที่จะเป็น "ArcGIS" เป็นครั้งที่สองหรือเปล่าเพื่อให้คำพูดของคุณควรอ่าน "ฉันรู้ว่าใน ArcGIS มีฟังก์ชั่น ... แต่ฉันไม่สามารถหาคุณสมบัติดังกล่าวใน QGIS."
whuber

ฉันไปข้างหน้าและแก้ไขข้อความคำถาม โปรดย้อนกลับหากฉันตีความคำถามของคุณผิด
underdark

@underdark ขอบคุณเพื่อนใช่นั่นคือสิ่งที่ฉันพูดถึงคือพิมพ์ผิด
Riccardo

@whuber ขอบคุณสำหรับการรายงานข้อผิดพลาด แต่ฉันก็ยังไม่ได้แก้ปัญหาของฉัน =) มันแปลกเพราะมันเป็นงานที่ง่ายมากและฉันมั่นใจว่ามีคุณสมบัติสำหรับมัน
Riccardo

คำตอบ:


1

ลองใช้ "Cross-Classification and Tabulation" ของ SAGA GIS จาก Sextante plugin

หวังว่าความช่วยเหลือนี้


1
สิ่งแรกที่คุณต้องติดตั้งผ่านตัวจัดการปลั๊กอิน (ดึงปลั๊กอินหลาม) ยกเว้นว่าคุณใช้รุ่นที่คอมไพล์ด้วยตัวเอง - มันถูกเพิ่มไปยังคอร์หลังจาก 1.8.0
lynxlynxlynx

0

ฉันได้เขียนโปรแกรมเสริมสำหรับ QGIS ชื่อ LecoS (ดูในโปรแกรมเสริมดาวน์โหลดปลั๊กอินทดลองติดตั้ง Scipy ก่อน!) มันสามารถบรรลุสิ่งที่คุณต้องการได้ (เปอร์เซ็นต์การครอบคลุมพื้นที่สำหรับแรสเตอร์ที่กำหนด) อย่างไรก็ตามจนถึงตอนนี้ฉันยังไม่พบเวลาในการเขียนรหัสรูปหลายเหลี่ยมซ้อนทับในไพ ธ อนดังนั้นคุณต้องตัดภาพแรสเตอร์แต่ละรายการ ดู USECASE ที่นี่


0

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

อีกรูปแบบหนึ่งก็คือรูปหลายเหลี่ยมของคุณ (โซนบัฟเฟอร์ของคุณ) จะต้องมีค่า int ถ้าไม่คุณต้องสร้างมันขึ้นมา (ด้วยสูตรเครื่องคิดเลข $ id + 1) ป้อนคำอธิบายรูปภาพที่นี่

ทำให้เวกเตอร์เลเยอร์ของคุณซ้ำโดยใช้รหัส int เป็นค่า raster ที่นี่คุณจะต้องใส่เงื่อนไข: ใช้ค่าพิกเซลเดียวกันและส่วนขยายเดียวกับแรสเตอร์ที่คุณต้องการดึงข้อมูล ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ใช้ Cross-Classification and Tabulation จากเครื่องมือ SAGA คุณต้องพิจารณาว่านี่จะเป็นการสร้างตาราง xy ที่มีจำนวนพิกเซลของแต่ละหมวดหมู่การใช้งานในแต่ละรูปหลายเหลี่ยม ที่นี่คุณจะต้องแทรก "จำนวนสูงสุดของคลาส" ตัวอย่างเช่นถ้าคุณมีแรสเตอร์ที่มี 10 หมวดหมู่และ 25 รูปหลายเหลี่ยมโพลิกอนของคุณจะเท่ากับ 25 ป้อนคำอธิบายรูปภาพที่นี่

นี่คือผลลัพธ์สุดท้าย: ตารางที่คุณมีจำนวนพิกเซลของแต่ละหมวดหมู่ในแต่ละรูปหลายเหลี่ยม หากคุณต้องการแปลงเป็นพื้นที่ให้คูณจำนวนเซลล์ด้วยความละเอียดของแรสเตอร์ของคุณ ป้อนคำอธิบายรูปภาพที่นี่


-2

เครื่องมือ Tabulated พื้นที่ตั้งอยู่ในกล่องเครื่องมือ Spatial Analyst ในส่วนเครื่องมือ Zonal สำหรับ ArcGIS 10 ไม่แน่ใจว่าคุณใช้เวอร์ชั่นใดอยู่ โปรดทราบว่าคุณต้องมีใบอนุญาตแยกต่างหากสำหรับส่วนขยาย Spatial Analyst เพื่อใช้เครื่องมือเหล่านั้น ดูเหมือนว่าเครื่องมือนั้นจะทำสิ่งที่คุณต้องการ

หวังว่าสิ่งนี้จะช่วย


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