J'ai une carte dont le format est rds
. Maintenant, je veux utiliser ces données dans un autre logiciel qui demande le format shp
. Comment convertir les données de format rds
en format shp
dans R?Comment convertir des données au format rds en format shp dans R?
1
A
Répondre
2
Si elle est l'objet spatial enregistré en tant que fichier binaire spécifique de R
de type « Interface sérialisation pour des objets uniques » (voir ?readRDS
) probablement créé à un moment donné par saveRDS()
, lisez votre fichier avec
library(rgdal)
library(sp)
x <- readRDS("path/to/the/rds_file.rds")
et puis écrire avec:
rgdal::writeOGR(x, "path/to/destination", "filename", driver = "ESRI Shapefile")
Assurez-vous pas à mettre « shp » à la fin de votre nom de fichier de sortie.
Vérifiez également et non pour placer un /
à la fin du dossier de destination. Sinon, vous pourriez faire face l'erreur
Creation of output file failed
Lorsque l'erreur
Error: inherits(obj, "Spatial") is not TRUE
vous pourriez avoir oublié le x
comme premier argument dans la fonction writeOGR
.
Je réussis à lire le fichier rds mais quand j'exécute le code de sortie, il y a le Error: inherits (obj, "Spatial") n'est pas VRAI. Pourquoi? –
vous avez probablement oublié de mettre l'objet (dans mon exemple 'x') dans la fonction' writeOGR'. Voir aussi mon édition pour les bibliothèques nécessaires. – loki
J'ai installé deux paquets et j'ai mis le x dans mes codes: '> library (rgdal)> bibliothèque (sp)> a = readRDS (' D: /data/chinamap/chinamap.rds ')> rgdal :: writeOGR (un , "D:/data/chinamap /", "Chine", pilote = "ESRI Shapefile") ', mais l'erreur que j'ai dite apparaît toujours. Je suis très confus. –