New version of cartography

A new version of the cartography package (v2.2.0) has arrived on CRAN.

Website

A website showing the package documentation and vignette has been built with pkgdown.

Vignette

A new vignette introduces the package and provides examples of how to create some thematic maps:

Datasets

A new dataset has been added to the package: a GeoPackage of Martinique municipalities that can be imported via the st_read() function of the sf package. This dataset contains municipalities geometries and a few variables (population, median income, active population…). The dataset is fully documented in the vignette. All examples are based on it but the old NUTS 2006 dataset is still available via data(nuts2006).

New Features

  • We have introduced a new argument legend.horiz in choroLayer() to display legends horizontally:
library(cartography)
library(sf)
mtq <- st_read(system.file("gpkg/mtq.gpkg",  
                           package = "cartography"))
choroLayer(
  x = mtq, var = "MED", 
  legend.horiz = TRUE, 
  legend.pos = "topright",
  legend.title.txt = "Median Income",
  legend.values.rnd = -2
)
  • The posscale argument in layoutLayer() allows to display the scale bar in the bottomleft or bottomright corners. The horiz argument can be set to FALSE to display sources and author vertically in the bottomright corner:
layoutLayer(
  title = "Wealth Disparities in Martinique, 2015", 
  posscale = "bottomleft", scale = 5,
  horiz = FALSE,
  sources = "Insee and IGN, 2018 - cartography 2.2.0")
)
  • A new position is available for most legends. Using the “bottomleftextra” position leaves an extra padding in the bottomleft corner to avoid overlapping with sources and author display from layoutLayer():

Bug fixes

This release also fixes various small bugs. A certain number of theses bugs were found in the implementation of a test suite for the package. See the NEWS file for the full list of changes.


6 réflexions sur « New version of cartography »

  1. Bonjour, Merci pour vos articles ! Je ne connaissais pas le package cartographie et il y a une question que je me suis posé il y a quelque temps qui pourrait trouver sa solution ici. J’aimerais tout simplement représenter des graphiques camemberts de compositions végétales sur un fond de carte au centre des mes différentes parcelles.

    data %
    left_join(data, by = “Territory”) %>%
    ggplot() +
    geom_sf(aes(fill = Pins), color = “black”) + theme_bw() +
    xlab(“”) + ylab(“”) +
    scale_fill_distiller(palette = “Spectral”) +
    geom_sf_text(aes(label = Territory), colour = “coral4”, size = 4)

    Lorsque j’utilise geom_sf_text, le nom de mes territoires se retrouvent à l’exact centre des mes parcelles, et j’aimerais y mettre des pies. Auriez vous des pistes s’il vous plait ? (j’ai posé la question sur un forum il y a quelques semaines, mais la seule solution proposée était un calque mal fichu).
    Merci !

  2. Bonjour,

    J’utilise depuis peu votre package Cartography et découvre les joies du SIG réalisé dans R, un grand merci !
    Néanmoins, malgré de longues tentatives et recherches, je ne parviens pas à réaliser quelque chose qui semble pourtant très simple. Je tente de représenter une couche de points grâce à la fonction choroLayer et je souhaiterais que les points soient pleins et j’obtiens seulement des cercles de couleurs différentes. Ce que je souhaite ressemble à un propSymbolsChoroLayer où tous les points seraient de même taille.
    Est-ce possible d’obtenir ce type de représentation ?
    Merci par avance,

    CP

    1. Bonjour,
      Pour l’instant vous pouvez utiliser `propSymbolsChoroLayer()` en créant d’abord une variable numérique ayant toujours la même valeur.
      Quelque chose comme ça :

      library(cartography)
      library(sf)
      mtq <- st_read(system.file("gpkg/mtq.gpkg", package="cartography"))
      mtq_centro <- st_centroid(mtq)
      mtq_centro$dummy <- 1
      plot(st_geometry(mtq))
      propSymbolsChoroLayer(x = mtq_centro, var = "dummy",var2 = "MED", inches = 0.1,legend.var.pos = NA)

      Je songe à permettre l’utilisation directe de `choroLayer()` dans une prochaine version du package.

      1. En effet, la solution est simple, encore fallait-il y penser ! L’utilisation directe de choroLayer simplifierai encore l’opération. Merci beaucoup !

        CP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.