17  Import de fonds de carte

Le package maptiles (Giraud, 2023) permet de télécharger et d’afficher des fonds de cartes raster. La fonction get_tiles() permet de télécharger des fonds de cartes OSM au format SpatRaster du package terra.
Dans cette exemple nous utilisons le package mapsf pour afficher la carte.
Les rendus sont meilleurs si les données en entrée utilisent le même système de coordonnées que les tuiles (EPSG:3857).

library(sf)
library(maptiles)
library(mapsf)

com <- st_read("data/lot.gpkg", layer = "communes", quiet = TRUE)
com <- st_transform(com, 3857)

# Récupération d'un fond de carte OSM
osm_tiles <- get_tiles(x = com, zoom = 9, crop = TRUE)

mf_theme(mar = c(0,0,0,0))
mf_raster(osm_tiles)
mf_map(com, border = "grey20", col = NA, lwd = .7, add = TRUE)
mf_credits(get_credit("OpenStreetMap"), bg = "#ffffff80")

De nombreux styles de tuiles sont disponibles avec le package. En voici quelque uns:

Certains styles ne contiennent que des labels et peuvent être utilisés en complément de données vectorielles:

# Récupération d'un fond de carte OSM des labels
mf_theme(mar = c(0,0,0,0))
osm_labels <- get_tiles(x = com, provider = "CartoDB.PositronOnlyLabels")
mf_map(com, col = 'ivory', border = 'ivory3')
mf_raster(osm_labels, add = T)
mf_credits(get_credit("CartoDB.PositronOnlyLabels"), bg = "#ffffff80")

Pour certains styles, ceux fournis par Stadia ou Thunderforest par exemple, vous aurez besoin d’une clef d’API. Vous devez vous inscrire sur le site Web de ces fournisseurs pour obtenir une clef.