R:从栅格对象计算窗台,范围和块

我需要从栅格图层计算窗台,范围和块。 我已经探索了gstat,usdm软件包,可以创建变差函数,但是我没有找到一个给定栅格图层的函数来估计这些参数。在大多数函数中,这些参数必须被定义,例如。 krigging。

我有不同高度的栅格数据图​​层,看起来类似于 在这里输入图像描述

我希望得到适合这些数据层的半变异函数参数的基石,金块和范围,以创建一个与此类似的情节: 在这里输入图像描述

原始数据层在这里可用作多频段tiff。 下面是本文的一幅图,它进一步说明了这个概念。

在这里输入图像描述


使用gstat,这里是一个例子:

library(raster)
library(gstat)
demo(meuse, ask = FALSE, echo = FALSE)
set.seed(131) # make random numbers reproducible
# add some noise with .1 variance
meuse.grid$dist = meuse.grid$dist + rnorm(nrow(meuse.grid), sd=sqrt(.1))
r = raster(meuse.grid["dist"])
v = variogram(dist~1, as(r, "SpatialPixelsDataFrame"))

(f = fit.variogram(v, vgm("Sph")))
#   model      psill    range
# 1   Nug 0.09035948    0.000
# 2   Sph 0.06709838 1216.737

f$psill[2] # sill
# [1] 0.06709838

f$range[2] # range
# [1] 1216.737

f$psill[1] # nugget
# [1] 0.09035948

插入你自己的光栅r ,它应该工作。 改变Sph以适应另一个变异函数模型,尝试plot(v,f)来验证绘图。


这只是一个猜测。 这是我如何估计半方差

其中n是它们的平均值小于总平均值的层数。 m是所有层的总平均值。 r是每层的均值低于总平均值。

s <- stack("old_gap_.tif")
m <- cellStats(mean(s), stat="mean", na.rm=T) # 0.5620522
r <- m[m < 0.5620522]
sem <- 1/53 * (0.5620522 - r)^2
plot(sem, r)
链接地址: http://www.djcxy.com/p/90789.html

上一篇: R: Calculate sill, range and nugget from a raster object

下一篇: Installing unsigned XPIs in Firefox for Android version 42 or newer