在R中,如何在点sf对象上运行st_convex_hull函数?

14

我在尝试使用R获取点要素的凸包。

library(tmap)
library(sf)
nc <- st_centroid(st_read(system.file("shape/nc.shp", package="sf")))
qtm(nc)

ch <- st_convex_hull(nc) 
qtm(ch)

identical(nc, ch)
我期望 st_convex_hull 包含凸包多边形,但它返回的是不相同的点。我该如何获得多边形呢?

我希望 st_convex_hull 返回凸包多边形,但它却返回了不同的点。我该如何获取多边形呢?

1个回答

23

您需要将这些点合并成MULTIPOINTS

library(tmap)
library(sf)
nc <- st_centroid(st_read(system.file("shape/nc.shp", package="sf")))
qtm(nc)

ch <- st_convex_hull(st_union(nc)) 
qtm(ch)

这个方法能否应用于分组数据,为每个组生成一个凸壳? - B. Davis
我不明白为什么它不应该是。 - TimSalabim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接