问题描述
library(raster)
raster::extract(my_raster,my_points,method='simple')
我为每个点获得一个栅格值。但是,当我尝试对缓冲区执行相同操作时
raster::extract(my_raster,method='simple',buffer=250)
每个点我都会得到几个值。我详细阅读了该函数的文档,但我不明白为什么在我的点周围绘制缓冲区时会得到多个栅格值,或者如何避免这种情况。
谢谢。
解决方法
这是浓缩自 ?extract
library(raster)
r <- raster(ncol=36,nrow=18,vals=1:(18*36))
xy <- cbind(-50,seq(-80,80,by=20))
## no function
extract(r,xy[1:3,],buffer=1000000)
#[[1]]
# [1] 586 587 588 589 590 591 592 593 620 621 622 623 624 625 626 627 628 629 630 631
#[[2]]
#[1] 517 518 552 553 554 555
#[[3]]
#[1] 445 446 481 482
## mean works
extract(r,buffer=1000000,fun=mean)
#[1] 611.1 541.5 463.5
## but "mean" fails
extract(r,fun="mean")
#Error in fun(x) : could not find function "fun"