Как в R запустить функцию st_convex_hull для объекта point sf?

Я пытаюсь получить выпуклый корпус точечных объектов в 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 будет содержать многоугольник с выпуклой оболочкой. Однако он возвращает неидентичные баллы. Как мне получить вместо него многоугольник?


r sf
person radek    schedule 07.08.2018    source источник


Ответы (1)


Вам нужно объединить точки в 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)
person TimSalabim    schedule 07.08.2018
comment
Можно ли это применить к сгруппированным данным, где для каждой группы создается корпус? - person B. Davis; 23.02.2019
comment
Я не понимаю, почему этого не должно быть. - person TimSalabim; 23.02.2019