measoshapes

The goal of measoshapes is to provide the regions of the Marine Ecosystem Assessment for the Southern Ocean (MEASO): five sectors (Atlantic, Central Indian, East Indian, West Pacific, East Pacific), each with three zones (Antarctic, Subantarctic, Northern), as described in the MEASO Summary for Policymakers (see References).

The current version of the regions is 06. Version 05 is kept as it was released.

Website: https://australianantarcticdivision.github.io/measoshapes/

Installation

To install measoshapes from Github use

## install.packages("remotes")
# remotes::install_github("AustralianAntarcticDivision/measoshapes")
install.packages("measoshapes", repos = c('https://australianantarcticdivision.r-universe.dev', 'https://cloud.r-project.org'))

Map

To map the regions with base plotting (with the sf package). There is one row per region, with its name, label, sector, zone, and fill colour. The _coastline form has the Antarctic continent cut out.

library(measoshapes)
library(sf)

measo <- measo_regions06_coastline
plot(st_geometry(measo), col = measo$fill, border = "grey40")
Polar map of the 20 MEASO regions (version 06) in their fill colours, with the Antarctic continent cut out.

The temperate (T) regions in the north of each sector are outside MEASO and have no fill.

sf::st_drop_geometry(measo)
#> # A tibble: 20 × 5
#>    name  label                       sector        zone         fill   
#>  * <chr> <chr>                       <chr>         <chr>        <chr>  
#>  1 AOA   Antarctic Atlantic          Atlantic      Antarctic    #F9BDBC
#>  2 AOS   Subantarctic Atlantic       Atlantic      Subantarctic #F27071
#>  3 AON   Northern Atlantic           Atlantic      Northern     #E11F26
#>  4 AOT   Temperate Atlantic          Atlantic      <NA>         <NA>   
#>  5 CIA   Antarctic Central Indian    CentralIndian Antarctic    #F9D7C2
#>  6 CIS   Subantarctic Central Indian CentralIndian Subantarctic #F4B187
#>  7 CIN   Northern Central Indian     CentralIndian Northern     #EC8444
#>  8 CIT   Temperate Central Indian    CentralIndian <NA>         <NA>   
#>  9 EIA   Antarctic East Indian       EastIndian    Antarctic    #D1D3EA
#> 10 EIS   Subantarctic East Indian    EastIndian    Subantarctic #B0B4D9
#> 11 EIN   Northern East Indian        EastIndian    Northern     #878DC5
#> 12 EIT   Temperate East Indian       EastIndian    <NA>         <NA>   
#> 13 WPA   Antarctic West Pacific      WestPacific   Antarctic    #E0B8D6
#> 14 WPS   Subantarctic West Pacific   WestPacific   Subantarctic #C579B2
#> 15 WPN   Northern West Pacific       WestPacific   Northern     #843A75
#> 16 WPT   Temperate West Pacific      WestPacific   <NA>         <NA>   
#> 17 EPA   Antarctic East Pacific      EastPacific   Antarctic    #9FC5C7
#> 18 EPS   Subantarctic East Pacific   EastPacific   Subantarctic #609FA0
#> 19 EPN   Northern East Pacific       EastPacific   Northern     #4B7E7F
#> 20 EPT   Temperate East Pacific      EastPacific   <NA>         <NA>

Map with ggplot2

To use the literal fill colours we need scale_fill_identity(), this is ggplot’s “straight-through” mechanism.

library(ggplot2)
ggplot(measo, aes(fill = fill)) + geom_sf(colour = "grey40") + scale_fill_identity()
The same map of the MEASO regions made with ggplot2.

Map with SOmap

The SOmap package provides some simpler ways of creating and adding to polar maps. Once a map is set up it knows what projection it is in, so we can forget about having to transform the data.

## TODO: SOplot() no longer adds to the SOmap() plot with current SOmap, not evaluated for now
library(SOmap)
SOmap(trim = -32) ## set up a polar map
## set overlay to half-transparent
SOplot(st_geometry(measo), border = NA, col = scales::alpha(measo$fill, 0.75))

Data sets

There is no code in the measoshapes package, but the package records the creation of each data set using standard R mechanisms (see ‘data-raw/’).

Version 06, one row for each of the 20 regions:

The longitude/latitude polygons are defined in planar longitude/latitude: boundaries follow parallels and meridians, rather than great circles. The polar forms are densified (to 0.2 degree) so they follow the same boundaries. In longitude/latitude the West Pacific regions are in two parts, either side of the anti-meridian.

To export to shapefile:

st_write(measo_regions06_ll_coastline, "myfile.shp")

Files

The version 06 regions are also provided as files in ‘inst/extdata’, created by ‘data-raw/export.R’, with one row for each region (20 rows) and the same columns. They are also published on the website.

f <- system.file("extdata/measo_regions06.parquet", package = "measoshapes")
x <- sf::read_sf(f)

The geopackages (measo_regions.gpkg, measo_regions_ll.gpkg, measo_regions_epsg_3031.gpkg) are version 05 files, kept as they were.

Version 05

Version 05 is kept as it was released:

WestPacific is split at the anti-meridian, so its names appear twice and measo_names is not a key. To join the names to the geometry, group the features by name (removing the seam at the anti-meridian) and join to the distinct names. The two WPA rows of measo_names have different fills (row 1 is a known error), so this takes the first.

library(dplyr)
measo05 <- measo_regions05 %>% group_by(name) %>% summarize() %>%
  inner_join(distinct(measo_names, name, .keep_all = TRUE), "name")
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()

The northern regions are assigned codes that include “T” for temperate, but they aren’t part of MEASO. They share a sector but have no assigned zone.

## label positions from the (equal area) polar form
cds <- st_coordinates(st_transform(st_centroid(measo_regions05), 4326))
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
par(mar = rep(0.2, 4))
plot(st_geometry(measo_regions05_ll), reset = FALSE,
     col = colourvalues::colour_values(measo_names$sector, alpha = 0.5))
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
text(cds, lab = measo_names$name, cex = 0.7)
maps::map(add = TRUE)
Longitude/latitude map of the 24 version 05 polygons, coloured by sector and labelled with their names, with world coastlines.

References

The MEASO assessment areas (sectors and zones) are described in the MEASO Summary for Policymakers (Figure 5, “MEASO assessment areas”, adapted from McCormack et al. 2021). See also citation("measoshapes").

Earlier MEASO documents, from the time of versions 03 to 05 of the regions:


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