ฉันพยายามแปลง Shapefile เป็นแรสเตอร์ภายใน R วิธีการของฉันคือการอ่านในแรสเตอร์ดังต่อไปนี้:
library(rgdal) # Loads SP package by default
demo <- readOGR('F:/data/', 'shapefile') # Creates a SpatialPolygonsDataFrame class (sp)
มันใช้งานได้ดีและฉันสามารถลงจุดได้ อย่างไรก็ตามมันเป็นไฟล์รูปร่างขนาดใหญ่และฉันต้องการแปลงให้เป็นแรสเตอร์ ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:
r <- raster(ncol=180, nrow=180)
Demo_ras = rasterize(r, demo, 'pop') # pop is an integer here
ข้อความผิดพลาด:
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "rasterize", for signature "RasterLayer", "SpatialPolygonsDataFrame"
ฉันสับสนเล็กน้อยซึ่งเป็นลำดับที่ถูกต้องของข้อโต้แย้ง ฉันเคยลองแล้ว:
Demo_ras = rasterize(demo, r, 'pop')
ซึ่งส่งผลให้เกิดข้อผิดพลาดการติดตาม:
Error in .polygonsToRaster(x, y, ...) :
polygon and raster have no overlapping areas
ในขณะที่เหมาะสมที่ไม่สามารถสร้างแรสเตอร์สำหรับพื้นที่ที่ไม่ครอบคลุมSpatialPolygonsDataFrame
แต่ฉันไม่แน่ใจว่าข้อมูลใดที่ฉันต้องระบุเพื่อให้แรสเตอร์ควรมีSpatialPolygonsDataFrame
พื้นที่