SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Éléments de cartographie sous R




                                  Éléments de cartographie sous R
                                             RUG INSEE


                                             Joël Gombin

                                             CURAPP - UPJV


                                            11 octobre 2012
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Éléments de cartographie sous R
   Quelques éléments sur la cartographie




Introduction : notions de base de cartographie


        Carte raster
        Carte composée de pixels : par exemple une photo satellite. L’information
        est représentée par la couleur du pixel, lui-même porteur d’une
        information géographique (coordonnées x et y).

        Carte vectorielle
        Carte composée d’éléments : points, lignes, courbes, polygones... Ces
        éléments constituent en eux-même une information géographique (ils ont
        des coordonnées), à laquelle on peut ajouter une information
        supplémentaire (par exemple en coloriant un polygone).
Éléments de cartographie sous R
   Quelques éléments sur la cartographie




Notions de base de cartographie



        Si on s’en tient aux cartes vectorielles, seules traitées ici, pour faire une
        carte il faut :
                 un fond de carte (dans un format vectoriel : une simple image ne
                 suffit pas) (généralement associé à une projection, permettant le
                 passage d’une sphère à un plan. E.g. : Mercator).
                 des données se rapportant aux objets de cette carte
                 un identifiant commun à ces deux ensembles.
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Éléments de cartographie sous R
   La cartographie dans R




La cartographie dans R


        Dans R, les cartes sont des objets dotés d’une structure complexe. Il
        existe plusieurs approches, mais la plus répandue consiste à utiliser la
        classe d’objets SpatialPolygonsDataFrame. C’est le package sp qui
        définit cette classe, qui contient aussi bien des données géographiques
        (coordonnées des éléments) que des données sur ces objets.
        Une bonne pratique consiste à séparer les donnnées portant sur les
        éléments (coordonnées mais aussi identifiants, par exemple) et celles
        qu’on souhaite cartographier dans deux objets distincts.
        Par ailleurs, le package ggplot2 propose également une fonction pour
        représenter des cartes raster ou choroplèthes (geom_map()), mais est lent
        et peu souple pour cette tâche. Il semble toutefois que le choix de la
        projection soit plus aisé.
Éléments de cartographie sous R
   La cartographie dans R




Les outils du package rgrs




        Dans le cadre de cette introduction, je vais présenter essentiellement les
        outils du package rgrs développé par Julien Barnier. Ils sont à la fois
        faciles à utiliser et relativement puissants. Une fois la logique assimilée, il
        sera aisé d’aller plus loin si nécessaire.
        library(rgrs) library(sp) library(maptools)
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Éléments de cartographie sous R
   Importer des données géographiques




Importer des données géographiques


        Il existe de nombreux formats de données cartographiques, mais le plus
        répandu est le shapefile. Une carte est contenue dans un ensemble de
        fichiers portant tous le même nom mais dotés d’extensions différentes
        (.shp, .dbf, .prj...).
        library(rgdal)
        picardie <- readOGR("donnees/", "picardie")


        ##   OGR data source with driver: ESRI Shapefile
        ##   Source: "donnees/", layer: "picardie"
        ##   with 2291 features and 18 fields
        ##   Feature type: wkbPolygon with 2 dimensions


        picardie$STATUT <- as.factor(iconv(picardie$STATUT, from = "latin1", to = "utf8"))   ## traitement de problèmes d'encodage
        picardie$codeINSEE <- as.character(picardie$INSEE_COM)
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Éléments de cartographie sous R
   Manipuler des objets spatiaux




Avoir des informations sur une carte et la représenter
        summary(picardie)


        require(sp)
        plot(picardie)
Éléments de cartographie sous R
   Manipuler des objets spatiaux




Manipuler une carte


        Une carte est donc un objet de type SpatialPolygonsDataFrame. Il
        contient plusieurs ensemble de données ; généralement, le seul qu’on
        manipule directement est le slot @data, qui contient les données sur les
        objets géographiques.
        names(picardie@data)


        ## [1] "ID_GEOFLA" "CODE_COMM" "INSEE_COM" "NOM_COMM"       "STATUT"
        ## [6] "X_CHF_LIEU" "Y_CHF_LIEU" "X_CENTROID" "Y_CENTROID" "Z_MOYEN"
        ## [11] "SUPERFICIE" "POPULATION" "CODE_CANT" "CODE_ARR"    "CODE_DEPT"
        ## [16] "NOM_DEPT"   "CODE_REG"   "NOM_REGION" "codeINSEE"


        summary(picardie@data$NOM_DEPT)


        ## AISNE   OISE SOMME
        ##   816    693   782
