Learn R Programming

cartography (version 2.4.2)

getFigDim: Get Figure Dimensions

Description

Give the dimension of a map figure to be exported in raster or vector format. Output dimension are based on a spatial object dimension ratio, margins of the figure, a targeted width or height and a resolution.

Usage

getFigDim(x, spdf, width = NULL, height = NULL, mar = par("mar"), res = 72)

Arguments

x

an sf object, a simple feature collection or a Spatial*DataFrame.

spdf

deprecated, a Spatial*DataFrame.

width

width of the figure (in pixels), either width or height must be set.

height

height of the figure (in pixels), either width or height must be set.

mar

a numerical vector of the form c(bottom, left, top, right) which gives the number of lines of margin to be specified on the four sides of the plot (see par).

res

the nominal resolution in ppi which will be recorded in the bitmap file.

Value

A vector of width and height in pixels is returned.

Details

The function can be used to export vector or raster files (see examples).

Examples

Run this code
# NOT RUN {
library(sf)
mtq <- st_read(system.file("gpkg/mtq.gpkg", package="cartography"))

## PNG export
# get figure dimension
sizes <- getFigDim(x = mtq, width = 450, mar = c(0,0,1.2,0))
# export the map
png(filename = "mtq.png", width = sizes[1], height = sizes[2])
par(mar = c(0,0,1.2,0))
plot(st_geometry(mtq), col = "#D1914D", border = "white", bg = "#A6CAE0")
title("Madinina")
dev.off()

## PDF export
# get figure dimension
sizes <- getFigDim(x = mtq, width = 450, mar = c(1,1,2.2,1))
# export the map
pdf(file = "mtq.pdf", width = sizes[1]/72, height = sizes[2]/72)
par(mar = c(1,1,2.2,1))
plot(st_geometry(mtq), col = "#D1914D", border = "white", bg = "#A6CAE0")
title("Madinina")
dev.off()
# }

Run the code above in your browser using DataLab