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

时间:2016-02-24 15:44:58

标签: 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

1 个答案:

答案 0 :(得分:1)

溶解后,您可以再次将多部分多边形disaggregate转换为单个部分多边形。 disaggregate的{​​{1}}方法位于SpatialPolygons*包中(如果已加载sp,则应已加载)。

raster

多边形将具有一个属性,指示其原始栅格值的值。例如,您可以添加一个属性,为每个多边形提供唯一的ID。

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 

enter image description here