我正在尝试创建 5 个光栅文件并使用单独的名称写入每个光栅文件。到目前为止,我已经成功实现了这一点:
c=5
for (i in 1:c){
z<-RFsimulate(x=x,y=y,grid=TRUE,model = model,maxGB=4.0)
a<-raster(z)
projection(a) <- "+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
writeRaster(raster(a),filename="raster[i].tif")
}
Run Code Online (Sandbox Code Playgroud)
但我在工作目录中只找到一个光栅文件(光栅 1)。我想我会有五个光栅文件名称 raster1、raster2.....raster5。谁能帮我看看我的代码有什么问题吗?
谢谢
这是一个非常基本的 R 问题。您可能应该用简单的循环练习一下。使用print语句来查看发生了什么。请注意,您创建了对象a但并未使用它。"raster[i].tif"是一个字符串,它与 iterator 没有关系i。这是一个解决方案:
n <- 5
for (i in 1:n){
z <- RFsimulate(x=x,y=y,grid=TRUE,model = model,maxGB=4.0)
a <- raster(z, crs="+proj=longlat +datum=WGS84")
f <- paste0('raster', i, '.tif')
writeRaster(a, filename=f)
}
Run Code Online (Sandbox Code Playgroud)