小编Hol*_*orm的帖子

将 R 中一组点的边界返回为多边形?

我试图返回一组点的边界(如下所示)。我尝试了三种使用 {sf} 包的方法。

创建测试数据

t <- 
  crossing(x=1:5, y=1:5) %>% 
  filter(!(x > 3 & y > 3)) %>% 
  st_as_sf(coords=c("x", "y"))
Run Code Online (Sandbox Code Playgroud)

我想要的是

ggplot()+
  geom_sf(data=t)+
  geom_segment(aes(x = c(1, 1, 3, 3, 5, 5),
                   xend = c(1, 3, 3, 5, 5, 1),
                   y = c(1, 5, 5, 3, 3, 1),
                   yend = c(5, 5, 3, 3, 1, 1),
                   col = "What I want"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我尝试过的

ggplot()+
  geom_sf(data=t)+
  geom_sf(data = t %>% st_union() %>% st_convex_hull(), aes(col="st_convex_hull"), fill=NA)+
  geom_sf(data = t %>% st_union() %>% st_cast("POLYGON") %>% st_boundary(), …
Run Code Online (Sandbox Code Playgroud)

r polygon spatial boundary r-sf

0
推荐指数
1
解决办法
796
查看次数

标签 统计

boundary ×1

polygon ×1

r ×1

r-sf ×1

spatial ×1