This article shows how to plot the SpatRaster
produced
by rasterpic_img()
with several packages.
Base plots
The most straightforward option is to use the base
plot()
methods provided by the package
terra (terra::plotRGB()
):
library(rasterpic)
library(terra)
# The flag of the United Kingdom
img <- system.file("img/UK_flag.png",
package = "rasterpic"
)
uk <- sf::st_read(
system.file("gpkg/UK.gpkg",
package = "rasterpic"
),
quiet = TRUE
)
uk_img <- rasterpic_img(uk, img, mask = TRUE, inverse = TRUE)
plotRGB(uk_img)
With tmap
tmap can be also used to create great maps:
library(tmap)
tm_shape(uk_img) +
tm_graticules() +
tm_rgb()
With mapsf
mapsf also provides this functionality:
library(mapsf)
mf_raster(uk_img)
mf_scale()
mf_inset_on(x = "worldmap", pos = "topright")
mf_worldmap(uk)
mf_inset_off()
With maptiles
maptiles is a interesting package that provides the
ability of downloading map tiles from different providers. It also has a
specific function for plotting terra
SpatRaster
objects:
library(maptiles)
other_tile <- get_tiles(uk, crop = TRUE, zoom = 6)
other_tile_crop <- terra::crop(other_tile, uk_img)
plot_tiles(other_tile_crop)
plot_tiles(uk_img, add = TRUE)
References
Tennekes M (2018). “tmap: Thematic Maps in R.” Journal of Statistical Software, 84(6), 1–39. doi:10.18637/jss.v084.i06.
Giraud T (2024). mapsf: Thematic Cartography. R package version 0.12.0, https://riatelab.github.io/mapsf/.
Hernangómez D (2023). “Using the tidyverse with terra objects: the tidyterra package.” Journal of Open Source Software, 8(91), 5751. ISSN 2475-9066, doi:10.21105/joss.05751, https://doi.org/10.21105/joss.05751.
Hijmans R (2024). terra: Spatial Data Analysis. R package version 1.7-83, https://rspatial.github.io/terra/, https://rspatial.org/.
Wickham H (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. ISBN 978-3-319-24277-4, https://ggplot2.tidyverse.org.
Session info
Details
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.4.2 (2024-10-31 ucrt)
#> os Windows Server 2022 x64 (build 20348)
#> system x86_64, mingw32
#> ui RTerm
#> language en
#> collate English_United States.utf8
#> ctype English_United States.utf8
#> tz UTC
#> date 2024-11-20
#> pandoc 3.1.11 @ C:/HOSTED~1/windows/pandoc/31F387~1.11/x64/PANDOC~1.11/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> abind 1.4-8 2024-09-12 [1] RSPM
#> base64enc 0.1-3 2015-07-28 [1] RSPM
#> bslib 0.8.0 2024-07-29 [1] RSPM
#> cachem 1.1.0 2024-05-16 [1] RSPM
#> class 7.3-22 2023-05-03 [3] CRAN (R 4.4.2)
#> classInt 0.4-10 2023-09-05 [1] RSPM
#> cli 3.6.3 2024-06-21 [1] RSPM
#> codetools 0.2-20 2024-03-31 [3] CRAN (R 4.4.2)
#> colorspace 2.1-1 2024-07-26 [1] RSPM
#> crosstalk 1.2.1 2023-11-23 [1] RSPM
#> curl 6.0.1 2024-11-14 [1] RSPM
#> DBI 1.2.3 2024-06-02 [1] RSPM
#> desc 1.4.3 2023-12-10 [1] RSPM
#> dichromat 2.0-0.1 2022-05-02 [1] RSPM
#> digest 0.6.37 2024-08-19 [1] RSPM
#> dplyr 1.1.4 2023-11-17 [1] RSPM
#> e1071 1.7-16 2024-09-16 [1] RSPM
#> evaluate 1.0.1 2024-10-10 [1] RSPM
#> fansi 1.0.6 2023-12-08 [1] RSPM
#> farver 2.1.2 2024-05-13 [1] RSPM
#> fastmap 1.2.0 2024-05-15 [1] RSPM
#> fs 1.6.5 2024-10-30 [1] RSPM
#> generics 0.1.3 2022-07-05 [1] RSPM
#> ggplot2 * 3.5.1 2024-04-23 [1] RSPM
#> glue 1.8.0 2024-09-30 [1] RSPM
#> gtable 0.3.6 2024-10-25 [1] RSPM
#> htmltools 0.5.8.1 2024-04-04 [1] RSPM
#> htmlwidgets 1.6.4 2023-12-06 [1] RSPM
#> jquerylib 0.1.4 2021-04-26 [1] RSPM
#> jsonlite 1.8.9 2024-09-20 [1] RSPM
#> KernSmooth 2.23-24 2024-05-17 [3] CRAN (R 4.4.2)
#> knitr 1.49 2024-11-08 [1] RSPM
#> lattice 0.22-6 2024-03-20 [3] CRAN (R 4.4.2)
#> leafem 0.2.3 2023-09-17 [1] RSPM
#> leaflet 2.2.2 2024-03-26 [1] RSPM
#> leafsync 0.1.0 2019-03-05 [1] RSPM
#> lifecycle 1.0.4 2023-11-07 [1] RSPM
#> lwgeom 0.2-14 2024-02-21 [1] RSPM
#> magrittr 2.0.3 2022-03-30 [1] RSPM
#> maplegend 0.2.0 2024-11-12 [1] RSPM
#> mapsf * 0.12.0 2024-10-22 [1] RSPM
#> maptiles * 0.8.0 2024-10-22 [1] RSPM
#> munsell 0.5.1 2024-04-01 [1] RSPM
#> pillar 1.9.0 2023-03-22 [1] RSPM
#> pkgconfig 2.0.3 2019-09-22 [1] RSPM
#> pkgdown 2.1.1 2024-09-17 [1] any (@2.1.1)
#> png 0.1-8 2022-11-29 [1] RSPM
#> proxy 0.4-27 2022-06-09 [1] RSPM
#> purrr 1.0.2 2023-08-10 [1] RSPM
#> R6 2.5.1 2021-08-19 [1] RSPM
#> ragg 1.3.3 2024-09-11 [1] RSPM
#> raster 3.6-30 2024-10-02 [1] RSPM
#> rasterpic * 0.2.5 2024-11-20 [1] local
#> RColorBrewer 1.1-3 2022-04-03 [1] RSPM
#> Rcpp 1.0.13-1 2024-11-02 [1] RSPM
#> rlang 1.1.4 2024-06-04 [1] RSPM
#> rmarkdown 2.29 2024-11-04 [1] RSPM
#> s2 1.1.7 2024-07-17 [1] RSPM
#> sass 0.4.9 2024-03-15 [1] RSPM
#> scales 1.3.0 2023-11-28 [1] RSPM
#> sessioninfo * 1.2.2 2021-12-06 [1] any (@1.2.2)
#> sf 1.0-19 2024-11-05 [1] RSPM
#> slippymath 0.3.1 2019-06-28 [1] RSPM
#> sp 2.1-4 2024-04-30 [1] RSPM
#> stars 0.6-7 2024-11-07 [1] RSPM
#> systemfonts 1.1.0 2024-05-15 [1] RSPM
#> terra * 1.7-83 2024-10-14 [1] RSPM
#> textshaping 0.4.0 2024-05-24 [1] RSPM
#> tibble 3.2.1 2023-03-20 [1] RSPM
#> tidyr 1.3.1 2024-01-24 [1] RSPM
#> tidyselect 1.2.1 2024-03-11 [1] RSPM
#> tidyterra * 0.6.1 2024-06-08 [1] RSPM
#> tmap * 3.3-4 2023-09-12 [1] RSPM
#> tmaptools 3.1-1 2021-01-19 [1] RSPM
#> units 0.8-5 2023-11-28 [1] RSPM
#> utf8 1.2.4 2023-10-22 [1] RSPM
#> vctrs 0.6.5 2023-12-01 [1] RSPM
#> viridisLite 0.4.2 2023-05-02 [1] RSPM
#> withr 3.0.2 2024-10-28 [1] RSPM
#> wk 0.9.4 2024-10-11 [1] RSPM
#> xfun 0.49 2024-10-31 [1] RSPM
#> XML 3.99-0.17 2024-06-25 [1] RSPM
#> yaml 2.3.10 2024-07-26 [1] RSPM
#>
#> [1] D:/a/_temp/Library
#> [2] C:/R/site-library
#> [3] C:/R/library
#>
#> ──────────────────────────────────────────────────────────────────────────────