1 Traitement de données spatiales

1.1 Préparer son environement de travail

  • Créez un projet RStudio.
    Dans RStudio créez un projet et nommé le exercice. Il s’agit d’une bonne pratique qui vous facilitera la tâche. Cela améliore l’organisation et la portabilité de votre travail.
  • Dans le projet, créez un dossier data.
  • Téléchargez les données :
    • Un fichier contenant les polygones des communes d’Occitanie au format gpkg est disponible ici : Occitanie.gpkg. Il faut télécharger le fichier puis le placer dans le dossier data que vous venez de créer.
    • Un fichier contenant des données socio-démographiques sur les communes de France est disponible ici : base_cc_comparateur.xls. Il faut le télécharger et le mettre également dans le même dossier data.
  • Créez un fichier exo1.R et enregistrez le à la racine du projet.

Votre projet RStudio doit être structuré de la manière suivante :

├── data
│   └── base_cc_comparateur.xls
│   └── Occitanie.gpkg
├── exo1.R
└── exercice.Rproj

Vous devez enregistrer votre script régulièrement dans le fichier exo1.R.

Source du fichier Occitanie.gpkg : ADMIN EXPRESS COG édition 2019, IGN
Source du fichier base_cc_comparateur.xls : Base comparateur de territoires 2019, INSEE

1.2 Charger une couche géographique

  • Chargez la couche géographique des communes d’Occitanie en utilisant le package sf et la fonction st_read().
  • Vérifiez le système de projection avec st_crs(). S’agit-il de données projetée ? Si ce n’est pas le cas, transformez la couche des communes dans la projection française (Lambert 93, EPSG : 2154) avec la fonction st_transform().
library(sf)
## Linking to GEOS 3.7.1, GDAL 3.1.2, PROJ 7.1.0
occ_raw <- st_read(dsn = "data/Occitanie.gpkg", stringsAsFactors = FALSE)
## Reading layer `Occitanie' from data source `/home/tim/Documents/prz/carto_avec_r_exo/data/Occitanie.gpkg' using driver `GPKG'
## Simple feature collection with 4454 features and 11 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -0.3271723 ymin: 42.33292 xmax: 4.845565 ymax: 45.04557
## geographic CRS: WGS 84
st_crs(occ_raw)
## Coordinate Reference System:
##   User input: WGS 84 
##   wkt:
## GEOGCRS["WGS 84",
##     DATUM["World Geodetic System 1984",
##         ELLIPSOID["WGS 84",6378137,298.257223563,
##             LENGTHUNIT["metre",1]]],
##     PRIMEM["Greenwich",0,
##         ANGLEUNIT["degree",0.0174532925199433]],
##     CS[ellipsoidal,2],
##         AXIS["geodetic latitude (Lat)",north,
##             ORDER[1],
##             ANGLEUNIT["degree",0.0174532925199433]],
##         AXIS["geodetic longitude (Lon)",east,
##             ORDER[2],
##             ANGLEUNIT["degree",0.0174532925199433]],
##     USAGE[
##         SCOPE["unknown"],
##         AREA["World"],
##         BBOX[-90,-180,90,180]],
##     ID["EPSG",4326]]
occ <- st_transform(x = occ_raw, crs = 2154)

1.3 Réaliser une sélection par attributs

  • Séléctionnez toutes les communes de la Haute-Garonne.
  • Enregistrez votre séléction dans un nouvel objet nommé com31
  • Afficher la nouvelle couche (en utilisant notament st_geometry())

Pour connaitre la liste de tous les noms ou code de région on peut utiliser la fonction unique().

unique(occ$INSEE_DEP)
##  [1] "32" "31" "82" "12" "81" "30" "11" "65" "46" "09" "34" "66" "48"
com31 <- occ[occ$INSEE_DEP == "31", ]
plot(st_geometry(com31))