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.
getFigDim(x, width = NULL, height = NULL, mar = par("mar"), res = 72)
an sf object, a simple feature collection or a Spatial*DataFrame.
width of the figure (in pixels), either width or height must be set.
height of the figure (in pixels), either width or height must be set.
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).
the nominal resolution in ppi which will be recorded in the bitmap file.
A vector of width and height in pixels is returned.
The function can be used to export vector or raster files (see examples).
if (FALSE) {
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()
}