我有一个简单的栅格(使用 R-package: raster 创建)。使用函数“rasterToPolygons”我得到包含值“1”的所有栅格单元的多边形:
library(raster)
dat = list()
dat$x = seq(1.5, by = 10, len = 10)
dat$y = seq(3.5, by = 10, len = 15)
dat$z = matrix(sample(c(0,1), size = 10*15, replace = T), 10, 15)
r=raster(dat);plot(r)
r_poly = rasterToPolygons(r, fun = function(r) {r == 1}, dissolve = F)
plot(r_poly, add = T)
我不使用“dissolve = T”来避免所有多边形合并成一个大多边形。相反,我希望获得一个新的 SpatialPolygonsDataFrame,其中合并了所有共享边或点的多边形。明确分离的多边形应可识别为单独的多边形。基于新的 SpatialPolygonsDataFrame 我想分析组合多边形的大小如下:
b = extract(r,r_poly_new) # "r_poly_new" contains the combined polygons
str(b) # list of clearly separated polygons
tab = lapply(b,table)
tab
我的问题是双重的:1)如何组合共享边或点的多边形?2)如何将这些信息转换为允许分析组合多边形区域的格式?非常感谢您的反馈。