Une des premières difficultés lorsqu'on réalise une carte est de trouver un fond de carte vierge à compléter.
Il faut :
Un fond de carte vectoriel
Que ce fond de carte soit associé à des données qui permettront d'y combiner de l'information (longitude, latitude, numéros INSEE des communes...)
Encore plus dur (non traité ici), que ce fond de carte intègre les contours d'une époque dans cadre de cartes historiques.
La fonction getData du package raster permet de télécharger automatiquement des fonds de carte de bonne qualité. Ces fonds de carte ne répondent pas toujours aux besoins. Il faut alors en trouver ! (cf. plus bas)
Il est possible de réaliser une de n'importe quel pays en téléchargeant un fond de carte sur le merveilleux site de gadm.
Il suffit de :
Aller dans la rubrique data
Cliquer sur World ou Country et sélectionner le pays de son choix
Cliquer sur Shapefile (si format .sp : le niveau (level) indique la découpe administrative : de l'échelle de la région à celle de la commune).
Problème des données de GADM : pas de codes INSEE associés, pas assez de métadonnées.
Sur GADM, on peut trouver des données pour réaliser une carte administrative de France. Pour cela différents fonds de carte sont disponibles en ligne. Tels ces fichiers qu'on retrouve sur le site gadm où il est possible de télécharger par pays :
FRA_adm0.RData : carte de France
FRA_adm1.RData : carte des régions
FRA_adm2.RData : carte des départements
autres (communes...) téléchargeables sur le site.
Les fonds de carte au format Rdata peuvent directement être chargés avec la fonction load().
load("FRA_adm2.RData") # Carte des départements peut être chargée directement avec la commande chargement dans fichier.
Pour la France, on dispose des données enrichies de l'IGN (GEOFLA) dont une partie est disponible gratuitement.
Lorsqu'on ne dispose pas de code INSEE et que l'on envisage de travailler uniquement avec les noms des régions, un problème se pose immédiatement : les noms de régions, des communes et des lieux ne sont pas nécessairement écrits de la même façon dans les métadonnées du fond de carte que dans le tableau où nous avons collectés les données statistiques.
Le plus simple est donc de récupérer directement les noms tels qu'ils sont écrits dans le fond de carte et de faire son tableau à partir de ces noms.
Une source spécialement utile pour la gestion de toutes les données spatiales :
Des liens externes pour trouver des fonds de carte au format vectoriel (.shp) :
library(sp)
data(meuse)
# Conversion en objet sp
coordinates(meuse) <- ~x+y
plot(meuse)
load("Mon_RDATA.RData")
Format sp avec la fonction st_read()
library(sf)
avignon_sp1_contours <- st_read(file.choose())# .shp contours (lien ci-dessous)
avignon_sp2_monuments <- st_read(file.choose())# .shp monuments
bbox(avignon_sp2_monuments) # Système de projection à conformer
avignon_sp2_monuments <-spTransform(avignon_sp2_monuments, CRS("+init=epsg:4326"))
plot(avignon_sp1_contours,xlim=c(4.8,4.9),ylim=c(43.88,44.0))
points(avignon_sp2_monuments[1],pch=16,cex=2,col="red")
Monuments d’Avignon : https://www.data.gouv.fr/fr/datasets/grandavignonpoi/
Contours IRIS : https://datanova.laposte.fr/explore/dataset/contours-iris-2015/export/?q=Avignon&location=12,43.93227,4.81373&basemap=jawg.streets
Format sf avec la fonction read_st()
library(sf) ; library(cartography)
avignon <- st_read(dsn ="https://trouver.datasud.fr/dataset/99a53f28-5251-456e-a937-253a275a5808/resource/c3b6cf68-742e-4179-8092-02f69f617150/download/84007-monumentshistoriques.gpkg", quiet = TRUE)
st_bbox(avignon)
plot(st_geometry(avignon))
library(raster)
adm_fr <- getData('GADM', country='FRA', level=2)
plot(adm_fr)
library("OpenStreetMap")
mp <- openmap(c(43.96, 4.74),c(43.91, 4.84),13,'osm')
map_longlat <- openproj(mp)
plot(map_longlat)