두 개의 인접한 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에 수정이 필요한 것 같습니다.