-1

我正在尝试将一堆环境栅格图层上传到 R 中以用于 SDM。它们的范围、像素大小等都是相同的,而且我的大多数图层都可以正常上传,但我的 BIOCLIM 图层不是。

我能够绘制每一层并且看起来不错,但是当我将它们堆叠在一起时,我得到了这个错误:

在 .makeRasterList(rlist) 中:忽略没有数据的层

当我查看我的堆栈时,我的 19 层中只有一个在那里。我假设这个错误意味着我的一些像素没有数据,但我不知道如何解决这个问题 - 有什么想法吗?

编辑: 我不确定这是否是 arcmap 或 R 中的问题(我相信它可能是前者,因为我的其他非气候层工作)。这是我的 19 层之一的代码:

ann_mean_temp <- 'ann_mean_temp3.tif'   
ann_mean_temp=brick(ann_mean_temp)   
plot(ann_mean_temp) 

ann_mean_temp  
class       : RasterBrick   
dimensions  : 785, 887, 696295, 1  (nrow, ncol, ncell, nlayers)  
resolution  : 1000, 1000  (x, y)  
extent      : 936315.5, 1823316, -341835.1, 443164.9  (xmin, xmax, ymin, 
ymax)  
coord. ref. : +proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 
+y_0=0 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0   
data source : C:\Users\Anna\Documents\ArcGIS\R\ann_mean_temp3.tif   
names       : ann_mean_temp3   
min values  :             57   
max values  :            155 

climate <- stack(ann_mean_temp, diurnal_range, Isothermality, 
             temp_seasonality, max_temp_warmest, min_temp_coldest,
             temp_range, temp_wettest, temp_driest,
             mean_temp_warmest, mean_temp_coldest, ann_precip,
             precip_wettest_m, precip_driest_m, precip_seasonality,
             precip_wettest_q, precip_driest_q, precip_warmest,
             precip_coldest)

我现在收到此错误: compareRaster(x) 中的错误:不同的数字或列

我还应该提到,在 arcmap 中,我所做的只是从 BIOCLIM 下载每个图层,对其进行投影,通过蒙版提取以将每个图层剪辑到我的研究区域,然后将其导出为 tif 文件。

4

1 回答 1

0

我所做的只是从 BIOCLIM 下载每一层,对其进行投影,通过蒙版提取以将每一层剪辑到我的研究区域,然后将其导出为 tif 文件。

这应该没问题,但是您必须确保 ArcMap 不会更改栅格原点和分辨率,这很难做到(检查环境设置)。

或者,在 R 中执行所有这些步骤。

f <- list.files(pattern="bio")
s <- stack(f)

e <- extent(c(936315.5, 1823316, -341835.1, 443164.9))
r <- raster(nrow=758, ncol=887, ext=e, res=1000, crs="+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83")

y <- projectRaster(s, r) 

现在去喝杯咖啡。这个过程应该在你回来时完成。

于 2017-11-28T17:26:22.990 回答