将多个光栅图写入 .png

Write multiple raster plots as .png

我在 R 中读取多个 .tif 文件,并将小于 6000 的光栅值转换为 NA,然后绘制光栅并将其作为 .png 保存在文件夹中。一切正常,除了输出 png 光栅图为空。这是我正在使用的代码 -

library(raster)

#get the path
path <- "C:/lab/fire/photo_2/gif_images/gif_images_2"

#list all files
files <- list.files(path, pattern = "tif$", full.names = TRUE)
files
for (i in 1:length(files)){
  # load one raster
  r <- raster(files[i])
  values(r)[values(r) < 6000] = NA
  png(paste("plot_", i, ".png", sep = ""), width=600, height=500, res=120)
  plot(r)
  dev.off()
}

我可以很容易地在单个栅格上执行此操作,但需要 运行 循环来解释 300 个 .tifs。

您必须 print 您的绘图才能使其在 png 中可见: 假数据的例子:

library(raster)

r <- s <- t <- u <- v <- z <- raster()
r[] <- s[] <- t[] <- u[] <- v[] <- z[] <- 1:ncell(r)
rast.list <- list(r,s,t,u,v,z)

for (i in 1:length(rast.list)){
 r <- rast.list[[i]]
 r <- clamp(r, -Inf, 6000)
 png(paste("plot_", i, ".png", sep = ""), width=600, height=500, res=120)
 print(plot(r))
 dev.off()
}