如何在R terra包中从SpatExtent生成SpatVector?
在R的terra包中从SpatExtent生成SpatVector多边形的内置方法
当然有内置方法,terra包提供了as.polygons()函数,能直接把SpatExtent对象转换成SpatVector多边形,不用手动构建顶点坐标。
示例代码
library(terra) # 创建SpatExtent对象 ext1 <- ext(c(-74.5, -72.5, 9.5, 12.0)) # 一键转换为多边形SpatVector box1 <- as.polygons(ext1) # 查看结果 class(box1) # 输出为SpatVector类型 plot(box1) # 可视化验证范围形状
额外说明
- 这个函数生成的是多边形类型的SpatVector,比你手动构建坐标后用
vect(type = "lines")生成的线对象更贴合范围的几何属性。 - 如果需要为多边形指定坐标参考系(CRS),可以直接在函数中设置参数:
# 示例:指定WGS84投影 box1 <- as.polygons(ext1, crs = "EPSG:4326")
你之前期望的vect(ext1)写法确实无法直接运行,但as.polygons()就是对应的内置替代方案,用法更简洁高效。
内容的提问来源于stack exchange,提问作者Sara
相关产品推荐
相关产品推荐

