ฉันใหม่สำหรับ R และใช้แพ็คเกจแรสเตอร์ ฉันมีปัญหาในการแยกรูปหลายเหลี่ยมจากไฟล์แรสเตอร์ที่มีอยู่ ถ้าฉันใช้
extract(raster, poly_shape)
ฟังก์ชั่นบนแรสเตอร์มันมักจะสร้างรายการที่มีข้อมูล สิ่งที่ฉันต้องการคือการแยกไฟล์แรสเตอร์อื่นที่ฉันสามารถโหลดด้วย ArcGIS อีกครั้ง หลังจากอ่านอีกเล็กน้อยฉันคิดว่าฟังก์ชั่นการครอบตัดคือสิ่งที่ฉันต้องการจริงๆ แต่เมื่อลองใช้ฟังก์ชั่นนี้
crop(raster, poly_shape)
ฉันได้รับข้อผิดพลาดนี้:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
ไฟล์ raster และ poly_shape เหมือนกันทั้งสองฟังก์ชั่น คุณช่วยบอกฉันทีว่าอะไรที่นี่ผิด มันถูกต้องไหมที่ฟังก์ชั่นการครอบตัดสร้างอีกแบบแรสเตอร์และไม่ใช่รายการ?
แก้ไข : ฟังก์ชั่นขอบเขต () ไม่ทำงานสำหรับฉัน ฉันยังคงได้รับข้อผิดพลาดเดียวกัน แต่ฉันแน่ใจว่าชุดข้อมูล 2 ชุดทับซ้อนกัน! กับ
extract(raster, poly_shape)
ฉันได้รับข้อมูลที่ถูกต้องจากมัน เช่นเดียวกับรายการและไม่ใช่แรสเตอร์อย่างที่ฉันต้องการ ฉันเพิ่งโหลดชุดข้อมูลใน ArcGIS มาก่อนและพวกมันก็พอดีมากดังนั้นฉันจึงไม่ได้ตรวจสอบการฉาย ตอนนี้ฉันพยายามแล้ว
projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"
projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
และคุณจะเห็นได้ว่าการคาดการณ์ไม่เหมาะสม ฟังก์ชั่นแตกไฟล์ดูเหมือนจะสามารถแปลงไฟล์โดยอัตโนมัติในวิธีที่ถูกต้อง ฉันรู้ว่าเพราะฉันทำต่อไปนี้:
- ฉันตัดส่วนที่แน่นอนของรูปหลายเหลี่ยมที่ฉันแยกใน R ออกมาใน ArcGIS ด้วย
- ฉันคำนวณผลรวมของค่าทั้งหมดของรูปหลายเหลี่ยม R ที่แยกแล้ว (รายการ)
- ฉันคำนวณผลรวมของเซลล์แรสเตอร์ทั้งหมดที่ฉันตัดออกใน ArcGIS
2 มีผลลัพธ์เดียวกันแน่นอนดังนั้นฉันเดาว่าข้อสรุปควรเป็นว่าฟังก์ชันการแยกทำงานได้ถูกต้อง ตอนนี้ฉันมี 2 ตัวเลือกฉันเดา:
- ฉันต้องการวิธีที่จะนำ Raster ออกจากรายการที่แยกอีกครั้งหรือ
- ชุดข้อมูล 2 ชุด (raster + poly_shape) จำเป็นต้องใช้การปฏิเสธแบบเดียวกันและฟังก์ชันการครอบตัดควรทำงาน
คุณอยากแนะนำให้ทำอะไรที่นี่?