r 中的栅格范围不适用于地形协变量和彩色图像 tif

问题描述

所以我尝试做一些我在这里读过的关于多个栅格的例子。我在 r 上使用随机森林来制作一些预测图。到目前为止,我的地形协变量已经奏效(相对坡度位置、佐贺湿度指数......)。我要添加三个新的红色、绿色和透明图像。在我执行栅格堆栈命令后,它给了我这个错误“compareRaster(x) 中的错误:不同程度”下面是栅格的数据信息和我使用的代码

library(raster)
catch <- raster("Catchment Slope.tif")
EM <- raster("EM_data_April_14.tif")
red.2 <- raster("red_re1.tif"  )
green.2 <- raster("green1.tif" )
trans <- raster("extmskres1.tif" )

这是栅格

red.2
#class      : RasterLayer 
#band       : 1  (of  4  bands)
#dimensions : 246,435,107010  (nrow,ncol,ncell)
#resolution : 1.219202,1.219202  (x,y)
#extent     : 285721.7,286252.1,3732915,3733215  (xmin,xmax,ymin,ymax)
#crs        : +proj=utm +zone=17 +datum=wgs84 +units=m +no_defs 
#source     : D:/IHF_Research/spectral image/resampled files/clipped from #arc/red_re1.tif 
#names      : red_re1 
#values     : 155,255  (min,max)

trans
#class      : RasterLayer 
#band       : 1  (of  4  bands)
#dimensions : 246,ymax)
#crs        : +proj=utm +zone=17 +datum=wgs84 +units=m +no_defs 
#source     : D:/IHF_Research/spectral image/resampled files/clipped from arc/extmskres1.tif 
#names      : extmskres1 
#values     : 24,max)

green.2
#class      : RasterLayer 
#band       : 1  (of  4  bands)
#dimensions : 246,ymax)
#crs        : +proj=utm +zone=17 +datum=wgs84 +units=m +no_defs 
#source     : D:/IHF_Research/spectral image/resampled files/clipped from arc/green1.tif 
#names      : green1 
#values     : 155,max)

saga
#class      : RasterLayer 
#dimensions : 272,417,113424  (nrow,y)
#extent     : 285741.7,286250.1,3732893,3733225  (xmin,ymax)
#crs        : +proj=utm +zone=17 +datum=NAD83 +units=m +no_defs 
#source     : D:/IHF_Research/RandomForest/saga.tif 
#names      : saga 
#values     : 0.580749,9.365674  (min,max)

我收到此错误

rasstack <- stack(rsp,saga,topo,tca,valley,catch,red.2)
#"Error in compareRaster(x) : different extent" 

解决方法

saga 与您显示的其他栅格的范围不同。你可以这样看

library(raster)
e <- extent(285721.7,286252.1,3732915,3733215)
esaga <- extent(285741.7,286250.1,3732893,3733225)
plot(union(e,esaga),type="n")
lines(e,col="red")
lines(esaga,col="blue")

您也许可以使用裁剪/扩展的组合,否则您可以使用重新采样