r - 将多边形列表组合成单个对象

标签 r gis r-sf

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

我尝试了以下方法:

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 不接受列表。

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

最佳答案

你可以做到

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)

关于r - 将多边形列表组合成单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61999131/

相关文章:

r - 如何有效地从(许多)大栅格中提取许多多边形的值

r - 如何在 map 上标记单个州,而其他州则在分区级别

r - 在 R 中划分后停止标题名称更改

r - 在R中按组计算每两行值的比例

r - R包安装问题: sf; system library not found

python - 关于创建 WMS 服务和桌面客户端的一些建议?

r - 在同一个 ggplot 中绘制离散和连续尺度

r - 在r中将多列从字符转换为数字格式

r - R 中的折刀配对 t 检验

javascript - 单击 Google map 时添加标记