Mon objectif est de modifier un fichier de formes existant en fusionnant certains polygones.
Après avoir importé le fichier de formes et utilisé la commande UnionSpatialPolygons, j'obtiens le contour de polygone souhaité.
Cependant, il s'agit maintenant d'un objet SpatialPolygons et non d'un SpatialPolygonsDataFrame, donc je ne peux pas l'exporter vers un fichier de formes à l'aide de writeOGR.
Comment contourner ce problème?
shapefile
cartography
r
ogr
John
la source
la source
Réponses:
Comme son nom l'indique, un SpatialPolygonsDataFrame est fondamentalement juste un objet SpatialPolygons avec des données attachées (la table attributaire). Les données doivent avoir au moins autant de lignes qu'il y a de fonctionnalités
----ÉDITER----
Si vous souhaitez convertir votre
SpatialPolygonsDataFrame
dos enSpatialPolygons
objet, il vous suffit d'adresser la structure de l'objet dans Rla source
IDs
argument correctement lors de l'exécutionUnionSpatialPolygons
. Sinon, vous risquez de rencontrer des problèmesdata
lors de la conversion enSpatialPolygonsDataFrame
.data=as.data.frame("yourData")
? Après avoir dissous les polygones internes à l'aideunionSpatialPolygons(...)
, j'aimerais écrire le résultat sous forme de nouveau fichier de formesunion
problème ..Problèmes:
1: le résultat de UnionSpatialPolygons est un polygone spatial
2: reconvertir le résultat en une trame de données de polygone spatial est une vraie douleur
-une. vous avez besoin d'un bloc de données très précis à attacher à un polygone spatial
-b. les données que vous avez utilisées pour UnionSpatialPolygons ont plus de lignes que la sortie et ne sont pas formatées de la manière requise.
Ma (moche) solution:
la source