Rbandeau

[R] Pense-bête: exporter un sous-ensemble d’un Shapefile

Vous souhaitez travailler sur les bureaux de vote d’une ville, mais vous ne disposez que d’une carte en Shapefile présentant l’ensemble des bureaux de vote français.
Comment éviter de charger sans cesse cette lourde carte?

Autre possibilité: vous souhaitez exporter les bureaux de vote de cette ville sur un autre système, par exemple, CartoDB. Comment procéder?

1. Télécharger le dossier zip comprenant la carte principale en format *.shp ainsi que les autres fichiers.

2. Lancer R, avec les packages Maptools et rgdal.

library(maptools)
library(rgdal)

3. Lire la carte principale avec la fonction readShapeSpatial et choisir la projection adaptée (pour la France, choisir 27572).

france<-readShapeSpatial("~/Downloads/carte/fond0710.shp", proj4string=CRS("+init=epsg:27572"))

4. Choisir au moyen de quel  code faire sa sélection dans la carte principale. La ville de Saint-Denis porte le code 93066.

summary(france)
saintdenis<-subset(france,france$CODE=="93066")

5. Vérifier la bonne importation.

plot(saintdenis)

6. Exporter le sous-ensemble à l’aide de writeOGR. Indiquez d’abord le nom de l’objet, puis le nom que vous voulez donner au fichier de sortie.

writeOGR(saintdenis, dsn="exemple.shp", layer= "unique", driver="ESRI Shapefile", dataset_options=c("NameField=name"))

7. Vous obtenez quatre fichiers: exemple.shp, exemple.dbx, exemple.prj et exemple.shx. Regrouper les quatre fichiers dans un même dossier. Vous avez votre fichier shp contenant le sous-ensemble désiré.

7 bis. Pour l’exporter vers un autre système, compresser le dossier en *.zip.  CartoDB parvient à transformer les projections spécifiques en une projection qui lui convient, le WGS84.

Un grand merci aux excellents Joël Gombin et Baptiste Coumont pour leurs aides précieuses.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *