Getting started with rasterpic is easy: you need an image file (png, jpeg/jpg or tiff/tif) and a spatial object from the sf, terra or stars packages.
Basic usage
This example uses the shape of Austria:
library(sf)
library(terra)
library(rasterpic)
# Load plotting packages.
library(tidyterra)
library(ggplot2)
# Set the spatial object and image.
x <- read_sf(system.file("gpkg/austria.gpkg", package = "rasterpic"))
img <- system.file("img/vertical.png", package = "rasterpic")
# Create the raster.
default <- rasterpic_img(x, img)
autoplot(default) +
geom_sf(data = x)
Options
rasterpic_img() provides several options for expansion, alignment, cropping and masking.
Expand
This option expands the raster extent beyond the spatial object:
expand <- rasterpic_img(x, img, expand = 1)
autoplot(expand) +
geom_sf(data = x)
Alignment
Choose the alignment of the image within the spatial extent:
bottom <- rasterpic_img(x, img, valign = 0)
autoplot(bottom) +
geom_sf(data = x)
Crop and mask
Crop the raster and mask it to the object shape:
mask <- rasterpic_img(x, img, crop = TRUE, mask = TRUE)
autoplot(mask)
maskinverse <- rasterpic_img(x, img, crop = TRUE, mask = TRUE, inverse = TRUE)
autoplot(maskinverse)
rasterpic_img() supports the following input classes:
- sf classes:
sf, sfc, sfg or bbox.
- terra classes:
SpatRaster, SpatVector and SpatExtent.
- stars classes:
stars.
- A numeric coordinate vector of the form
c(xmin, ymin, xmax, ymax).
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.
rasterpic can parse the following image formats:
png files.
jpeg/jpg files.
tiff/tif files.