Проблема с загрузкой и укладкой растровых слоев окружающей среды в R

Я пытаюсь загрузить кучу растровых слоев окружающей среды в R для SDM. Они имеют одинаковый экстент, размер в пикселях и т. Д., И большинство моих слоев загружаются нормально, а мои слои BIOCLIM - нет.

Я смог построить каждый слой, и он выглядел хорошо, но когда я сложил их вместе, я получил эту ошибку:

In.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-файла.

1 ответ

все, что я сделал, это загрузил каждый слой из 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) 

А теперь иди кофе. Процесс должен быть сделан, когда вы вернетесь.

Другие вопросы по тегам