r - 使用所需名称字符串编写栅格时出现问题
问题描述
我有大量的目录名称,例如"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
,而不是myRas_2019_01_01.tif
。
解决方案
这可能是由于点 (.) 而发生的,可以通过使用gsub
或类似的东西替换点来避免。也许其他人可以向您展示一种保留点的方法。
# Write results
raster::writeRaster(r,
file.path(getwd(), paste0("myRas_", gsub("\\.", "_", as.character(stringr::str_sub(dlist,-10,-1))))),
format = "GTiff", overwrite=TRUE)
推荐阅读
- python - DuplicateWidgetID:有多个相同的 st.selectbox 小部件
- python - python中可能存在的错误。创建装饰器自动生成属性
- sql - MS Access:查询中的编号
- discord - 检查玩家是否被禁止、踢出或刚刚离开服务器
- python - 在函数“inRange”中(-215:断言失败)!_src.empty()
- python - 如何将python变量放入SQL语句?
- javascript - CSS 位置:sticky 在向上滚动和向下滚动时表现不同
- java - 如何使用 DateTimeFormatter 解析“Feb 25”和“February 25”?
- c++ - 如果模板参数很复杂,则在模板函数中应用 std::conj
- reactjs - 反应材料容器页眉主要和页脚它未使用页眉中的 flexbox 对齐