代码之家  ›  专栏  ›  技术社区  ›  radek

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

sf r
  •  5
  • radek  · 技术社区  · 6 年前

    我试图在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 包含有凸面外壳的多边形。但是,它返回的点不相同。我怎样才能得到多边形呢?

    1 回复  |  直到 6 年前
        1
  •  12
  •   TimSalabim    6 年前

    你需要把这些观点结合起来 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)