{"word_count": 509, "character_count": 3774}
Le package cartogram permet de construire des cartogrammes avec R. Trois types de déformations sont proposés  : les cartogrammes continus (Dougenik et al. 1985) avec la fonction cartogram_cont(), les cartogrammes discontinus (Olson 1976) avec la fonction cartogram_ncont(), les cartogrammes en cercles (Dorling 1996) avec la fonction cartogram_dorling().Le package peut être utilisé avec des objets sp ou sf.Dans l'exemple suivant nous utilisons les données contenues dans le package sf (North Carolina SIDS data set). Le script utilisé pour générer ces cartes est disponible ici.# get the path to the shapefile embedded in sf# packageshapepath &#60;- system.file("shape/nc.shp",                          package="sf")# import the shapefilenc &#60;- sf::st_read(shapepath)# change the projection of the mapnc &#60;- sf::st_transform(nc, 3857)# data preparation# compute the sudden infant deaths per 1000 birthsnc$share &#60;- 100000 * nc$SID74 / nc$BIR74# quantization breaks of the ratebks &#60;- getBreaks(v = nc$share, method = "quantile", nclass = 5)# correct the breaks to use the global rate as limit of class global_rate &#60;- sum(nc$SID74) * 100000 / sum(nc$BIR74)bks[4] &#60;- global_rate# get a color palettecols &#60;- carto.pal(pal1 = "green.pal", n1 = 3,                   pal2 = "wine.pal", n2 = 2)## Choropleth layer# set figure margins and background colorpar(mar = c(0,0,1.2,0), bg = "lemonchiffon")# display the sudden infant deaths per 1000 birthschoroLayer(x = nc,var = "share", breaks = bks, col = cols,           border = "khaki", lwd = 0.5,            legend.title.txt = "Sudden infant death syndrome rate*",            legend.pos = 'topleft', legend.values.rnd = 0)# add a title and layoutlayoutLayer(title = "Sudden Infant Death Syndrome in North Carolina, 1974-1978",             sources = "", north = TRUE, scale = 50,tabtitle = TRUE,            theme = "sand.pal", frame = FALSE,              author = "*per 100,000 live births. Source: North Carolina SIDS data set")Dans cette série de cartogrammes les superficies des régions sont propotionnelles aux nombres de naissances sur la période 1974-1978.Cartogramme continunc_cont &#60;- cartogram_cont(nc, "BIR74")Un autre type de cartogrammes continus (Gastner, Newman 2004) était disponible via les packages Getcartr et Rcartogram (voir Faire des anamorphoses cartographiques avec Getcartr), mais cette solution de semble plus fonctionner actuellement.Cartogramme discontinunc_ncont &#60;- cartogram_ncont(nc, "BIR74")Cartogramme de Dorlingnc_dorling &#60;- cartogram_dorling(nc, "BIR74",                                 k = 5)Avec ce type de cartogramme il est possible d'utiliser un poids pour les déplacements des cercles. Plus ce poids est proche de 0 plus le cercle sera proche de son emplacement d'origine et 1 est le poids maximal.Ici nous affectons un poids proportionnel à la valeur de la variable, les plus gros cercles bougeront moins que les plus petits. Cela aura pour résultat de structurer la carte par les régions ayant les plus fortes valeurs.w &#60;- 1 - (nc$BIR74 / max(nc$BIR74)) nc_dorling &#60;- cartogram_dorling(nc, "BIR74", m_weight = w,                                 k = 5)Reférences Dorling, D. (1996). Area Cartograms: Their Use and Creation. In Concepts and Techniques in Modern Geography (CATMOG), 59. Dougenik, J. A., Chrisman, N. R., &#38; Niemeyer, D. R. (1985). An Algorithm To Construct Continuous Area Cartograms. In The Professional Geographer, 37(1), 75-81. (paywall) Gastner, M. T., &#38; Newman, M. E. J. (2004). Diffusion-based method for producing density-equalizing maps. In Proceedings of the National Academy of Sciences 101(20) 7499-7504. Olson, J. M. (1976). Noncontiguous Area Cartograms. In The Professional Geographer, 28(4), 371-380. (paywall)