为什么在使用缓冲区时 raster::extract return 有多个值?
Why does raster::extract return several values when using a buffer?
我正在尝试根据点从栅格中提取值。当我 运行 这个代码
library(raster)
raster::extract(my_raster, my_points, method='simple')
我为每个点获得一个栅格值。但是,当我尝试对缓冲区
执行相同操作时
raster::extract(my_raster, my_points, 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, xy[1:3,], buffer=1000000, fun=mean)
#[1] 611.1 541.5 463.5
## but "mean" fails
extract(r, xy[1:3,], buffer=1000000, fun="mean")
#Error in fun(x) : could not find function "fun"
我正在尝试根据点从栅格中提取值。当我 运行 这个代码
library(raster)
raster::extract(my_raster, my_points, method='simple')
我为每个点获得一个栅格值。但是,当我尝试对缓冲区
执行相同操作时raster::extract(my_raster, my_points, 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, xy[1:3,], buffer=1000000, fun=mean)
#[1] 611.1 541.5 463.5
## but "mean" fails
extract(r, xy[1:3,], buffer=1000000, fun="mean")
#Error in fun(x) : could not find function "fun"