用所需的名称字符串编写栅格时出现问题

时间:2019-03-19 03:14:36

标签: r raster

我有数量众多的目录,其名称如const {expect} = require('chai'); describe('addId', () => { it('should add an appropriate id to `user.data.id`', () => { const user = {data: {}}; addId({name: 'Annie'})(user); expect(user.data.id).to.match(/^ANNIE[A-Z\d]{18}$/); }); }); ,然后我希望将每个目录名的所需部分传递给栅格名称"xxxxxxxx2019.01.01"。但是,栅格名称突然改变,这有时会导致某些名称被覆盖!

为什么会这样?有人可以帮我解决这个问题吗? 以下是我的脚本的简化版本:

"myRas_..."

然后输出令人惊讶地保存为library(raster) set.seed(1234) #setting working directory setwd(dirname(rstudioapi::getActiveDocumentContext()$path)) # create data r <- raster(nrows = 120, ncol = 120, xmn=0) r[] <- sample(3, ncell(r), replace=TRUE) dlist <- "xxxxxxxx2019.01.01" # Write results myRas_... raster::writeRaster(r, file.path(getwd(), paste0("myRas_", stringr::str_sub(dlist,-10,-1), collapse = "")), format = "GTiff", overwrite=TRUE) ,而不是myRas_2019.01.tif

1 个答案:

答案 0 :(得分:2)

这可能是由于点(。)引起的,可以通过使用gsub或类似的东西替换点来避免。也许其他人可以告诉您一种保持点滴的方法。

# Write results
raster::writeRaster(r,  
                    file.path(getwd(), paste0("myRas_", gsub("\\.", "_", as.character(stringr::str_sub(dlist,-10,-1))))), 
                    format = "GTiff", overwrite=TRUE)