光栅 IO 期间失败,当从光栅堆栈中获取值以获取光栅之间的相关性时,在 R 中

问题描述

我想计算两叠栅格之间的相关性。对于相关性,我在这里遵循此代码https://www.reddit.com/r/rstats/comments/8c4tnv/correlation_coefficient_using_stacked_rasters_in_r/

但是在应用函数值时出现以下错误

Error in rgdal::getRasterData(con,offset = offs,region.dim = reg,band = object@data@band) : 
  Failure during raster IO

我尝试了在 stackoverflow 中发布的几种解决方案,但我无法弄清楚可能是什么问题。我更改了栅格的范围,因为它们应该具有相同的范围以将它们放入堆栈中。这是我的代码(最后我用 gdalinfo() 包含了错误信息):

setwd("C:/estudio_moteado/imagenes_proc_control_VV")
temp_control<-list.files("C:/estudio_moteado/imagenes_proc_control_VV",pattern="\\.tif")

allrasters_control <- lapply(temp_control,raster) #load all rasters in R

setwd("C:/estudio_moteado/imagenes_proc_Boxcar_VV")
temp_Boxcar<-list.files("C:/estudio_moteado/imagenes_proc_Boxcar_VV",pattern="\\.dim.tif")

allrasters_Boxcar <- lapply(temp_Boxcar,raster)

#control
raster_extents<-lapply(allrasters_control,raster::extent)
bb<-do.call(raster::merge,raster_extents)
for(i in 1:length(allrasters_control)){
  allrasters_control[[i]]<-setExtent(allrasters_control[[i]],bb,keepres = T)
}
#Boxcar
raster_extents<-lapply(allrasters_Boxcar,raster_extents)
for(i in 1:length(allrasters_Boxcar)){
  allrasters_Boxcar[[i]]<-setExtent(allrasters_Boxcar[[i]],keepres = T)
}

#create stacks

allrasters_control<-stack(allrasters_control)
allrasters_Boxcar<-stack(allrasters_Boxcar)

#get values from allrasters_control:

listvalues<-values(allrasters_control)
Error in rgdal::getRasterData(con,band = object@data@band) : 
  Failure during raster IO

gdalinfo(allrasters_control)
[1] "ERROR 4: brick(ncol=3233,nrow=2347,nl=36,xmn=588864.344361695,xmx=621194.344361695,ymn=4684031.07993812,ymx=4707501.07993812,crs='+proj=utm +zone=30 +datum=wgs84 +units=m +no_defs'): No such file or directory"
[2] "gdalinfo Failed - unable to open 'brick(ncol=3233,crs='+proj=utm +zone=30 +datum=wgs84 +units=m +no_defs')'."
attr(,"status")
[1] 1
Warning message:
In system(cmd,intern = TRUE) :
  running command '"C:\Program Files\QGIS 3.14\bin\gdalinfo.exe" "brick(ncol=3233,crs='+proj=utm +zone=30 +datum=wgs84 +units=m +no_defs')"' had status 1

gdalinfo(allrasters_control[[1]])
[1] "ERROR 4: raster(ncol=3233,crs='+proj=utm +zone=30 +datum=wgs84 +units=m +no_defs'): No such file or directory"
[2] "gdalinfo Failed - unable to open 'raster(ncol=3233,intern = TRUE) :
  running command '"C:\Program Files\QGIS 3.14\bin\gdalinfo.exe" "raster(ncol=3233,crs='+proj=utm +zone=30 +datum=wgs84 +units=m +no_defs')"' had status 1

我认为问题与更改栅格范围有关? 但是,当使用相同的栅格堆栈和带有函数“exact_extract”的 shapefile 时,我没有收到该错误

预先感谢您的帮助, 干杯!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)