计算后如何return同名栅格?
How to return the same name of raster after calculations?
我正在对栅格进行一些计算,然后我想重新编写它们。
我的真实数据可以读作:
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
等文件。
对我来说,我想 return 与原始栅格的名称相同,但将扩展名从 .img to .envi
更改为并将它们全部放在不同的目录中:
outputDir <- "C:\data"
outputFile <- file.path(outputDir, basename(dir2))
知道我们如何做到这一点吗?
你可以这样做
outputDir <- "C:\data"
outputFile <- file.path(outputDir, basename(dir2))
extension(outputFile) <- '.envi'
d2 <- writeRaster(x, outputFile, bylayer=TRUE)
我正在对栅格进行一些计算,然后我想重新编写它们。
我的真实数据可以读作:
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
等文件。
对我来说,我想 return 与原始栅格的名称相同,但将扩展名从 .img to .envi
更改为并将它们全部放在不同的目录中:
outputDir <- "C:\data"
outputFile <- file.path(outputDir, basename(dir2))
知道我们如何做到这一点吗?
你可以这样做
outputDir <- "C:\data"
outputFile <- file.path(outputDir, basename(dir2))
extension(outputFile) <- '.envi'
d2 <- writeRaster(x, outputFile, bylayer=TRUE)