微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R 中的区域统计数据与 GIS 中的一样对于点,而不是多边形

如何解决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 举报,一经查实,本站将立刻删除。