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

如何从R/terra的SpatVector对象中提取点坐标?

提取SpatVector点对象坐标的正确方法

你遇到的问题是as.data.frame()默认仅提取SpatVector的属性表,而你创建的点对象没有附加属性字段,因此返回空数据框。

提取点坐标的正确方法有两种:

  1. 使用terra::coords()函数直接获取坐标矩阵:
sq = terra::vect(cbind(c(0, 1, 1, 0, 0), c(0, 0, 1, 1, 0)), type = "points", crs = "local")
coords(sq)

输出结果:

x y
[1,] 0 0
[2,] 1 0
[3,] 1 1
[4,] 0 1
[5,] 0 0
  1. 使用terra::geom()函数获取包含坐标、对象ID等信息的数据框,可灵活筛选所需内容:
geom(sq)

输出示例:

fid part  x y
1   1    1  0 0
2   2    1  1 0
3   3    1  1 1
4   4    1  0 1
5   5    1  0 0

若仅需坐标列,可进一步筛选:

geom(sq)[, c("x", "y")]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:02:01