2
编辑:
作为评价建议的Edzer Pebesma,推荐的方法将孔添加到多边形不修改槽,但重建多边形,如图所示in this related question。如何修改多边形是一个孔(SpatialPolygons)改变其槽
原来的问题
继SpatialPolygons-class
帮助,我试图修改一个多边形是一个其他多边形的孔,但同时“孔多边形”显示为其他多边形的边界,它的内部是有颜色的作为休息。
我在做什么错?
使用defPunched
和defHole
定义here:
library("sp")
load(url("http://spatcontrol.net/CorentinMBarbu/misc/holeIssue.rda"))
[email protected][[1]]@Polygons[[1]]@hole<-TRUE
OnePolDFToPolygon <- function(x){
main <- [email protected][[1]]@Polygons[[1]]
return(main)
}
punch <- Polygons(list(OnePolDFToPolygon(defPunched),OnePolDFToPolygon(defHole)),[email protected][[1]]@ID)
mine <- SpatialPolygons(list(punch),[email protected])
mine <- SpatialPolygonsDataFrame(mine,data=as(defPunched,"data.frame"))
plot(mine,col="blue",border="green")
为什么你需要知道这些数据来自哪里? – cmbarbu
我假设你是指“多边形”或其文档中的一个错误。但在我的例子中,我没有看到'Polygon'调用。首先,您的示例从R数据开始,我们不知道它来自哪里,然后您直接将值分配给插槽,这是不推荐的(意思是:在您自己的风险)。 –
我会很高兴不要直接操作插槽,但将多边形转换为空洞的建议步骤是什么? – cmbarbu