Éléments de cartographie sous R
   Manipuler des objets spatiaux




Manipuler une carte



        De plus, on manipule une carte comme n’importe quel dataframe :
        somme <- picardie[picardie@data$CODE_DEPT == "80", ]



        Le package sp offre de plus des outils pour facilement manipuler
        plusieurs couches cartographiques (par exemple étudier l’intersection de
        plusieurs ensembles d’éléments géographiques).
        Enfin, on sauve et charge cet objet comme n’importe quel autre :
        save(picardie, file = "donnees/picardie.Rdata")
        load("picardie.Rdata")
Éléments de cartographie sous R
   Manipuler des objets spatiaux




Agréger des éléments cartographiques
        On a parfois besoin de regrouper entre eux des polygones. Par exemple,
        de ma carte communale, je veux tirer une carte des départements.
        require(gpclib)
        gpclibPermit()


        ## [1] TRUE


        require(maptools)
        dpts <- unionSpatialPolygons(picardie, IDs = picardie@data$CODE_DEPT)
        plot(dpts)
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Éléments de cartographie sous R
   Cartes choroplèthes




Représenter des proportions : les cartes choroplèthes

        L’intérêt d’une carte n’est généralement pas de simplement représenter
        des objets géographiques mais d’y associer de l’information. Il y a de
        multiples manières de le faire ; on se concentrera ici sur les cartes
        choroplèthes, dans lesquelles les polygones sont coloriées en fonction de
        la variable d’intérêt.
        On commence par vérifier qu’on a bien un identidiant commun à nos
        données et à notre carte :
        load("donnees/mini_picardie.Rdata")
        head(mini_picardie$CODE_COMMU)


        ## [1] 001 002 003 004 005 006
        ## 908 Levels:     001 002 003 004 005 006 007 008 009 010 011 012 013 ... 909


        # Non, donc on recode :
        mini_picardie$codeINSEE <- paste(as.character(mini_picardie$CODE_D_PAR), as.character(mini_picardie$CODE_COMMU),
            sep = "")
Éléments de cartographie sous R
   Cartes choroplèthes




Représenter des proportions : les cartes choroplèthes
        Par facilité, on ne va travailler que sur la Somme. On utilise la fonction
        carte.prop du package rgrs :
        somme <- picardie[picardie@data$CODE_DEPT == "80", ] carte.prop(somme, mini_picardie, varname = "AbsIns", sp.key = "codeINSEE",
        data.key = "codeINSEE", at = quantile(mini_picardie$AbsIns, c(0, 0.25, 0.5, 0.75, 1)))




                                            100
                                            15.6575
                                            13.195
                                            10.58
                                            0
                                            NA
Éléments de cartographie sous R
   Cartes choroplèthes




Paramétrer une carte choroplèthe




        La fonction carte.prop prend une série d’arguments, que vous pouvez
        tester.
        Par ailleurs, pour le choix des couleurs, on peut s’aider du site
        http://www.colorbrewer2.org. Les arguments palette.pos et
        palette.neg de carte.prop prennent les noms proposés sur le site.
Plan

   1 Quelques éléments sur la cartographie


   2 La cartographie dans R

   3 Importer des données géographiques

   4 Manipuler des objets spatiaux

   5 Cartes choroplèthes

   6 Représenter des effectifs

   7 Représenter une variable catégorielle

   8 Quelques subtilités supplémentaires...
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R
Introduction à la cartographie avec R

Más contenido relacionado

La actualidad más candente

Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données OracleAndrianaivo Lovatiana
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
 
Application Mobile "Livre des histoires " avec Corona sdk
Application Mobile "Livre des histoires " avec Corona sdkApplication Mobile "Livre des histoires " avec Corona sdk
Application Mobile "Livre des histoires " avec Corona sdkNazih Heni
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Mohammed JAITI
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scalaSOAT
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Projet de fin d’études
Projet de fin d’études  Projet de fin d’études
Projet de fin d’études TombariAhmed
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiqueLilia Sfaxi
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odooayoub damir
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesHosni Mansour
 
