使 Maxent 的环境栅格层相同的问题

Issue with making environmental raster layers identical for Maxent

我有九个栅格图层 (.tif),每个栅格图层都需要具有相同的范围、分辨率和 CRS 才能在 Maxent 中工作。 我尝试将每一层转换为相同的 CRS,并将它们转换为 QGIS 中的 .asc 格式。 之后,我尝试对 R 中的图层重新采样以匹配其中一个图层,但这会导致错误,例如范围不重叠。 我的问题是如何匹配所有这些层以便继续使用 Maxent 并在 R 中使用 'stack' 函数?

这是包含栅格的 zip 文件:https://drive.google.com/file/d/1lle95SPdQ7FyQSbFoFvmAzyuO2HUt7-L/view?usp=sharing

所以最初的问题是使用 raster 包中的 'crs' 函数设置 crs(我还没有使用新的 terra 包)。然后你需要重新投影到相同的 crs 中。下一步是对栅格重新采样,使它们都具有相同的像元分辨率和大小。最后你可以把它们放在一个堆栈中。我很匆忙,所以我没有很好地评论,但如果您有任何问题,请告诉我。最后一点是基岩文件。您需要先使用 QGIS 或其他程序对其进行地理配准。尝试找到一张与它看起来相似的已知投影的地图。

library(raster)
ls = list.files(".",pattern ="tif")
ls = ls[-which(ls == "bedrock.tif")]
r  = lapply(ls,raster)
names(r) = ls
wgs84 = "+proj=longlat +datum=WGS84 +no_defs"
ETRS = "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"

crs(r$wc2.1_2.5m_bio_1.tif) = wgs84
crs(r$wc2.1_2.5m_bio_12.tif) = wgs84
crs(r$wc2.1_2.5m_elev.tif) = wgs84
crs(r$SBPC1.tif) = ETRS
crs(r$SBPC2.tif) = ETRS
crs(r$SPPC1.tif) = ETRS
crs(r$SPPC2.tif) = ETRS
crs(r$U2018_CLC2018_V2020_20u1.tif) = ETRS
# aggregate for faster processing -- you'll want to change this, but my machine couldn't process it
ra <- lapply(r,aggregate,fact=10, fun=max)
# not all need to be reprojected - this is me being lazy
rp = lapply(ra,projectRaster, crs = ETRS)

# resample rasters to match
sapply(rp,area)
rpr = lapply(rp,resample, y = rp$SBPC1.tif)
sapply(rpr,area)
rs = stack(rpr)
plot(rs)