Skip to contents

The configuration returned by this function will normally be passed to the coordinate system via coord_sf_inset(). Insets can either be circular (if radius is specified) or rectangular (if hwidth and optionally hheight are specified).

Usage

configure_inset(
  centre,
  scale = NULL,
  translation = NULL,
  radius = NULL,
  hwidth = NULL,
  hheight = NULL,
  units = "km",
  crs_working = NULL
)

Arguments

centre

Coordinates of the inset centre. Ideally this should be an sfc object (see sf::st_sfc()) including a coordinate reference system. An sf::st_point() or a vector of longitude and latitude are also accepted. If a CRS cannot be determined, crs_working is assumed.

scale

Zoom scale: values larger than one will make the inset bigger.

translation

Translation (shift) of the inset relative to the centre. This can be an st_point or simply a vector of length 2 containing the x and y offsets respectively. Units are specified by crs_working.

radius

Radius of the inset circle in the units of crs_working. Cannot be used with hwidth.

hwidth

Half width of the inset in the units of crs_working. Cannot be used with radius.

hheight

Half height of the inset in the units of crs_working. Defaults to the same value as hwidth.

units

Base length unit (e.g. "km" or "mi"). Ignored if crs_working is provided. See Details for supported values.

crs_working

The coordinate reference system to use internally when applying the transformations. See Details.

Value

An inset configuration object of class inset_config.

Details

The default crs_working uses the equidistant cylindrical coordinate reference system with the latitude of true scale set to match the latitude of centre. This ensures that circular insets will appear circular in most cases since the projection is not distorted near the centre. The geometries are converted to this CRS for the inset transformation and constructing the inset frame, and are converted back to the CRS of centre at the end.

The default units are kilometres but can be changed with units instead of specifying the whole projection. The possible values for units are those understood by proj:

  • "mm": millimetre

  • "cm": centimetre

  • "m": metre

  • "ft": foot

  • "us-ft": US survey foot

  • "fath": fathom

  • "kmi": nautical mile

  • "us-ch": US survey chain

  • "us-mi": US survey mile

  • "km": kilometre

  • "ind-ft": Indian foot (1937)

  • "ind-yd": Indian yard (1937)

  • "mi": Statute mile

  • "yd": yard

  • "ch": chain

  • "link": link

  • "dm": decimeter

  • "in": inch

  • "ind-ch": Indian chain

  • "us-in": US survey inch

  • "us-yd": US survey yard

Examples

library(sf)

# circular inset with a 2x enlargement
cfg <- configure_inset(
  centre = st_sfc(st_point(c(-82, 35)), crs = 4326),
  scale = 2,
  translation = c(70, -180),
  radius = 50,
  units = "mi")