Build Status Build Status AppVeyor Build Status CRAN status cranlogsCoverage Status

The goal of ozmaps is to get maps of Australia to plot!


Install from CRAN with

The development version of ozmaps may be installed directly from github.


The package includes some simple features data, which can be used independently of ozmaps with the ‘sf’ package. If required, install sf from CRAN.


Plot Australia with states.


Plot Australia without states.

ozmap(x = "country")

Add to an existing plot.

plot(quakes[c("long", "lat")], xlim = c(120, 190))
ozmap(add = TRUE)

Obtain the data used in sf form.

Plot with a custom palette.

if (utils::packageVersion("paletteer") < '1.0.0') {
 pal <- paletteer::paletteer_d(package = "ochRe", palette = "namatjira_qual")
} else {
  pal <- paletteer::paletteer_d(palette = "ochRe::namatjira_qual")
opal <- colorRampPalette(pal)
nmjr <- opal(nrow(sf_oz))
plot(st_geometry(sf_oz), col = nmjr)

## plot directly with ggplot2
ggplot(sf_oz, aes(fill = NAME)) + geom_sf() + coord_sf(crs = "+proj=lcc +lon_0=135 +lat_0=-30 +lat_1=-10 +lat_2=-45 +datum=WGS84") + scale_fill_manual(values = nmjr)

Plot the ABS layers (from 2016).

ozmap("abs_ced", col = opal(nrow(abs_ced)))

ozmap("abs_ste", col = opal(nrow(abs_ste)))


These ABS layers abs_ced, abs_lga, and abs_ste are derived from the 2016 sources and simplified using rmapshaper::ms_simplify(, keep = 0.05, keep_shapes = TRUE) so all the original polygons are there. There is sufficient detail to map many (most?) of the regions on their own, which was a major goal for this package.

The cache of the source data at original resolution is available in

Compare the detail of Bruny Island here in this box, compared with the very basic maps package layer.

kbor <- abs_lga %>% dplyr::filter(grepl("Kingborough", NAME))
bb <- st_bbox(kbor)

layout(matrix(c(1, 1, 1, 2, 2, 2, 2, 2, 2), nrow = 3))
plot(kbor, reset = FALSE, main = "Kingborough (TAS)")
rect(bb["xmin"], bb["ymin"], bb["xmax"], bb["ymax"])
#> Loading required package: maps
par(mar = rep(0, 4))
plot(c(145, 148.5), c(-43.6, -40.8), type = "n", asp = 1/cos(mean(bb[c(2, 4)]) * pi/180), axes = FALSE, xlab = "", ylab = "")
maps::map(database = "worldHires", regions = "australia", xlim = c(145, 148.5), ylim = c(-43.6, -40.8), add = TRUE)
rect(bb["xmin"], bb["ymin"], bb["xmax"], bb["ymax"])

Please note that the ‘ozmaps’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.