更改栅格图层中的NA值并在多个图层中循环

时间:2015-11-30 11:55:52

标签: r loops raster r-raster

我想使用R中的-1包在我的ascii图层中将NA值更改为raster值(-9999) 我知道如何使用一个ascii图层执行此操作,但希望在多个图层中重复此操作。我想将输出文件命名为输入文件。 这是我的代码:

asc <- raster("DAAC_AWC_CLASS.asc")

NAvalue(asc) <- -1

writeRaster(asc, filename="C:/Users/xblajo/Desktop/New folder/2/DAAC_AWC_CLASS.asc", 
            format="ascii", na.value=-9999)

1 个答案:

答案 0 :(得分:1)

我对这个软件包一无所知,但你应该能够通过循环做你想做的事情:

setwd("C:/Users/xblajo/Desktop/New folder/2")
file_names <- list.files(pattern = '*.asc')

for (i in 1:length(file_names)){

    asc <- raster(file_names[i])

    NAvalue(asc) <- -1

    writeRaster(asc,
                filename = file_names[i], 
                format="ascii",
                na.value=-9999)
}