Formation arduino 2018
Formation arduino 2018Formation arduino 2018
Formation arduino 2018Hichem Hamdi
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Saâd Zerhouni
 
Applications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteApplications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteAhmed-Chawki Chaouche
 
Mise en place du Chattoon en PHP
Mise en place du Chattoon en PHPMise en place du Chattoon en PHP
Mise en place du Chattoon en PHPArmel Diamesso
 

La actualidad más candente (20)

Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données Oracle
 
Rapport final
Rapport finalRapport final
Rapport final
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Application Mobile "Livre des histoires " avec Corona sdk
Application Mobile "Livre des histoires " avec Corona sdkApplication Mobile "Livre des histoires " avec Corona sdk
Application Mobile "Livre des histoires " avec Corona sdk
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT)
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Projet de fin d’études
Projet de fin d’études  Projet de fin d’études
Projet de fin d’études
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en Informatique
 
Introduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHMIntroduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHM
 
Rapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;étudesRapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;études
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odoo
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humaines
 
Formation arduino 2018
Formation arduino 2018Formation arduino 2018
Formation arduino 2018
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Applications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteApplications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLite
 
Mise en place du Chattoon en PHP
Mise en place du Chattoon en PHPMise en place du Chattoon en PHP
Mise en place du Chattoon en PHP
 

Similar a Introduction à la cartographie avec R

Introduction à la cartographie avec R
Introduction à la cartographie avec RIntroduction à la cartographie avec R
Introduction à la cartographie avec RJoel Gombin
 
SIG ET ANALYSE SPATIALE, SESSION 1
SIG ET ANALYSE SPATIALE, SESSION 1SIG ET ANALYSE SPATIALE, SESSION 1
SIG ET ANALYSE SPATIALE, SESSION 1YOUSSOUPHA MBODJI
 
Première approche de cartographie sous R
Première approche de cartographie sous RPremière approche de cartographie sous R
Première approche de cartographie sous RCdiscount
 
Initiation arcgis10 v3-libre
Initiation arcgis10 v3-libreInitiation arcgis10 v3-libre
Initiation arcgis10 v3-libreSouhila Benkaci
 
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...FlorentKoffiKPEDENOU
 
Cartographie et sig 2014
Cartographie et sig 2014Cartographie et sig 2014
Cartographie et sig 2014Ibrahima Sylla
 
Cours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxCours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxDonyKravitz1
 
Bonne introduction aux SIG
Bonne introduction aux SIGBonne introduction aux SIG
Bonne introduction aux SIGA/salem KEDA
 
Le web mapping pour tous
Le web mapping pour tousLe web mapping pour tous
Le web mapping pour tousLoïc Haÿ
 
ArcGIS_EF1 (1).pdf
ArcGIS_EF1 (1).pdfArcGIS_EF1 (1).pdf
ArcGIS_EF1 (1).pdfAbdouBoua1
 
Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Ibrahima Sylla
 
Présentation Map reduce altnetfr
Présentation Map reduce altnetfrPrésentation Map reduce altnetfr
Présentation Map reduce altnetfraltnetfr
 
ArcGIS From Zero to Hero, by MHARZI ALAOUI Hicham
ArcGIS From Zero to Hero, by MHARZI ALAOUI HichamArcGIS From Zero to Hero, by MHARZI ALAOUI Hicham
ArcGIS From Zero to Hero, by MHARZI ALAOUI Hichamalaoui
 

Similar a Introduction à la cartographie avec R (20)

Introduction à la cartographie avec R
Introduction à la cartographie avec RIntroduction à la cartographie avec R
Introduction à la cartographie avec R
 
Formation ArcGis
Formation ArcGisFormation ArcGis
Formation ArcGis
 
SIG ET ANALYSE SPATIALE, SESSION 1
SIG ET ANALYSE SPATIALE, SESSION 1SIG ET ANALYSE SPATIALE, SESSION 1
SIG ET ANALYSE SPATIALE, SESSION 1
 
Première approche de cartographie sous R
Première approche de cartographie sous RPremière approche de cartographie sous R
Première approche de cartographie sous R
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Initiation arcgis10 v3-libre
Initiation arcgis10 v3-libreInitiation arcgis10 v3-libre
Initiation arcgis10 v3-libre
 
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...
Annex 131_UCAD_Senegal_Implemented Course_Systèmes d’Information Géographique...
 
