fishEye
Dans R
Le package fishEye, développé par Timothée Giraud est disponible sur gihub. Il propose 2 méthodes de déformation : log et racine carrée.
La méthode ‘log’ transforme les distances au centre de la façon suivante : d’ = log(1 + 10^(-k) * d)
La méthode ‘sqrt’ transforme les distances au centre de la façon suivante : d’ = sqrt(d)
install.packages(remotes)
library(remotes)
install_github("riatelab/fisheye")
library(sf)
<- st_read("../data/isere.geojson", quiet = TRUE ) %>% st_transform(2154) communes
On charge la library
library(fisheye)
On zoom sur grenoble
= communes[communes$name=="Grenoble",] ctr
Création d’un carroyage pour voir la déformation
<- st_bbox(communes)
bb = st_make_grid(communes, cellsize = 5000, square = TRUE)
grid = st_sf(id = rep("",length(grid)), geometry = grid) grid
Fonction d’affichage
= function(k){
plotmapfisheye <- fisheye(communes, centre = ctr, method = 'log', k = k)
communes_fisheye <- fisheye(grid, centre = ctr, method = 'log', k = k)
grid_fisheye plot(st_geometry(communes_fisheye), border = "white", col = "#c291bc")
plot(st_geometry(communes_fisheye[communes_fisheye$name == "Grenoble",]), border = "white", col = "#cf5da0", lwd = 0.5, add= TRUE)
plot(st_geometry(grid_fisheye), border = "#40393d", lwd = 0.3, add = TRUE)
title(main = paste0("k = ",k))
}
Let’s go
par(mfrow = c(3, 2), mar = c(0,0,2,0))
plotmapfisheye(6)
plotmapfisheye(5)
plotmapfisheye(4)
plotmapfisheye(3)
plotmapfisheye(2)
plotmapfisheye(1)
Le but de ce genre de méthode, c’est de d’élargir l’espace là où les données sont denses. Exemple : d’où viennent les travailleurs du 15e arrondissement de Paris (by Tim)