我希望你能帮助我解决我已经有一段时间的问题。我需要为 MaxEnt 制作一个偏差文件,为此我使用了本教程:https ://scottrinnan.wordpress.com/2015/08/31/how-to-construct-a-bias-file-with-r- for-use-in-maxent-modeling/并将其更改为我自己的情况。然而,我现在卡住了......
我需要使用 kde2d 函数来创建 2d 内核密度估计,然后将其转换为栅格。但是,创建的栅格具有不同的 x 和 y 分辨率。这是一个问题,因为我必须在 MaxEnt 中使用它,它不会接受不相等的 x 和 y 分辨率。
这就是我所做的:
biasraster <- raster("file.tif") #load raster with all the occurrences
presences <-which(values(biasraster)==1)
pres.locs<- coordinates(biasraster)[presences,]
dens <-kde2d(pres.locs[,1],pres.locs[,2],n=c(nrow(biasraster),ncol(biasraster))) #2d kernel density function on the biasraster
dens.ras<-raster(dens) #create raster from kde2d function
对于 x 和 y,biasraster 的原始分辨率均为 0.00833333,但 dens.ras 的分辨率已更改为 0.0104052、0.00833333 (x,y)(因此 y 分辨率是正确的)。
从问题中可能可以看出,在编码(r)方面,我是一个完全的菜鸟。我一直试图弄清楚大约一个星期要做什么,但我找不到任何似乎有效的答案,所以我希望这里有人可以帮助我。