library(raster)
library(gdistance)
r <- raster(nrows=3, ncols=4, xmn=0, xmx=7, ymn=0, ymx=6, crs="+proj=utm +units=m")
r[] <- c(2, 2, 1, 1,
2, 2, 4, 4,
2, 1, 1, 4)
par(mar=c(2,2,2,2))
plot(r)
text(r)
那么如果我们要求算四个方向上的平均值,注意是四个方向上的,不是8个方向的。
T <- transition(r, function(x) mean(x), 4,symm=F)
plot(raster(T))
text(raster(T), digit=2)
对于左上角的结果值是如下计算的,2= (mean(c(2,2))+mean(c(2,2)))/2得到的,1.83 = (mean(c(2,2))+mean(c(2,2))+mean(c(2,1)))/3得到的,
1.67 = (mean(c(1,2))+mean(c(1,4))+mean(c(1,1)))/3,其他的都是可以这样推出来的。
那么如下的运算,得到的结果如何解释呢
am = function(x) max(x)
T <- transition(r,am, 4,symm=F)
为方便,左图为原始图层,显然右侧的值可以计算如下
左上角的2 = (max(c(2,2) + max(c(2,2))/2;
第一行第二列的2 =(max(c(2,2)) + max(c(2,2)) + max(c(2,1)))/3
第一行第三列的2.33 = (max(c(1,2) + max(c(1,4)) + max(c(1,1))))/3
https://gis.stackexchange.com/questions/280593/understanding-the-values-from-transition-layers-produced-by-the-r-package-gdist