将多边形列表合并为一个对象

问题描述 投票:0回答:1

我有一个栅格列表。我想根据每个栅格的范围创建多边形,并将所有新创建的多边形合并到一个对象中。

我尝试了以下操作:

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_unionst_combine不接受列表,因此会引发错误。

如何将多边形列表组合成一个多多边形对象?

r gis sf
1个回答
0
投票

您可以做

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)
© www.soinside.com 2019 - 2024. All rights reserved.