【发布时间】:2021-04-17 19:01:10
【问题描述】:
我正在尝试从基于点的栅格中提取值。当我运行这段代码时
library(raster)
raster::extract(my_raster, my_points, method='simple')
我得到每个点的一个栅格值。但是,当我尝试对缓冲区做同样的事情时
raster::extract(my_raster, my_points, method='simple', buffer=250)
每个点我得到几个值。我详细阅读了该函数的文档,但我不明白为什么在我的点周围绘制缓冲区时会得到多个栅格值,或者如何避免这种情况。
谢谢。
【问题讨论】:
-
这是因为缓冲区中包含了更多像素,如果未指定 fun 参数,该函数将返回缓冲区中所有像素的值。例如,尝试在
extract调用中添加fun="mean",您将获得每个点的一个值,即缓冲区内每个像素的平均值。您可以将不同的函数传递给 fun 参数,也可以是自定义函数 -
您好,非常感谢您的回复!当我将
fun='mean'放入我的函数时,我不断收到Error in fun(x) : could not find function "fun"的错误。知道为什么会这样吗?谢谢! -
摘录文档:“如果 y 代表点,则 fun 仅在使用缓冲区时使用(因此每个空间特征将返回多个值)。”根据文档,该功能应该可以工作。请添加一个重现您的错误的示例,明天我可以尝试更好地帮助您。还提供有关您的数据(栅格和点)的更多信息
标签: r geospatial raster