【发布时间】:2019-07-01 00:54:51
【问题描述】:
我正在尝试计算 R 中分类栅格数据集中的多数值,例如使用土地覆盖数据。这类似于 ArcGIS 中使用多数统计的焦点统计工具。我可以使用矩形移动窗口和模态函数计算大部分土地覆盖类型:
library(raster)
# create data
r <- raster(nrows = 120, ncol = 120, xmn=0)
r[] <- sample(3, ncell(r), replace=TRUE)
a<-focal(r, w=matrix(1,3,3), fun=modal) # 3x3 moving window
plot(a)
但是,当我应用焦点权重来定义我的圆形移动窗口时,输出值似乎被视为连续数字而不是离散值,即使我将栅格转换为因子:
#convert to a factor factor
r.f<-as.factor(r)
#set up window
fw <- focalWeight(r.f, 4.5, type='circle')
#apply focal fxn
r.f.focal<-focal(r.f, w=fw, fun=modal, na.rm=TRUE)
似乎零可能会添加到分析中,这就是造成问题的原因。谁能引导我朝着正确的方向前进?
【问题讨论】:
-
您的栅格 crs 当前位于“+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0”中。如果你将 focusWeight 中的 d 减少到类似于“0.001”的值,结果看起来还不错。
-
感谢@PhilippGärtner。我没有注意 crs - 这只是我为一个可重现的例子而努力的。当我对我的预计土地覆盖数据执行焦点功能时,我仍然遇到问题。
标签: r raster categorical-data