Tôi đang cố gắng chuyển đổi một shapefile thành một raster trong R. Cách tiếp cận của tôi là đọc trong raster như sau:
library(rgdal) # Loads SP package by default
demo <- readOGR('F:/data/', 'shapefile') # Creates a SpatialPolygonsDataFrame class (sp)
Điều này hoạt động tốt, và tôi có thể vẽ nó. Tuy nhiên nó là một shapefile lớn và tôi muốn chuyển đổi nó thành một raster. Tôi đã thử như sau:
r <- raster(ncol=180, nrow=180)
Demo_ras = rasterize(r, demo, 'pop') # pop is an integer here
Thông báo lỗi:
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "rasterize", for signature "RasterLayer", "SpatialPolygonsDataFrame"
Tôi hơi bối rối đó là thứ tự đúng của các đối số. Tôi cũng đã thử điều này:
Demo_ras = rasterize(demo, r, 'pop')
Kết quả nào xảy ra lỗi sau:
Error in .polygonsToRaster(x, y, ...) :
polygon and raster have no overlapping areas
Mặc dù có ý nghĩa rằng raster không thể được tạo cho một khu vực không bao gồm SpatialPolygonsDataFrame
, nhưng tôi không chắc chắn tôi cần chỉ định thông tin gì để raster nên chứa SpatialPolygonsDataFrame
khu vực đó.