--- title: "Get started" description: Introduction to the rasterpic package. vignette: > %\VignetteIndexEntry{Get started} %\VignetteEngine{quarto::html} %\VignetteEncoding{UTF-8} knitr: opts_chunk: collapse: true comment: "#>" warning: false message: false out.width: "100%" --- Getting started with **rasterpic** is straightforward: you need an image file (`png`, `jpeg`/`jpg` or `tiff`/`tif`) and a supported spatial input class, such as an object from the **sf**, **terra** or **stars** packages. ## Basic usage This example geotags an image using the shape of Austria: ```{r} #| label: fig-setup #| fig-cap: Image geotagged with the coordinates 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") # Geotag the image. default <- rasterpic_img(x, img) autoplot(default) + geom_sf(data = x) ``` ## Options `rasterpic_img()` provides options for expansion, alignment, cropping and masking. ### Expand The `expand` argument expands the raster extent beyond the spatial object: ```{r} #| label: fig-expand #| fig-cap: Example image expansion. expand <- rasterpic_img(x, img, expand = 1) autoplot(expand) + geom_sf(data = x) ``` ### Alignment The `halign` and `valign` arguments control the alignment of the image within the spatial extent: ```{r} #| label: fig-bottom #| fig-cap: Example image alignment. bottom <- rasterpic_img(x, img, valign = 0) autoplot(bottom) + geom_sf(data = x) ``` ### Crop and mask The `crop`, `mask` and `inverse` arguments control whether the raster is cropped to the object extent and masked to the object shape: ```{r} #| label: fig-mask #| fig-cap: #| - Example masked image. #| - Example inverse masked image. mask <- rasterpic_img(x, img, crop = TRUE, mask = TRUE) autoplot(mask) maskinverse <- rasterpic_img(x, img, crop = TRUE, mask = TRUE, inverse = TRUE) autoplot(maskinverse) ``` ## Supported spatial input classes `rasterpic_img()` supports the following spatial input classes: - **sf** classes: `sf`, `sfc`, `sfg` and `bbox`. - **terra** classes: `SpatRaster`, `SpatVector` and `SpatExtent`. - **stars** class: `stars`. - A numeric coordinate vector of the form `c(xmin, ymin, xmax, ymax)`. `rasterpic_img()` is an S3 generic. Methods for extent-like inputs use the object extent, and vector methods can also mask the image to the object shape. ## Supported image formats **rasterpic** can read the following image formats: - `png` files. - `jpeg`/`jpg` files. - `tiff`/`tif` files.