Step 1: Assembly of occurrence records and biome schemes

The four-step biomes workflow

biomes follows a four-step workflow, mirrored by these four vignettes and by Figure 1 of the companion paper:

  1. Assembly of occurrence records and biome schemes (this vignette).
  2. Choice of a biome scheme.
  3. Occurrences-to-biome classification.
  4. Output and visualisation.

Throughout, we use the packaged example dataset bombacoideae_occurrences (17,030 cleaned occurrence records of 185 species of the plant subfamily Bombacoideae, Zizka et al. 2020), so you can run everything without a download.

Terms. A biome scheme is one of the 31 published classification systems. A biome is a category within a scheme (e.g. savanna). A biome definition is the concept on which a scheme delimits its biomes (climate, vegetation, land cover, ecoregion, integrative or anthropogenic); schemes sharing a definition form a group. A biome scheme number (1-31) identifies a scheme; it is the value you pass to the scheme argument of the classification and visualisation functions.


1. Occurrence records

Every downstream function works on a table of occurrence records, one row per record, with a longitude and a latitude column in decimal degrees, WGS84 (EPSG:4326). You may also pass an sf object or a terra::SpatVector.

Column Required Notes
longitude yes numeric, decimal degrees, WGS84. Default name decimalLongitude.
latitude yes numeric, decimal degrees, WGS84. Default name decimalLatitude.
species for species counts needed only to count species per biome (Step 4).
anything else no carried through untouched.

If your columns are named differently, pass their names via lon and lat:

biomes_rank(occ, lon = "decimallongitude", lat = "decimallatitude")

The packaged example set:

data(bombacoideae_occurrences)
nrow(bombacoideae_occurrences)
#> [1] 17030
head(bombacoideae_occurrences)
#>                     species decimalLongitude decimalLatitude countryCode
#> 1 Cavanillesia platanifolia        -79.98333         -2.1500         ECU
#> 2    Cavanillesia umbellata        -70.25000        -12.0000         PER
#> 3    Cavanillesia umbellata        -78.63333         -4.5000         PER
#> 4    Cavanillesia umbellata        -76.46666         -2.8000         PER
#> 5    Cavanillesia umbellata        -69.10420        -12.0321         PER
#> 6    Cavanillesia umbellata        -74.30611        -11.1425         PER

If you do not already have a dataset, biomes_occ() can download and clean one from GBIF for a taxon (needs the rgbif / CoordinateCleaner packages and a network connection):

occ <- biomes_occ(taxon = "Fagus sylvatica")

2. The 31 biome schemes

biomes_get() returns the packaged raster stack: 31 biome schemes at 10 × 10 km, globally.

schemes <- biomes_get()
schemes

Each layer of the stack matches one row of biomes_information, in the same order. Use it (or the human-readable biomes_info()) to see which publication and methodology a scheme comes from:

data(biomes_information)
biomes_information[25, c("publication", "name_of_classification",
                         "biome_definition", "scheme_number")]
#> # A tibble: 1 × 4
#>   publication              name_of_classification biome_definition scheme_number
#>   <chr>                    <chr>                  <chr>                    <dbl>
#> 1 Ramankutty & Foley, 1999 Estimating historical… vegetation                  25

biomes_info(25)   # readable summary for biome scheme no. 25
#> 
#> Name: Estimating historical changes in global land cover: croplands from 1700 to 1992 (Ramankutty & Foley, 1999)
#> 
#> Biome scheme number: 25
#> 
#> Criteria: Potential natural vegetation
#> 
#> Methodology: Informed classification of remotely sensed land cover
#> 
#> Description: Potential natural vegetation is derived by classifying DISCover land cover data following the Olson Global Ecosystems framework (Olson, 1994).
#> 
#> Number of biomes: 12 (12/0)
#> 
#> Biomes (raster value: name):
#>      1: Tropical evergreen woodland
#>      2: Tropical deciduous woodland
#>      3: Savanna
#>      4: Dense shrubland
#>      5: Desert and barren
#>      6: Open shrubland
#>      7: Grassland and steppe
#>      8: Temperate evergreen woodland
#>      9: Temperate deciduous woodland
#>     10: Mixed woodland
#>     11: Tundra
#>     12: Boreal woodland
#> 
#> -----

Scheme numbering. Biome scheme numbers follow the order of the biome inventory of Fischer et al. (2022), i.e. the alphabetical order of the 31 schemes’ original publications. Scheme no. 25, for example, is the vegetation scheme of Ramankutty & Foley (1999).

The biome lookup (raster value → biome name, per scheme) lives in biomes_legend; the classification and visualisation functions use it internally.