You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用terra包如何将栅格堆栈提取值添加到空间对象的data.frame中

terra包栅格提取保留矢量原有属性的方法

terra的extract函数返回结果的ID列和输入矢量的行顺序完全对应,直接按行合并即可保留原始属性字段,有两种常用实现方式:

  • 直接合并提取结果与原始矢量属性
# 保存提取结果
ext_res <- terra::extract(r, points_vect, xy = T, method = "simple")
# 绑定原始矢量的val字段,也可按需绑定其他属性列
final_df <- cbind(ext_res, values(points_vect)["val"])
  • 写入矢量属性表(适合后续需要做空间操作的场景)
# 直接将提取结果追加到矢量的属性表中
points_vect <- cbind(points_vect, terra::extract(r, points_vect, xy = T, method = "simple"))
# 如需输出为普通dataframe,直接转换即可
final_df <- as.data.frame(points_vect)

两种方式都可以保留原始的val字段,且不会出现行列匹配错误的问题。

内容的提问来源于stack exchange,提问作者UseR10085

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 11:18:04