Cartographie et sig 2014
Cartographie et sig 2014Cartographie et sig 2014
Cartographie et sig 2014
 
Cours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxCours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptx
 
Bonne introduction aux SIG
Bonne introduction aux SIGBonne introduction aux SIG
Bonne introduction aux SIG
 
Le web mapping pour tous
Le web mapping pour tousLe web mapping pour tous
Le web mapping pour tous
 
ArcGIS_EF1 (1).pdf
ArcGIS_EF1 (1).pdfArcGIS_EF1 (1).pdf
ArcGIS_EF1 (1).pdf
 
SPIP-Geoportail
SPIP-GeoportailSPIP-Geoportail
SPIP-Geoportail
 
Qu'est ce que le Système d'Information Géographique
Qu'est ce que le Système d'Information GéographiqueQu'est ce que le Système d'Information Géographique
Qu'est ce que le Système d'Information Géographique
 
Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3
 
SP SIG : Système d'Information Géographique
SP SIG : Système d'Information GéographiqueSP SIG : Système d'Information Géographique
SP SIG : Système d'Information Géographique
 
Présentation Map reduce altnetfr
Présentation Map reduce altnetfrPrésentation Map reduce altnetfr
Présentation Map reduce altnetfr
 
ArcGIS From Zero to Hero, by MHARZI ALAOUI Hicham
ArcGIS From Zero to Hero, by MHARZI ALAOUI HichamArcGIS From Zero to Hero, by MHARZI ALAOUI Hicham
ArcGIS From Zero to Hero, by MHARZI ALAOUI Hicham
 
R-Lab-1-ppt.pdf
R-Lab-1-ppt.pdfR-Lab-1-ppt.pdf
R-Lab-1-ppt.pdf
 
Formation sig
Formation sigFormation sig
Formation sig
 

Más de Cdiscount

Presentation r markdown
Presentation r markdown Presentation r markdown
Presentation r markdown Cdiscount
 
R2DOCX : R + WORD
R2DOCX : R + WORDR2DOCX : R + WORD
R2DOCX : R + WORDCdiscount
 
Fltau r interface
Fltau r interfaceFltau r interface
Fltau r interfaceCdiscount
 
Dataiku r users group v2
Dataiku   r users group v2Dataiku   r users group v2
Dataiku r users group v2Cdiscount
 
Paris2012 session4
Paris2012 session4Paris2012 session4
Paris2012 session4Cdiscount
 
Paris2012 session3b
Paris2012 session3bParis2012 session3b
Paris2012 session3bCdiscount
 
Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Cdiscount
 
Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Cdiscount
 
State Space Model
State Space ModelState Space Model
State Space ModelCdiscount
 
Paris2012 session2
Paris2012 session2Paris2012 session2
Paris2012 session2Cdiscount
 
Paris2012 session1
Paris2012 session1Paris2012 session1
Paris2012 session1Cdiscount
 
Prévisions trafic aérien
Prévisions trafic aérienPrévisions trafic aérien
Prévisions trafic aérienCdiscount
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Cdiscount
 
Robust sequentiel learning
Robust sequentiel learningRobust sequentiel learning
Robust sequentiel learningCdiscount
 
Premier pas de web scrapping avec R
Premier pas de  web scrapping avec RPremier pas de  web scrapping avec R
Premier pas de web scrapping avec RCdiscount
 
Incorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageIncorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageCdiscount
 

Más de Cdiscount (20)

R Devtools
R DevtoolsR Devtools
R Devtools
 
Presentation r markdown
Presentation r markdown Presentation r markdown
Presentation r markdown
 
R2DOCX : R + WORD
R2DOCX : R + WORDR2DOCX : R + WORD
R2DOCX : R + WORD
 
Gur1009
Gur1009Gur1009
Gur1009
 
Fltau r interface
Fltau r interfaceFltau r interface
Fltau r interface
 
Dataiku r users group v2
Dataiku   r users group v2Dataiku   r users group v2
Dataiku r users group v2
 
Paris2012 session4
Paris2012 session4Paris2012 session4
Paris2012 session4
 
