Ich versuche, eine Vereinigung auf einem gemeinsamen Feld durchzuführen, nachdem zwei benachbarte Shapefiles zusammengeführt wurden. Zwischen den Shapefiles befindet sich mindestens ein dünner Streifen. Wenn ich versuche, eine Gewerkschaft zu gründen, wird der folgende Fehler angezeigt:
Fehler in createPolygonsComment (p): rgeos_PolyCreateComment: Verwaiste Bohrung, enthält kein Polygon für Bohrung bei Index 17
Ich habe unter diesem Link ein reproduzierbares Beispiel zu Dropbox hochgeladen .
Hier ist der Code, um das Problem neu zu erstellen:
#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)
Kehrt zurück:
Fehler in createPolygonsComment (p): rgeos_PolyCreateComment: Verwaiste Bohrung, enthält kein Polygon für Bohrung bei Index 17
Probieren Sie die hier und hier vorgeschlagene Lösung aus :
slot(example, "polygons") <- lapply(slot(example, "polygons"), checkPolygonsHoles)
Dies gibt den gleichen Fehler zurück, der vom Vereinigungsversuch stammt, jedoch mit einer anderen Indexnummer:
rgeos_PolyCreateComment: Verwaiste Bohrung, enthält kein Polygon für Bohrung bei Index 30
Versuchen Sie, das in Roger Bivands hilfreichem Tutorial vorgeschlagene Problem zu beheben
fix <- slot(example, "polygons")
fixa <- lapply(fix, checkPolygonsHoles)
Gibt den gleichen Fehler wie oben bei Index 30 zurück.
Andere haben dieses Problem hier und hier angesprochen , und obwohl die oben genannten Lösungen in einigen Fällen zu funktionieren scheinen, sind andere Fälle nicht gelöst. Ein Benutzer verwendete QGIS, um das Problem zu beheben, und der andere hatte 2 von 3 Punkten behoben, aber keine Lösung für den letzten.
Es scheint, dass die Leute weiterhin Probleme haben, obwohl dieser Code von Zeit zu Zeit funktioniert. Hat jemand eine Lösung in R gefunden?
Ich habe das Tool "Geometrie reparieren" in ArcGIS ausgeführt und das Problem behoben. Es scheint jedoch, dass in R eine Korrektur erforderlich ist.