12  Où trouver des données

Il existe des listes de données en ligne. Elles sont plutôt exhaustives pour les données mondiales, c’est moins vrai pour les données à l’échelle des pays :

12.1 Sources de données par thématique

Source Emprise
IPUMS (International / USA) Monde
World Bank Open Data Monde
UNData Monde
Eurostat Europe
INSEE France
INED France
Source Emprise
GTFS (opérateurs) Monde
World Bank Open Data Monde
Eurostat Europe
SNCF Open Data France

Certaines métropololes proposent des données de transports en commun en temps réels (par-ex. Rennes).

Source Emprise
FAO (FAOSTAT) Monde
World Bank Open Data Monde
Eurostat Europe
Agreste France
RPG (Registre Parcellaire Graphique) (IGN) France
INRAE Open Data Surtout France
Source Emprise
WHO Monde
World Bank Open Data Monde
IPUMS Monde
DREES France
Santé publique France France
Source Emprise
UN-Habitat Monde
World Bank Open Data Monde
Eurostat Europe
INSEE France
CEREMA (aménagement) France
DVF (Demande de Valeurs Foncières) France
Source Emprise
World Bank Open Data Monde
IMF Data Monde
OECD Data Monde
Eurostat Europe
INSEE France
URSSAF Open Data France
Source Emprise
UNESCO Institute for Statistics Monde
World Bank Open Data Monde
OECD Data Monde
DEPP (MEN) France
INSEE France
Source Emprise
UNData Monde
World Bank Open Data Monde
OECD Data Monde
Eurostat Europe
INSEE France
Thème Source Emprise
Conflits ACLED Monde
Politique V-Dem (démocratie) Monde
Politique data.gouv.fr – élections France
Source Emprise
Copernicus Land Monitoring Service Monde
Corine Land Cover Europe
Theia Land France métropolitaine
OCS GE (IGN) France
Source Résolution Emprise
ASTER 30 m Monde
SRTM \(\approx\) 90 m Monde
BD ALTI (IGN) 25 m France
RGE ALTI (IGN) 1 m France
Litto 3D (IGN/SHOM) 20 à 50 cm France (littoral)
Source Type Emprise
WorldClim Observation / Modèle Monde
ERA5 Modèle Monde
Météo-France Observation / Modèle France
SAFRAN Modèle France
Source Emprise
Hydro SHEDS Monde
Hydro Portail France
Thème Source Type Emprise
États de mer Copernicus Marine Service Observation Monde
États de mer Candhis (CEREMA) Observation France
États de mer ERA5 Modèle Monde
États de mer Ressource Code Modèle Façade Atlantique Européenne
Niveau d’eau PSML Observation Monde
Niveau d’eau FES2022 Modèle Monde
Niveau d’eau SHOM Observation / Modèle France
Thème Source Emprise
Biodiversité Global Biodiversity Information Facility Monde
Biodiversité Ocean Biodiversity Information System Monde
Biodiversité UICN red list Monde
Sol ISRIC Monde
Sol Gis Sol France

12.2 Fond de cartes

12.2.1 France

Pour obtenir des fonds de cartes du territoire français, on se tournera vers l’IGN. Tout ce que vous voyez sur une carte topographique IGN, vous pouvez le récupérer. L’IGN organise ses données par base, vous trouverez ci-dessous une description des bases les plus courrament utilisées :

Base type Description
Admin Express Vectoriel Base de données du découpage administratif français
BDCarto Vectoriel Base de données moyenne échelle
BDTopo Vectoriel Base de données détaillées
Contours…IRIS Vectoriel Le contour des IRIS
BDALTI Raster Modèle Numérique de Terrain (MNT). Résolution 25 m
BDOrtho Raster Base d’orthophotos de l’IGN. Résolution 20 cm

Une liste des bases plus détaillée est disponible sur le site de l’IGN. Les métadonnées sont disponibles sur la page web dédiée.

Pou récupérer ces données, vous pouvez vous rendre sur le site de l’IGN et les télécharger. Il est également possible de les télécharger directement sur R avec le package happign. En utilisant ce package vous vous assurez de ne télécharger que les données dont vous avez besoin1.

1 En effet, sur le site de l’IGN vous ne pouvez que télécharger les bases par départements sans possibilité de choisir les données que vous souhaitez en particulier ; pas très écolo cette affaire.

Mettons que l’on souhaite récupérer les bâtiments de Guissény (29) ainsi que l’emprise administrative de la commune. Si l’on a aucune idée d’où l’on peut trouver les bâtiments, on peut chercher dans les métadonnées des couches vectorielles.