Paris2012 session3b
Paris2012 session3bParis2012 session3b
Paris2012 session3b
 
Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Scm prix blé_2012_11_06
Scm prix blé_2012_11_06
 
Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06
 
Scm risques
Scm risquesScm risques
Scm risques
 
State Space Model
State Space ModelState Space Model
State Space Model
 
Paris2012 session2
Paris2012 session2Paris2012 session2
Paris2012 session2
 
Paris2012 session1
Paris2012 session1Paris2012 session1
Paris2012 session1
 
HADOOP + R
HADOOP + RHADOOP + R
HADOOP + R
 
Prévisions trafic aérien
Prévisions trafic aérienPrévisions trafic aérien
Prévisions trafic aérien
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)
 
Robust sequentiel learning
Robust sequentiel learningRobust sequentiel learning
Robust sequentiel learning
 
Premier pas de web scrapping avec R
Premier pas de  web scrapping avec RPremier pas de  web scrapping avec R
Premier pas de web scrapping avec R
 
Incorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageIncorporer du C dans R, créer son package
Incorporer du C dans R, créer son package
 

Introduction à la cartographie avec R

  • 1. Éléments de cartographie sous R Éléments de cartographie sous R RUG INSEE Joël Gombin CURAPP - UPJV 11 octobre 2012
  • 2. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...
  • 3. Éléments de cartographie sous R Quelques éléments sur la cartographie Introduction : notions de base de cartographie Carte raster Carte composée de pixels : par exemple une photo satellite. L’information est représentée par la couleur du pixel, lui-même porteur d’une information géographique (coordonnées x et y). Carte vectorielle Carte composée d’éléments : points, lignes, courbes, polygones... Ces éléments constituent en eux-même une information géographique (ils ont des coordonnées), à laquelle on peut ajouter une information supplémentaire (par exemple en coloriant un polygone).
  • 4. Éléments de cartographie sous R Quelques éléments sur la cartographie Notions de base de cartographie Si on s’en tient aux cartes vectorielles, seules traitées ici, pour faire une carte il faut : un fond de carte (dans un format vectoriel : une simple image ne suffit pas) (généralement associé à une projection, permettant le passage d’une sphère à un plan. E.g. : Mercator). des données se rapportant aux objets de cette carte un identifiant commun à ces deux ensembles.
  • 5. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...
  • 6. Éléments de cartographie sous R La cartographie dans R La cartographie dans R Dans R, les cartes sont des objets dotés d’une structure complexe. Il existe plusieurs approches, mais la plus répandue consiste à utiliser la classe d’objets SpatialPolygonsDataFrame. C’est le package sp qui définit cette classe, qui contient aussi bien des données géographiques (coordonnées des éléments) que des données sur ces objets. Une bonne pratique consiste à séparer les donnnées portant sur les éléments (coordonnées mais aussi identifiants, par exemple) et celles qu’on souhaite cartographier dans deux objets distincts. Par ailleurs, le package ggplot2 propose également une fonction pour représenter des cartes raster ou choroplèthes (geom_map()), mais est lent et peu souple pour cette tâche. Il semble toutefois que le choix de la projection soit plus aisé.
  • 7. Éléments de cartographie sous R La cartographie dans R Les outils du package rgrs Dans le cadre de cette introduction, je vais présenter essentiellement les outils du package rgrs développé par Julien Barnier. Ils sont à la fois faciles à utiliser et relativement puissants. Une fois la logique assimilée, il sera aisé d’aller plus loin si nécessaire. library(rgrs) library(sp) library(maptools)
  • 8. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...
  • 9. Éléments de cartographie sous R Importer des données géographiques Importer des données géographiques Il existe de nombreux formats de données cartographiques, mais le plus répandu est le shapefile. Une carte est contenue dans un ensemble de fichiers portant tous le même nom mais dotés d’extensions différentes (.shp, .dbf, .prj...). library(rgdal) picardie <- readOGR("donnees/", "picardie") ## OGR data source with driver: ESRI Shapefile ## Source: "donnees/", layer: "picardie" ## with 2291 features and 18 fields ## Feature type: wkbPolygon with 2 dimensions picardie$STATUT <- as.factor(iconv(picardie$STATUT, from = "latin1", to = "utf8")) ## traitement de problèmes d'encodage picardie$codeINSEE <- as.character(picardie$INSEE_COM)
  • 10. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...
  • 11. Éléments de cartographie sous R Manipuler des objets spatiaux Avoir des informations sur une carte et la représenter summary(picardie) require(sp) plot(picardie)
  • 12. Éléments de cartographie sous R Manipuler des objets spatiaux Manipuler une carte Une carte est donc un objet de type SpatialPolygonsDataFrame. Il contient plusieurs ensemble de données ; généralement, le seul qu’on manipule directement est le slot @data, qui contient les données sur les objets géographiques. names(picardie@data) ## [1] "ID_GEOFLA" "CODE_COMM" "INSEE_COM" "NOM_COMM" "STATUT" ## [6] "X_CHF_LIEU" "Y_CHF_LIEU" "X_CENTROID" "Y_CENTROID" "Z_MOYEN" ## [11] "SUPERFICIE" "POPULATION" "CODE_CANT" "CODE_ARR" "CODE_DEPT" ## [16] "NOM_DEPT" "CODE_REG" "NOM_REGION" "codeINSEE" summary(picardie@data$NOM_DEPT) ## AISNE OISE SOMME ## 816 693 782
  • 13. Éléments de cartographie sous R Manipuler des objets spatiaux Manipuler une carte De plus, on manipule une carte comme n’importe quel dataframe : somme <- picardie[picardie@data$CODE_DEPT == "80", ] Le package sp offre de plus des outils pour facilement manipuler plusieurs couches cartographiques (par exemple étudier l’intersection de plusieurs ensembles d’éléments géographiques). Enfin, on sauve et charge cet objet comme n’importe quel autre : save(picardie, file = "donnees/picardie.Rdata") load("picardie.Rdata")
  • 14. Éléments de cartographie sous R Manipuler des objets spatiaux Agréger des éléments cartographiques On a parfois besoin de regrouper entre eux des polygones. Par exemple, de ma carte communale, je veux tirer une carte des départements. require(gpclib) gpclibPermit() ## [1] TRUE require(maptools) dpts <- unionSpatialPolygons(picardie, IDs = picardie@data$CODE_DEPT) plot(dpts)
  • 15. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...
  • 16. Éléments de cartographie sous R Cartes choroplèthes Représenter des proportions : les cartes choroplèthes L’intérêt d’une carte n’est généralement pas de simplement représenter des objets géographiques mais d’y associer de l’information. Il y a de multiples manières de le faire ; on se concentrera ici sur les cartes choroplèthes, dans lesquelles les polygones sont coloriées en fonction de la variable d’intérêt. On commence par vérifier qu’on a bien un identidiant commun à nos données et à notre carte : load("donnees/mini_picardie.Rdata") head(mini_picardie$CODE_COMMU) ## [1] 001 002 003 004 005 006 ## 908 Levels: 001 002 003 004 005 006 007 008 009 010 011 012 013 ... 909 # Non, donc on recode : mini_picardie$codeINSEE <- paste(as.character(mini_picardie$CODE_D_PAR), as.character(mini_picardie$CODE_COMMU), sep = "")
  • 17. Éléments de cartographie sous R Cartes choroplèthes Représenter des proportions : les cartes choroplèthes Par facilité, on ne va travailler que sur la Somme. On utilise la fonction carte.prop du package rgrs : somme <- picardie[picardie@data$CODE_DEPT == "80", ] carte.prop(somme, mini_picardie, varname = "AbsIns", sp.key = "codeINSEE", data.key = "codeINSEE", at = quantile(mini_picardie$AbsIns, c(0, 0.25, 0.5, 0.75, 1))) 100 15.6575 13.195 10.58 0 NA
  • 18. Éléments de cartographie sous R Cartes choroplèthes Paramétrer une carte choroplèthe La fonction carte.prop prend une série d’arguments, que vous pouvez tester. Par ailleurs, pour le choix des couleurs, on peut s’aider du site http://www.colorbrewer2.org. Les arguments palette.pos et palette.neg de carte.prop prennent les noms proposés sur le site.
  • 19. Plan 1 Quelques éléments sur la cartographie 2 La cartographie dans R 3 Importer des données géographiques 4 Manipuler des objets spatiaux 5 Cartes choroplèthes 6 Représenter des effectifs 7 Représenter une variable catégorielle 8 Quelques subtilités supplémentaires...