如何在R中按直线分割/剪裁多边形?

如何在R中按直线分割/剪裁多边形?,r,polygon,sf,multilinestring,R,Polygon,Sf,Multilinestring,我想将CO(多边形)分割成不被道路(线串)分割的部分(也是多边形)。也就是说,我希望较小多边形的部分以道路或州边界为边界,而不包含任何进入和退出多边形的道路 我能够使用lwgeom::st_split生成几何体集合,但我不确定这是否对我有帮助;我一直使用这个解决方案,因为我不知道如何提取集合中的几何图形,例如,如何为它们分配唯一的ID 我的最终目标是确保我的点(单独的数据)不被道路分隔。所以,如果你有一个更直接的解决办法,我也会洗耳恭听 library(tidyverse) library(ti

我想将CO(多边形)分割成不被道路(线串)分割的部分(也是多边形)。也就是说,我希望较小多边形的部分以道路或州边界为边界,而不包含任何进入和退出多边形的道路

我能够使用
lwgeom::st_split
生成几何体集合,但我不确定这是否对我有帮助;我一直使用这个解决方案,因为我不知道如何提取集合中的几何图形,例如,如何为它们分配唯一的ID

我的最终目标是确保我的点(单独的数据)不被道路分隔。所以,如果你有一个更直接的解决办法,我也会洗耳恭听

library(tidyverse)
library(tigris)
library(sf)
library(lwgeom)

co <- states(cb = T) %>% 
  filter(NAME == "Colorado")

roads <- primary_secondary_roads(state = 'Colorado') 

cosplit <- st_split(co,roads) 
库(tidyverse)
图书馆(底格里斯)
图书馆(sf)
图书馆(lwgeom)
co%
过滤器(名称=“Colorado”)

roads我想我知道了…但我肯定很想听听其他人的想法

cosplitpoly <- cosplit %>% 
  st_collection_extract(c("POLYGON"))
cosplitpoly%
st_集合提取(c(“多边形”))