我有一个栅格列表。我想根据每个栅格的范围创建多边形,并将所有新创建的多边形合并到一个对象中。
我尝试了以下操作:
library(tidyverse)
library(raster)
library(sf)
lst(
raster(ext = extent(20, 21, 10, 11)),
raster(ext = extent(25, 26, 15, 16))
) %>%
map(
~ .x %>%
pluck("extent") %>%
as("SpatialPolygons")
) %>%
st_union()
但由于st_union
或st_combine
不接受列表,因此会引发错误。
如何将多边形列表组合成一个多多边形对象?
您可以做
library(raster)
x <- list(
raster(ext = extent(20, 21, 10, 11)),
raster(ext = extent(25, 26, 15, 16))
)
y <- lapply(x, function(i) as(extent(i), "SpatialPolygons"))
bind(y)