OpenStreetMap est aujourd’hui l’une des bases de données cartographiques libres les plus importantes au monde. Elle regroupe plus de 6 milliards d’objets géographiques à travers le globe et s’enrichit en permanence grâce à sa communauté de contributeurs. R-OpenStreetMap est une bibliothèque R qui permet d’utiliser ces données pour réaliser des analyses spatiales. Dans cet article, nous allons nous intéresser à la notion d’emprise au sol et à son utilisation avec R-OpenStreetMap.
Qu’est-ce que l’emprise au sol ?
L’emprise au sol désigne la surface qu’occupe un bâtiment ou une construction, vu du dessus. C’est une notion importante en urbanisme, notamment pour le calcul de la densité de population ou pour la détermination de la surface constructible d’un terrain. Pour mesurer l’emprise au sol d’un bâtiment, on trace un polygone autour de ses limites extérieures, en prenant en compte les éventuelles avancées ou reculs par rapport à la façade.
Dans le cadre de l’analyse spatiale, l’emprise au sol peut être calculée pour un ensemble de bâtiments. On peut ainsi déterminer la surface totale couverte par les constructions dans une zone donnée. Cette information peut être croisée avec d’autres données, telles que la hauteur des bâtiments, pour obtenir des informations sur la densité urbaine ou sur l’impact environnemental de l’urbanisation.
Récupération des données OpenStreetMap avec R-OpenStreetMap
Pour utiliser les données OpenStreetMap dans R, il faut d’abord les récupérer. La bibliothèque R-OpenStreetMap propose plusieurs fonctions pour cela, dont la fonction get_osm. Cette fonction permet de télécharger des données cartographiques pour une zone donnée, en spécifiant un ensemble de tags OpenStreetMap qui permettent de filtrer les données. Par exemple, pour récupérer tous les bâtiments d’une ville, on peut utiliser la requête suivante :
library(ROpenStreetMap)
city_bbox <- getbb("Paris") # récupération des coordonnées de la bbox de Paris
buildings <- get_osm(city_bbox, type = "way", key = "building")
Cette requête renvoie une liste de way et de node (les deux types d’objets géographiques dans OpenStreetMap), correspondant aux bâtiments de la ville de Paris. Chaque way est un polygone représentant le contour d’un bâtiment.
Calcul de l’emprise au sol
Pour calculer l’emprise au sol d’un bâtiment à partir de son contour, on peut utiliser la fonction areaPolygon, du package rgeos. Cette fonction calcule l’aire d’un polygone en mètres carrés, en prenant en compte la projection cartographique utilisée.
library(rgeos)
building_area <- lapply(buildings, function(x) {
proj4string(x) <- CRS("+proj=longlat +datum=WGS84") # déclaration de la projection
areaPolygon(x) # calcul de l'aire
})
Ici, on utilise une fonction lapply pour appliquer la fonction areaPolygon à chaque élément de la liste buildings. Le résultat est une liste building_area qui contient l’aire de chaque polygone.
Visualisation des résultats
Pour visualiser les résultats, on peut utiliser la bibliothèque ggplot2, qui permet de créer des graphiques élégants en R. On peut par exemple créer un histogramme de l’emprise au sol des bâtiments :
library(ggplot2)
df <- data.frame(building_area = unlist(building_area))
ggplot(df, aes(x = building_area)) +
geom_histogram(binwidth = 100, fill = "blue") +
xlab("Emprise au sol (m²)") +
ylab("Nombre de bâtiments")
Cette commande crée un histogramme qui représente la distribution des emprises au sol des bâtiments. On peut ainsi observer la proportion de petits ou grands bâtiments dans la zone étudiée.
Avec R-OpenStreetMap, il est facile de récupérer et d’analyser des données cartographiques pour mesurer l’emprise au sol des bâtiments. Cette information peut être utile pour de nombreuses applications en urbanisme et en environnement. De plus, R offre de nombreuses possibilités pour visualiser les résultats et les présenter de manière claire et compréhensible.
