我正在为栅格做一些计算然后我想再写一次。
我的真实数据可以理解为:
dir2<- list.files("C:\\Users", "*.img", full.names = TRUE)
> dir2
[1] "C:\\Users\\fg05102012H_MEAN.img"
........
stackS <- stack(dir2)
示例数据:
r1 <- r2 <- r3 <- raster(nrows=10, ncols=10);
# Populate them with some values
r1 <- setValues(r1,runif(100,min=1,max=100));
r2 <- setValues(r2,runif(100,min=1,max=100));
r3 <- setValues(r3,runif(100,min=1,max=100));
# Stack them
st1 <- stack(r1,r2,r3)
x <- st1 * 0.3
d2 <- writeRaster(x, ' outputFile.envi ', bylayer=TRUE, overwrite=TRUE)
这将在我当前目录中将文件写为outputFile_1.envi outputFile_2.envi
等。
对我来说,我想返回原始栅格的相同名称,但是从.img to .envi
更改扩展名并将它们全部放在不同的目录中:
outputDir <- "C:\\data"
outputFile <- file.path(outputDir, basename(dir2))
关于我们如何做到这一点的任何想法?
答案 0 :(得分:2)
你可以这样做
outputDir <- "C:\\data"
outputFile <- file.path(outputDir, basename(dir2))
extension(outputFile) <- '.envi'
d2 <- writeRaster(x, outputFile, bylayer=TRUE)