# un chemin absolu (sous Windows)
chemin_absolu <- "C:\\MyFolder\\Documents\\Cours\\R_et_geomatique\\Data\\communes_France.gpkg"
# ou
chemin_absolu <- "C:/MyFolder/Documents/Cours/R_et_geomatique/Data/communes_France.gpkg"
# un chemin relatif (grâce au projet RStudio)
chemin_relatif <- ".\\Data\\communes_France.gpkg"
# ou
chemin_relatif <- "./Data/communes_France.gpkg"R et données spatiales
Initiation à la manipulation de données spatiales avec R
Objectifs du cours
Ce support de cours a pour vocation de vous rendre familier à la manipulation de données géographiques avec le langage de programmation R. Vous y trouverez des exercices faisant prendre en mains les principales fonctionnalités SIG aussi bien vecteurs que rasters avec R. Vous pourrez vous référer aux briques de géomatiques accompagnant ce support, présentant différentes manipulations géomatiques avec différents outils (R, QGIS, OrfeoToolbox…)
Dans les trois premiers volets, vous trouverez un ensemble de manipulations vecteurs (import/export de fichiers, sélections, jointures …), des géotraitements classiques (intersection, différence, …) ainsi que des manipulations croisant rasters et vecteurs (découpage, statistiques zonales, vectorisation, …). Le quatrième volet sera consacré à la production de cartes thématiques (carte de localisation, carte choroplèthe, carte en cercles proportionnels) à différentes échelles et faisant appel à des rasters. Le cinquième volet sera l’occasion d’une exploration statistique de la relation existant (ou non) entre la démographie des communes et leurs localisations le long d’un cours d’eau via un test statistique. Enfin, pour finir, dans le sixième volet nous verrons comment produire une carte interactive pour le web.
Fil rouge et données
Nous prendrons comme fil rouge l’exploration des données démographiques communales à l’échelle de la France métropolitaine. Nous regarderons comment se répartit la population à la maille communale sur l’ensemble du territoire. Nous utiliserons les données suivantes :
- communes_France.gpkg : la couche vecteur de polygones des communes de France métropolitaine en 2020.
- communes_population.xlsx : un tableur avec la population communale française en 2020.
- hydro_France.gpkg : la couche vecteur linéaire des principaux cours d’eau de France.
- ESA_WorldCover_2021_fr.tif : une couche raster d’occupation des sols sur une partie de la France.
- MNT_GTopo.tif : un MNT à l’échelle de la France
Au préalable
Au préalable, il est bien d’avoir quelques notions fondamentales sur les SIG, et notamment sur les poins suivants :
- les systèmes de projection
- les différences entre données vecteurs et rasters
- les principaux formats rasters et vecteurs
Nous utiliserons R via l’interface de développement RStudio. Ce logiciel est gratuit est disponible sous tous les systèmes d’exploitation. Si ce n’est pas encore fait, installez le sur votre ordinateur.
Des rudiments de R ou d’un autre langage de programmation seront également nécessaires. Nous utiliserons particulièrement les librairies R suivantes :
- terra : pour la manipulation des données vecteurs et rasters.
- readxl : pour importer des tableurs Excel dans R
- mapsf : pour la cartographie thématique
- sf : pour la gestion des données vecteurs (nécessaire pour mapsf)
- dplyr : pour manipuler des dataframes de façon plus direct
- plotly : pour tracer des graphiques dynamiques
- leaflet : pour générer des cartes interactives
- RColorBrewer : pour générer des palettes de couleurs chatoyantes
Si ce n’est pas déjà fait, nous commençons par installer ces librairies en allant dans RStudio puis le menu Tools → Install Packages… → puis cherche le package à installer dans la barre de recherche.
Structure du répertoire de travail
Pour suivre ce support, vous pouvez vous créer un répertoire dédié sur votre ordinateur, nommé par exemple R_et_geomatique (ou tout autre nom). Dans ce répertoire vous pouvez créer un sous répertoire Data dans le quel vous stockerez les données fournies (geopackages et autres). Créez vous également un sous répertoire nommé Data_processed dans lequel vous exporterez vos résultats. Ensuite, vous pouvez créer un projet RStudio qui pointe sur votre répertoire R_et_geomatique. Pour ce faire, dans RStudio, allez dans File → New Project… → Existing Directory puis pointez sur votre répertoire R_et_geomatique et Create Project. Cette manipulation vous permettra d’accéder aux données se trouvant dans Data en utilisant des chemins relatifs, plus faciles à manier. Ci-dessous, nous vous rappelons une spécificité relative aux chemins sous Windows.
Une fois votre projet RStudio créé, créez un nouveau script R en allant dans File → New File → R Script. Il faut ensuite le sauver en allant dans File → Save As… et sauvez votre script avec un nom de votre choix (script_geomatique.R par exemple). Normalement il est sauvé dans votre répertoire de projet. Vous travaillez ensuite dans ce script.
Un script R est un simple fichier texte. Ça ne pèse rien et vous pouvez l’ouvrir un éditeur de texte basique.
Ressources supplémentaires
Vous trouverez des ressources sur R appliqué à la géomatique à la pelle, aussi bien des cours, de la documentation, des tutoriels vidéos… Vous trouverez ici une sélection de ressources (non exhaustives) :
- Géomatique avec R : manipulations vecteurs et géotraitements
- R Géomatique : un blog sur différents packages de géomatique et cartographie
- Rzine : un corpus de fiches méthodologiques SIG et statistiques avec R
- R spatial : manipulations rasters avec R
- ElementR : une série d’ateliers avec supports détaillés autour de manipulations géographiques et cartographiques
Le développement de code se fait de plus en plus avec le support de l’IA. Les IA conversationnelles sont des outils puissants qui aident énormément au développement. Néanmoins, avoir une bonne connaissance préalable du code est nécessaire afin de savoir poser les bonnes questions et interpréter convenablement les répondes fournies et les modifier à son propre jeu de données. Si ChatGPT est l’IA la plus connue, d’autres sont également intéressantes. Il en existe des dizaines, mais pour la génération de code et le traitements de données Claude.ai est très efficace. Cependant, gardons à l’esprit que toutes ces plateformes vivent de nos données (qu’ils gèrent de façon plus ou moins opaques) et que l’IA en général est un puissant générateur de gaz à effet de serre…