Mein Ziel ist es, ein vorhandenes Shapefile durch Zusammenführen bestimmter Polygone zu ändern.
Nachdem ich das Shapefile importiert und den Befehl UnionSpatialPolygons verwendet habe, erhalte ich den gewünschten Polygonumriss.
Dies ist jedoch jetzt ein SpatialPolygons-Objekt und kein SpatialPolygonsDataFrame, sodass ich es nicht mit writeOGR in ein Shapefile exportieren kann.
Wie kann ich dieses Problem umgehen?
shapefile
cartography
r
ogr
John
quelle
quelle
Antworten:
Wie der Name schon sagt, ist ein SpatialPolygonsDataFrame im Grunde nur ein SpatialPolygons-Objekt mit angehängten Daten (die Attributtabelle). Die Daten müssen mindestens so viele Zeilen enthalten, wie Features vorhanden sind
----BEARBEITEN----
Wenn Sie Ihren
SpatialPolygonsDataFrame
Rücken in einSpatialPolygons
Objekt umwandeln möchten, müssen Sie nur die Objektstruktur in R adressierenquelle
IDs
Argument bei der Ausführung korrekt angebenUnionSpatialPolygons
. Andernfalls kann esdata
beim Zurückkonvertieren nach zu Problemen kommen, Argumente anzugebenSpatialPolygonsDataFrame
.data=as.data.frame("yourData")
? NachdemunionSpatialPolygons(...)
ich die inneren Polygone mit aufgelöst habe , möchte ich das Ergebnis als neues Shapefile schreibenunion
Problem.Probleme:
1: Das Ergebnis von UnionSpatialPolygons ist ein räumliches Polygon
2: Das Ergebnis wieder in einen räumlichen Polygondatenrahmen umzuwandeln, ist ein echtes Problem
-ein. Zum Anhängen an ein räumliches Polygon benötigen Sie einen sehr genauen Datenrahmen
-b. Daten, die Sie für UnionSpatialPolygons verwendet haben, enthalten mehr Zeilen als die Ausgabe und sind nicht in der erforderlichen Weise formatiert.
Meine (hässliche) Lösung:
quelle