在R中的空间对象中创建孔

时间:2014-06-25 11:44:37

标签: r

我需要在spatialPolygonsDataFrame中根据它完全包含的较小多边形创建一个洞。

这说明了使用WKT创建的多边形所需的结果:

require(rgeos)
p = readWKT("POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))")
p = SpatialPolygonsDataFrame(p, data.frame(x=1))
plot(p, col='grey')

enter image description here

现在说我们有以下没有任何孔几何形状的多边形,我们如何插入孔(即没有readWKT)?我猜rgeos功能,但我无法确定解决方案。

poly = readWKT("POLYGON((1 1,5 1,5 5,1 5,1 1))")
hole = readWKT("POLYGON((2 2,2 3,3 3,3 2,2 2))")

提前致谢。

1 个答案:

答案 0 :(得分:2)

library(rgeos)
gDifference(poly, hole)

应该这样做。