library(happign)

# Récupération des métadonnées
meta <- get_layers_metadata(data_type = "wfs")

# Récupération du nom des couches
name <- meta$Name

# On cherche les couches qui contiennent la chaîne de caractère "bati"
com_name <- name[grep(x = name, "commune")]
head(com_name)
[1] "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:chef_lieu_de_commune"                     
[2] "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:chef_lieu_de_commune_associee_ou_deleguee"
[3] "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune"                                  
[4] "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune_associee_ou_deleguee"             
[5] "ADMINEXPRESS-COG.2017:commune"                                                   
[6] "ADMINEXPRESS-COG.2018:commune"                                                   
bati <- name[grep(x = name, "bati")]
head(bati)
[1] "BAN-PLUS:lien_adresse_bati"                                 
[2] "BAN-PLUS:lien_bati_parcelle"                                
[3] "BDCARTO_ETAT-MAJOR.NIVEAU4:c_1_2_ocs_ancien_sans_bati"      
[4] "BDCARTO_ETAT-MAJOR.NIVEAU4:c_2_1_batiment"                  
[5] "BDCARTO_ETAT-MAJOR.NIVEAU4:c_2_2_batiment_hors_zone_urbaine"
[6] "BDCARTO_ETAT-MAJOR.NIVEAU3:c_1_2_ocs_ancien_sans_bati"      

On obtient toute les données disponibles. Nous utiliserons les données de la BDTOPO BDTOPO_V3:batiment. L’étape suivant consiste à filtrer la couche pour ne retenir que les informations qui nous intéresse. On peut filtrer par attributs ou par opération spatiale. Le filtre sera réalisé sur les serveurs de l’IGN et vous récupérez le résultat.

Pour filtrer par attribut, on utilise un filtre ECQL. Il s’agit d’un langage de requête très proche du SQL (ce qui vous utilisez sous QGIS pour filtrer vos données). Pour savoir comment filtrer vos données, il vous faut d’abord savoir quels sont les attributs de votre couche. Pour cela, on utilise la fonction get_wfs_attributes().

get_wfs_attributes("BDTOPO_V3:commune")
 [1] "cleabs"                             "code_insee"                        
 [3] "code_insee_du_canton"               "code_insee_de_l_arrondissement"    
 [5] "code_insee_de_la_collectivite_terr" "code_insee_du_departement"         
 [7] "code_insee_de_la_region"            "population"                        
 [9] "superficie_cadastrale"              "date_creation"                     
[11] "date_modification"                  "date_d_apparition"                 
[13] "date_de_confirmation"               "code_postal"                       
[15] "nom_officiel"                       "chef_lieu_d_arrondissement"        
[17] "chef_lieu_de_collectivite_terr"     "chef_lieu_de_departement"          
[19] "chef_lieu_de_region"                "capitale_d_etat"                   
[21] "date_du_recensement"                "organisme_recenseur"               
[23] "code_siren"                         "codes_siren_des_epci"              
[25] "lien_vers_chef_lieu"                "liens_vers_autorite_administrative"
# On récupère guissény
com <- get_wfs(layer = "BDTOPO_V3:commune", query = "code_insee = '29077'")

Un fois que l’on a récupéré la commune, on peut récupérer les batiments qui intersectent la commune :

batiments <- get_wfs(
  x = com,
  layer = "BDTOPO_V3:batiment",
  predicate = intersects()
)
iterating ■■■■■■■■■■■                       33% | ETA:  3s
iterating ■■■■■■■■■■■■■■■■                  50% | ETA:  2s
iterating ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  100% | ETA:  0s
Code
library(ggspatial)
library(ggplot2)
library(sf)

ggplot() +
  geom_sf(data = com) +
  geom_sf(data = batiments, fill = "red") +
  annotation_scale(location = "br") +
  annotation_north_arrow(
      location = "tr", which_north = "true",
      style = north_arrow_fancy_orienteering
  ) +
  theme_minimal()

12.2.2 Fond de cartes à petite faible

Pour des fond de cartes à petites échelles, se tournera vers Natural Earth. Ce jeu de données enregistre les données élémentaires pour créer des fonds de cartes : frontières des pays, routes, cours d’eau, toponymie, zones urbaines, lacs, etc.

Le package rnaturalearth permet de récupérer directement ces données sous R. Pour une carte du continent européen :

europe <- rnaturalearth::ne_countries(continent = "Europe", scale = "small")

ggplot() +
  geom_sf(data = europe) +
  theme_minimal()