R将栅格转换为单个多边形

标签 r polygon raster

我确定这在 R 中是否可行,如果有人知道用其他程序做到这一点的方法,请告诉我

目前我有一个栅格,如果没有足够大的集群,我需要将一组像素转换为 NA 组。我目前的想法是将栅格转换为多边形,然后计算多边形区域并在多边形不够大时将其移除。唯一的问题是 rasterToPolygon创建单层多边形,我无法单独索引每个多边形。有任何想法吗?下面是一个例子:

library(raster)
area <- raster(matrix(c(1:4,1),5,5))
shape <- rasterToPolygons(area,fun=function(x){x == 1},dissolve=TRUE)

Example

最佳答案

溶解后可以disaggregate多部分多边形再次变成单部分多边形。 disaggregate SpatialPolygons* 的方法在 sp包(如果你已经加载了 raster,它应该已经加载了)。

library(sp)
shape2 <- disaggregate(shape)

shape2
## class       : SpatialPolygonsDataFrame 
## features    : 2 
## extent      : 0, 1, 0, 1  (xmin, xmax, ymin, ymax)
## coord. ref. : NA 
## variables   : 1
## names       : abc 
## min values  :   1 
## max values  :   1 

多边形将具有指示其原始栅格值的属性。例如,您可以添加一个属性,为每个多边形提供一个唯一的 ID。
shape2$id <- factor(seq_len(length(shape2)))
spplot(shape2, 'id')

enter image description here

关于R将栅格转换为单个多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606557/

相关文章:

r - 使用行/列索引对栅格进行子集

algorithm - 给定 n 个重叠的多边形,如何以最少的多边形数量获得覆盖范围最大的集合

python - 基于 shapefile 或多边形将栅格剪辑到 numpy 数组中

读取字符串并组合 R 中的相似术语

windows - Windows 的 R 环境中的自动换行

python - numpy:获取多边形内的索引而不创建掩码

r - Shiny 和 ggplot2 - 教程

r - 如何在R中创建具有相同色标的栅格图

r - Octave和R之间的接口(interface)

r - 在ggplot2中使用geom_violin将统计信息传递给geoms