我有一个大的(266,000 个元素,1.7Gb)SpatialPolygonsDataFrame,我尝试将其转换为 90m 分辨率的 RasterLayer(~100,000,000 个单元格)
SpatialPolygonsDataFrame 有 12 个我感兴趣的变量,因此我打算制作 12 个 RasterLayers
目前,使用rasterize()
,每次转换大约需要 2 天。因此,预计总处理时间将近一个月。
谁能建议一个更快的过程?我认为这在 ArcMap 中会快 10-40 倍,但我想在 R 中进行以保持一致,这是一个有趣的挑战!
通用代码
######################################################
### Make Rasters
######################################################
##Make template
r<-raster(res=90,extent(polys_final))
##set up loop
loop_name <- colnames(as.data.frame(polys_final))
for(i in 1:length(loop_name)){
a <-rasterize(polys_final, r, field=i)
writeRaster(a, filename=paste("/Users/PhD_Soils_raster_90m/",loop_name[i],".tif",sep=""), format="GTiff")
}