R 中的区域统计与 GIS 中的一样(对于点,而不是多边形)
Zonal statistics in R as in GIS (for a point, not polygon)
我在一个文件夹中有多个光栅。我需要在一个像素上提取每个栅格的平均值(我做点并记下多边形)。
它说提取也可以用于点、线和多边形。
但是对于功能(乐趣=平均值)。我想通过这种方法知道,如果我必须强制执行 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)
并来自文档:
If y represents points, fun is only used when a buffer is used
所以你不应该为 fun
参数提供一个函数,因为没有值可以总结,因为点落在堆栈中每一层的一个像素中。
如果您想要点附近值的摘要,您可以使用 buffer
参数指定每个点周围缓冲区的半径,从中提取像元值。或者您可以将 method
参数更改为 'bilinear',这样返回的值是根据四个最近的栅格像元的值进行插值的。
我在一个文件夹中有多个光栅。我需要在一个像素上提取每个栅格的平均值(我做点并记下多边形)。
它说提取也可以用于点、线和多边形。 但是对于功能(乐趣=平均值)。我想通过这种方法知道,如果我必须强制执行 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)
并来自文档:
If y represents points, fun is only used when a buffer is used
所以你不应该为 fun
参数提供一个函数,因为没有值可以总结,因为点落在堆栈中每一层的一个像素中。
如果您想要点附近值的摘要,您可以使用 buffer
参数指定每个点周围缓冲区的半径,从中提取像元值。或者您可以将 method
参数更改为 'bilinear',这样返回的值是根据四个最近的栅格像元的值进行插值的。