在合并两个相邻的shapefile之后,我试图在一个公共字段上执行并集。shapefile最终在它们之间至少留有一小段空间。尝试并集时,出现以下孤立孔错误:
createPolygonsComment(p)中的错误:rgeos_PolyCreateComment:孤立的孔,在索引17处找不到包含孔的多边形
我在此链接上将可复制的示例上传到Dropbox 。
这是重新创建问题的代码:
#loading required packages
require(sp)
require(rgdal)
require(maptools)
require(rgeos)
#load example data, set "dsn=" to your working directory or specify the path
example <- readOGR(dsn=".",layer="ReproducibleExample")
#Attempting a UnionSpatialPolygons based on the COUNTY field
example.df <- as(example, "data.frame")
countycol <- example.df$COUNTY
example.diss <- unionSpatialPolygons(example, countycol)
返回值:
createPolygonsComment(p)中的错误:rgeos_PolyCreateComment:孤立的孔,在索引17处找不到包含孔的多边形
slot(example, "polygons") <- lapply(slot(example, "polygons"), checkPolygonsHoles)
这将返回来自联合尝试的相同错误,但索引号不同:
rgeos_PolyCreateComment:孤立的孔,在索引30处找不到包含孔的多边形
尝试在Roger Bivand的有用教程中提出的修复程序
fix <- slot(example, "polygons")
fixa <- lapply(fix, checkPolygonsHoles)
返回与上面的索引30相同的错误。
其他人在这里和这里都提出了这个问题,尽管上面提出的解决方案在某些情况下似乎可行,但其他情况却无法解决。一位用户使用QGIS解决了该问题,另一位用户修复了3项中的2项,但没有解决最后一项的解决方案。
尽管该代码不时起作用,但人们似乎仍然遇到问题。有人在R中找到解决方案吗?
我已经在ArcGIS中执行了“修复几何体”工具,它纠正了该问题,但是似乎应该在R中进行修复。