
Calculate Biodiversity Indicators Over Space or Time
Source:R/workflow_functions.R
compute_indicator_workflow.Rd
This function provides a flexible framework for calculating various biodiversity indicators on a spatial grid or as a time series. It prepares the data, creates a grid, calculates indicators, and formats the output into an appropriate S3 object ('indicator_map' or 'indicator_ts').
Usage
compute_indicator_workflow(
data,
type,
dim_type = c("map", "ts"),
ci_type = c("norm", "basic", "perc", "bca", "none"),
cell_size = NULL,
level = c("cube", "continent", "country", "world", "sovereignty", "geounit"),
region = "Europe",
ne_type = c("countries", "map_units", "sovereignty", "tiny_countries"),
ne_scale = c("medium", "small", "large"),
output_crs = NULL,
first_year = NULL,
last_year = NULL,
spherical_geometry = TRUE,
make_valid = FALSE,
num_bootstrap = 100,
shapefile_path = NULL,
shapefile_crs = NULL,
invert = FALSE,
include_ocean = TRUE,
buffer_dist_km = 50,
force_grid = FALSE,
...
)
Arguments
- data
A data cube object (class 'processed_cube').
- type
The indicator to calculate. Supported options include:
'obs_richness': Observed species richness.
'total_occ': Total number of occurrences.
'newness': Mean year of occurrence.
'occ_density': Density of occurrences.
'williams_evenness', 'pielou_evenness': Evenness measures.
'ab_rarity', 'area_rarity': Abundance-based and area-based rarity scores.
'cum_richness': Cumulative species richness.
'occ_turnover': Occupancy turnover.
'spec_range': Species range size.
'spec_occ': Species occurrences.
'tax_distinct': Taxonomic distinctness.
'hill0': Species richness (estimated by coverage-based rarefaction).
'hill1': Hill-Shannon diversity (estimated by coverage-based rarefaction).
'hill2': Hill-Simpson diversity (estimated by coverage-based rarefaction).
- dim_type
Dimension to calculate indicator over (time: 'ts', or space: 'map')
- ci_type
Type of bootstrap confidence intervals to calculate. (Default: "norm". Select "none" to avoid calculating bootstrap CIs.)
- cell_size
Length of grid cell sides, in km. (Default: 10 for country, 100 for continent or world)
- level
Spatial level: 'cube', 'continent', 'country', 'world', 'sovereignty', or 'geounit'. (Default: 'cube')
- region
The region of interest (e.g., "Europe"). (Default: "Europe")
- ne_type
The type of Natural Earth data to download: 'countries', 'map_units', 'sovereignty', or 'tiny_countries'. (Default: "countries")
- ne_scale
The scale of Natural Earth data to download: 'small' - 110m, 'medium' - 50m, or 'large' - 10m. (Default: "medium")
- output_crs
The CRS you want for your calculated indicator. (Leave blank to let the function choose a default based on grid reference system)
- first_year
Exclude data before this year. (Uses all data in the cube by default.)
- last_year
Exclude data after this year. (Uses all data in the cube by default.)
- spherical_geometry
If set to FALSE, will temporarily disable spherical geometry while the function runs. Should only be used to solve specific issues. (Default is TRUE)
- make_valid
Calls st_make_valid() from the sf package. Increases processing time but may help if you are getting polygon errors. (Default is FALSE).
- num_bootstrap
Set the number of bootstraps to calculate for generating confidence intervals. (Default: 1000)
- shapefile_path
Path of an external shapefile to merge into the workflow. For example, if you want to calculate your indicator particular features such as protected areas or wetlands.
- shapefile_crs
CRS of a .wkt shapefile. If your shapefile is .wkt and you do NOT use this parameter, the CRS will be assumed to be EPSG:4326 and the coordinates will be read in as lat/long. If your shape is NOT a .wkt the CRS will be determined automatically.
- invert
Calculate an indicator over the inverse of the shapefile (e.g. if you have a protected areas shapefile this would calculate an indicator over all non protected areas)
- include_ocean
Include occurrences which fall outside the land area. Default is TRUE. Set as "buffered_coast" to include a set buffer size around the land area rather than the entire ocean area.
- buffer_dist_km
The distance to buffer around the land if include_ocean is set to "buffered_coast".
- force_grid
Forces the calculation of a grid even if this would not normally be part of the pipeline, e.g. for time series. This setting is required for the calculation of rarity, and is turned on by the ab_rarity_ts and area_rarity_ts wrappers. (Default: FALSE)
- ...
Additional arguments passed to specific indicator calculation functions.
Examples
diversity_map <- compute_indicator_workflow(example_cube_1,
type = "obs_richness",
dim_type = "map",
level = "country",
region = "Denmark")
diversity_map
#> Gridded biodiversity indicator map
#>
#> Name of Indicator: Observed Species Richness
#>
#> Map of Denmark
#>
#> Projected CRS: EPSG:4326
#>
#> Coordinate range:
#> xmin ymin xmax ymax
#> 8.016236 54.628857 15.483170 57.736914
#>
#> Grid cell size: 0.25 degrees
#> Number of cells: 387
#>
#> Observation years: 1862 - 2023
#> Total years with observations: 125
#>
#> Number of species represented: 106
#> Number of families represented: 31
#>
#> Kingdoms represented: Animalia
#>
#> Map layers:
#>
#> First 10 rows of data (use n = to show more):
#>
#> # A tibble: 387 × 3
#> cellid area diversity_val
#> <int> [km^2] <int>
#> 1 68 447. NA
#> 2 69 447. NA
#> 3 70 447. 20
#> 4 71 447. 34
#> 5 72 447. 32
#> 6 73 447. 34
#> 7 74 447. 47
#> 8 75 447. 48
#> 9 76 447. 37
#> 10 77 447. 21
#> # ℹ 377 more rows