The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

rasterpic rasterpic website

CRAN status CRAN results R-CMD-check codecov r-universe CodeFactor DOI Project Status: Active – The project has reached a stable, usable state and is being actively developed. status

rasterpic is a tiny package with a single goal: to transform an image into a terra SpatRaster object (see ?terra::SpatRaster).

Installation

Install rasterpic from CRAN:

install.packages("rasterpic")

Check the documentation for the development version at https://dieghernan.github.io/rasterpic/dev/.

You can install the development version of rasterpic with:

# install.packages("pak")
pak::pak("dieghernan/rasterpic")

Alternatively, you can install rasterpic using the r-universe:

# Install rasterpic in R.
install.packages(
  "rasterpic",
  repos = c(
    "https://dieghernan.r-universe.dev",
    "https://cloud.r-project.org"
  )
)

Example

You can create custom maps with several spatial input classes:

The main function, rasterpic_img(), is an S3 generic. The methods for extent-like inputs use the object extent, and vector methods can also mask the image to the object shape.

An example using an sf object:

library(rasterpic)
library(sf)
library(terra)

# Use the flag of the United Kingdom.
img <- system.file("img/UK_flag.png", package = "rasterpic")
uk <- read_sf(system.file("gpkg/UK.gpkg", package = "rasterpic"))

class(uk)
#> [1] "sf"         "tbl_df"     "tbl"        "data.frame"

# Rasterize the image.
uk_flag <- rasterpic_img(uk, img)

uk_flag
#> class       : SpatRaster
#> size        : 400, 800, 3  (nrow, ncol, nlyr)
#> resolution  : 5398.319, 5398.319  (x, y)
#> extent      : -2542183, 1776472, 6430573, 8589900  (xmin, xmax, ymin, ymax)
#> coord. ref. : WGS 84 / Pseudo-Mercator (EPSG:3857)
#> source(s)   : memory
#> colors rgb  : 1, 2, 3
#> names       :   r,   g,   b
#> min values  :   0,  14,  35
#> max values  : 255, 255, 255

# Plot with ggplot2 and tidyterra.
library(tidyterra)
library(ggplot2)

autoplot(uk_flag) +
  geom_sf(data = uk, color = alpha("blue", 0.5))

Example using rasterpic with the UK flag

We can also adjust other parameters and modify the alignment of the image with respect to the object:

# Align, crop and mask.
uk_flag2 <- rasterpic_img(uk, img, halign = 0.2, crop = TRUE, mask = TRUE)

autoplot(uk_flag2) +
  geom_sf(data = uk, fill = NA)

Example using rasterpic with the UK flag cropped to the shape

Supported image formats

rasterpic can parse the following image formats:

Citation

Hernangómez D (2026). rasterpic: Convert Digital Images to SpatRaster Objects. doi:10.32614/CRAN.package.rasterpic. https://dieghernan.github.io/rasterpic/.

A BibTeX entry for LaTeX users is:

@Manual{R-rasterpic,
  title = {{rasterpic}: Convert Digital Images to {SpatRaster} Objects},
  doi = {10.32614/CRAN.package.rasterpic},
  author = {Diego Hernangómez},
  year = {2026},
  version = {0.5.0},
  url = {https://dieghernan.github.io/rasterpic/},
  abstract = {Create SpatRaster objects, as defined by the terra package, from digital images using a spatial object as a geographic reference. Supported inputs include objects from the sf, terra and stars packages. The main function is an S3 generic, so other packages can provide methods for additional spatial classes.},
}

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.