Cartographie avec Logiciel R

Représentation graphique de données avec le logiciel R.

  • Prérequis :

    • Installation du logiciel R :
    • Identification de la référence du fond de carte :
    • Sous R :
      • Sélection du repository  :Packages => Choisir le site Miroir CRAN
        • France Lyon 1
      • Sélection Entrepôt : Packages => Choisir l’entrepôt
        • CRAN
      • Installation des packages : Packages => Installer package
        • rgdal
        • plotrix
        • classInt
        • maptool
      • Download data geo :
        • https://www.data.gouv.fr/fr/datasets/geofla-communes/
        • Décompresser et changer dans le path vers le répertoire cible les « \ » par des « / »
    • Script :
      • library('rgdal')      # Lire et reprojeter les cartes
        library('plotrix')    # Créer des échelles de couleurs
        library('classInt')   # Affecter ces couleurs aux données
        
        
        #dsn="C:\Users\Yves\Documents\R\GEOFLA_2-1_COMMUNE_SHP_LAMB93_FXX_2015-12-01\GEOFLA\1_DONNEES_LIVRAISON_2015\GEOFLA_2-1_SHP_LAMB93_FR-ED152\COMMUNE"
        dsn="C:/Users/Yves/Documents/R/GEOFLA_2-1_COMMUNE_SHP_LAMB93_FXX_2015-12-01/GEOFLA/1_DONNEES_LIVRAISON_2015/GEOFLA_2-1_SHP_LAMB93_FR-ED152/COMMUNE"
        
        # Lecture des départements
        departements <- readOGR(dsn, layer="COMMUNE")
        
        # Lecture des limites départementales pour sélectionner les frontières
        frontieres <- readOGR(dsn,  layer="LIMITE_COMMUNE")
        frontieres <- frontieres[frontieres$NATURE %in% c('Fronti\xe8re internationale','Limite c\xf4ti\xe8re'),]
        
        # Lecture des communes
        communes     <- readOGR(dsn, layer="COMMUNE")
        
        # Calcul de la densité.
        #communes$DENSITE <- communes$POPULATION/communes$SUPERFICIE*100000
        communes$DENSITE <- communes$DECILE_9
        
        # Échelle de couleurs
        #col <- findColours(classIntervals(communes$DENSITE, 100, style="quantile"),smoothColors("#0C3269",98,"white"))
        col <- findColours(classIntervals(communes$DENSITE, 100, style="sd"),smoothColors("white",98,"#0C3269"))
        
        # Légende
        leg <- findColours(classIntervals(
                    round(communes$DENSITE), 6, style="sd"),
                    smoothColors("white",4,"#0C3269"),
                    under="moins de", over="plus de", between="–",
                    cutlabels=FALSE)
        
        # Exportation en PDF avec gestion de la police
        cairo_pdf('c:/tmp/densite.pdf',width=6,height=4.7)
        par(mar=c(0,0,0,0),family="Myriad Pro",ps=8)
        
        # Tracé de la carte
        plot(frontieres, col="#FFFFFF")
        #plot(europe,     col="#E6E6E6", border="#AAAAAA",lwd=1, add=TRUE)
        plot(frontieres, col="#D8D6D4", lwd=6, add=TRUE)
        plot(communes,   col=col, border=col, lwd=.1, add=TRUE)
        plot(frontieres, col="#666666", lwd=1, add=TRUE)
        
        # Affichage de la légende
        legend(-10000,6387500,fill=attr(leg, "palette"),
            legend=names(attr(leg,"table")), cex=0.5,
            title = "Rémunération annuelle par UC du décile le plus élevé par commune :")
        
        dev.off()
        
        ogrInfo(dsn,layer="COMMUNE")
      • Le fichier final est sous format .pdf dans C:/tmp/
  • Bibliographie :