如何解决R 中的区域统计数据与 GIS 中的一样对于点,而不是多边形
我在一个文件夹中有多个栅格。我需要在一个像素上提取每个栅格的平均值(我做点并注意多边形)。
它说提取物也可以用于点、线和多边形。 但是对于函数(乐趣 = 平均)。我想通过这种方法知道,是否必须强制执行 fun='mean' ?因为我的 shapefile 中有点而不是多边形...? 这些点位于我栅格的每个像素上
你能帮我吗?谢谢
这是我想做的代码:
test <- list.files("my_path",pattern = "\\.tif$",full=TRUE)
STACK <- stack(ff)
SHAPE <- shapefile("my_path/supplimentY.shp")
extr <- extract(STACK,SHAPE,*fun='mean'*,na.rm=TRUE,df=TRUE)
解决方法
来自 extract
示例:
library(raster)
r <- raster(ncol=36,nrow=18,vals=1:(18*36))
###############################
# extract values with points
###############################
xy <- cbind(-50,seq(-80,80,by=20))
sp <- SpatialPoints(xy)
raster::extract(r,sp)
来自文档:
如果 y 表示点,则仅在使用缓冲区时才使用 fun
因此您不应为 fun
参数提供函数,因为没有要汇总的值,因为点落在堆栈中每一层的一个像素中。
如果您想要点附近值的摘要,您可以指定每个点周围的缓冲区半径,使用 buffer
参数从中提取单元格值。或者您可以将 method
参数更改为 'bilinear',这样返回的值是从四个最近的栅格单元格的值中插入的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。