Inspiré du travail de SK53[1] j’ai ressorti les couverts et me suis relancé sur R (Un langage de programmation destiné au traitement de données). L’occasion d’à la fois me dérouiller un peu, de voir les interactions entre les communautés R et OpenStreetMap, et d’apprendre à jouer avec des données spatiales. Le code est fonctionnel mais nécessite encore un peu de peaufinage[2].
R n’est pas fourni par défaut sur ma distribution, ce qui a donc nécessité les bricoles d’usage pour l’installer avec l’interface RStudio – À défaut d’alternatives. Je ferai abstraction des installations de paquets nécessaires pour les librairies R par la suite (De tête il y en a eu pour pas moins de 2 Go).
En route
J’avais comme point de départ l’entrée de journal très succincte, ainsi qu’un morceau de code partagé sur le Fediverse :
https://wiki.openstreetmap.org/wiki/Tag:qplot(x=area,data=ten,
geom="histogram"https://wiki.openstreetmap.org/wiki/Tag:,binwidth=25)
https://wiki.openstreetmap.org/wiki/Tag:+aes(y=cumsum(
after_stat(count))
)
+labs(x="area of pitch",
y="count", title="Area of Tennis Courts in Great Britain on OSM")
+scale_x_continuous(
https://wiki.openstreetmap.org/wiki/Tag:breaks=seq(0,2500,250),
https://wiki.openstreetmap.org/wiki/Tag:limits=c(0,2500)
)
Bien qu’utilisant une syntaxe qui ne me sied guère le code semble relativement propre – Spoiler, je ne l’utiliserai finalement pas –, reste à savoir comment générer le jeu de données : je n’ai pas trouvé d’explication sur le passage d’une requête Overpass vers le calcul de surfaces. Ni le nettoyage des données au passage, je suppose qu’il y a aussi bien des nœuds, que des polygones, que – sigh – des multipolygones.
Spatial R : Comme le Spécial K™ mais avec plus que des lignes
J’utilise les paquets suivants :
- dplyr : Manipulation de données générale ;
- osmdata, sf, et units : Géographie ;
- ggplot2 : Standard pour les graphiques.
