CUEJ master 2 2018/19 - Elections européennes 2019

Fonds de cartes

J'ai préparé quelques fonds de cartes simplifiés disponibles sur seafile. Il faut toujours charger les fichiers dbf, prj, shp et shx. Enregistrez-les dans un répertoire "maps" dans votre dossier de travail.

La librairie utilisée pour tracer les cartes est Cartography. La documentation sur le CRAN.

Programmes à adapter

# Librairies nécessaires pour la carto
library(cartography)
library(rmapshaper)
library(rgdal)
library(RColorBrewer)


# lecture du fond
mComS <- readOGR("maps/mComS.shp")

# Afficher les palettes disponibles
display.brewer.all()

# Ne retenir que le Grand Est
grandEst <- c("08", "10", "51", "52","54", "55", "57","67","68", "88")
comGE <- mComS[mComS@data$INSEE_DEP %in% grandEst, ]
plot(comGE, lwd = 0.1)

### Faire une carte typologique ###
# spdf = le fond de carte ; df = les données
# spdfid et dfid = les 2 variables qui permettent de faire le lien entre spdf et df
# col = couleurs, nbr de classe. changer la valeur Wine.pal pour d'autres couleurs,
# cf. doc de cartography
# nclass = nbr de classes

plot.new() # Créer un nouveau graphique vide
plot(comGE, lwd = 0.1) # Dessiner les contours des communes

typoLayer(spdf = comGE, df = com, spdfid = "INSEE_COM", 
          dfid = "CODGEO", var = "classeAbs", border = NA, 
          col = carto.pal("wine.pal", 5), legend.pos = "topleft", 
          add = TRUE, legend.title.txt = "Taux d'abstention", 
          legend.values.order = c("Très faible", "Faible", "Médiane", "Elevée", "Très élevée")
)


### Faire la carte choropleth ###
### L"intérêt est que la carte est faite directement à partir d'une variable quanti ###
# spdf = le fond de carte ; df = les données
# spdfid et dfid = les 2 variables qui permettent de faire le lien entre spdf et df
# method = comment discrètiser la variable à représenter
# (donc, pas besoin de faire des classes avant, ça se fait à la volée
# col = couleurs, nbr de classe. changer la valeur Wine.pal pour d'autres couleurs,
# cf. doc de cartography
# nclass = nbr de classes

plot.new() # Créer un nouveau graphique vide
plot(comGE, lwd = 0.1) # Dessiner les contours des communes

choroLayer(spdf = comGE, df = com, spdfid = "INSEE_COM", 
           dfid = "CODGEO", var = "txAbs", border = NA, 
           col = carto.pal("wine.pal", 5), legend.pos = "topleft", legend.values.rnd = 2,
           add = TRUE, method = "quantile", nclass = 5, legend.title.txt = "Taux d'abstention"
)
# Liste des préfectures
listePref <- c("67482", "68066", "68224",
               "57463", "54395", "10387", "08105", "51108",
               "52121", "55029", "88160")


# Positionner les préfectures
points(coordinates(comGE[comGE@data$INSEE_COM %in% listePref, 
                         ]), pch = 16, cex = 0.9, col = "grey50")

# Noms des préfectures
nomsPref <- comGE[comGE@data$INSEE_COM %in% listePref, ]

labelLayer(spdf = comGE, df = nomsPref@data,
           spdfid = "INSEE_COM", dfid = "INSEE_COM", txt = "NOM_COM_M", col = "White",
           cex = 0.6, overlap = TRUE, show.lines = FALSE, halo = TRUE,
           bg = "black", r = 0.005, pos = 3, font = 2)

Résultat