Given a dataframe of georeferenced occurrences of one, or more, taxa, this function provide statistics values (Extent of Occurrence, Area of Occupancy, number of locations, number of subpopulations) and provide a preliminary conservation status following Criterion B of IUCN. A graphical map output is also available.

IUCN.eval(
  DATA,
  country_map = NULL,
  Cell_size_AOO = 2,
  Cell_size_locations = 10,
  Resol_sub_pop = 5,
  method_locations = "fixed_grid",
  Rel_cell_size = 0.05,
  DrawMap = FALSE,
  add.legend = TRUE,
  file_name = NULL,
  export_shp = FALSE,
  write_shp = FALSE,
  write_results = TRUE,
  protec.areas = NULL,
  map_pdf = FALSE,
  draw.poly.EOO = TRUE,
  exclude.area = FALSE,
  method_protected_area = "no_more_than_one",
  ID_shape_PA = "WDPA_PID",
  buff_width = 0.1,
  SubPop = TRUE,
  alpha = 1,
  buff.alpha = 0.1,
  method.range = "convex.hull",
  nbe.rep.rast.AOO = 0,
  showWarnings = TRUE,
  write_file_option = "excel",
  parallel = FALSE,
  NbeCores = 2
)

Arguments

DATA

a dataframe or an object of class spgeoIN see https://github.com/azizka/speciesgeocodeR. See Details

country_map

a SpatialPolygonsDataFrame or SpatialPolygons showing for example countries or continent borders. This shapefile will be used for cropping the SpatialPolygons used for EOO computation if exclude.area is TRUE. By default, it is land

Cell_size_AOO

a numeric, value indicating the grid size in kilometers used for estimating Area of Occupancy. By default, equal to 2

Cell_size_locations

a numeric, value indicating the grid size in kilometers used for estimating the number of location. By default, equal to 10

Resol_sub_pop

a numeric, value indicating the radius size in kilometers used for estimating the number of sub-population. By default, equal to 5

method_locations

a character string, indicating the method used for estimating the number of locations. "fixed_grid" or "sliding scale". See details. By default, it is "fixed_grid"

Rel_cell_size

a numeric, if method_locations="sliding scale", Cell_size_locations is ignored and the resolution is given by the maximum distance separating two occurrences multiplied by Rel_cell_size. By default, it is 0.05

DrawMap

a logical, if TRUE a map is produced for each species in png format, unless map_pdf is TRUE. By default, it is FALSE

add.legend

a logical, if TRUE a legend and a submap showing distribution in 'country_map' are displayed for each map. By default, it is TRUE

file_name

a character string. Name of the file. By default, it is "IUCN_"

export_shp

a logical, if TRUE, shapefiles of SpatialPolygons used for EOO computation are exported. By default, it is FALSE

write_shp

a logical, if TRUE, shapefiles of SpatialPolygons used for EOO computation are written as ESRI shapefiles in a sub-directory in the working directory. By default, it is FALSE

write_results

a logical, if TRUE, results are exported in a file which can csv or excel, see write_file_option. By default, it is TRUE

protec.areas

a SpatialPolygonsDataFrame, shapefile with protected areas. If provided, this will be taken into account for calculating number of location (see Details and method_protected_area). By default, no shapefile is provided

map_pdf

a logical, if TRUE, maps are exported in one pdf file. Otherwise, each species map is exported in png. By default, it is FALSE

draw.poly.EOO

a logical, if TRUE, the polygon used for estimating EOO is drawn. By default, it is TRUE

exclude.area

a logical, if TRUE, areas outside of country_map are cropped of SpatialPolygons used for EOO computation. By default, it is FALSE

method_protected_area

a character string. By default is "no_more_than_one"", which means occurrences within protected areas (if provided) will not be taken into account for estimating the number of locations following the grid system, see Details. By default, it is "no_more_than_one"

ID_shape_PA

a character string, indicating the field name of protec.areas with ID of the SpatialPolygonsDataFrame of protected areas

buff_width

a numeric. For a specific case where all points of a species are on a straight line, EOO is computed by first drawing this straight line and adding a buffer of buff_width decimal degrees around this line. By default, it is 0.1

SubPop

a logical. If TRUE, sub-populations will be estimated. By default, it is TRUE

alpha

a numeric, if method.range is "alpha.hull", alpha value for the construction of alpha hull. By default, it is 1

buff.alpha

a numeric, if method.range is "alpha.hull", indicate the buffer added to the alpha hull in decimal degree. By default, it is 0.1

method.range

a character string, if "convex.hull", EOO is based on a convex hull. if "alpha.hull", EOO is based on alpha hull of alpha value. By default, it is "convex.hull"

nbe.rep.rast.AOO

a numeric, indicate the number of raster with random starting position for estimating the AOO. By default, it is NULL but some minimal translation of the raster are still done

showWarnings

a logical. Whether R should report warnings

write_file_option

a character, if "excel", results are exported in excel file, if "csv", results are exported in csv. By default, it is "excel"

parallel

a logical. Whether running in parallel. By default, it is FALSE

NbeCores

an integer. Register the number of cores for parallel execution. By default, it is 2

Value

A dataframe if 'export_shp' is FALSE. A list if 'export_shp' is TRUE.

If a list, three elements are provided:

  1. a dataframe with results (see field description below)

  2. a list of SpatialPolygons used for EOO computation

  3. a list of SpatialPolygons used for subpopulations

The dataframe has as many rows as taxa and the following fields:

[,1]EOOnumeric, EOO (square kilometers)[,2]AOOnumeric, AOO (square kilometers)
[,3]Nbe_unique_occ.numeric, Number of unique occurrences[,4]Nbe_subPopnumeric, Number of subpopulations
[,5]Nbe_locnumeric, Number of locations[,6]Category_CriteriaBcharacter, IUCN threat category according to Criterion B
[,7]Category_codecharacter, IUCN annotation[,8]Category_AOOcharacter, IUCN threat category according to Criterion B ignoring EOO

Details

Input as a dataframe should have the following structure:

It is mandatory to respect field positions, but field names do not matter

[,1]ddlatnumeric, latitude (in decimal degrees)[,2]ddlon
numeric, longitude (in decimal degrees)[,3]taxcharacter or factor, taxa names[,4]
familycharacter, optional field indicating higher taxonomic rank[,5]colynumeric, optional field indicating collection year

coly and family are optional fields

If the optional field named 'family' is provided, indicating higher taxonomic rank, this will be displayed in the title of the map if DrawMap is 'TRUE'.

If the optional field named 'coly' is provided, indicating collection year, a sub-graph in the map will be displayed (if DrawMap and add.legend are both TRUE) showing a barplot of collection year

Starting position of the raster used for estimating the Area Of Occupancy
Different starting position of the raster used for estimate the AOO may provide different number of occupied cells. Hence, by default, 4 different translations of the raster is done (fixed increment of 1/4 resolution north and east) and the minimum number of occupied cells is used for estimating AOO. It is also possible to define a given number of random starting position of the raster using the argument nbe.rep.rast.AOO

Estimating number of locations
Locations are estimated by overlaying a grid of a given resolution (see Cell_size_locations for specifying the resolution). The number of locations is simply the number of occupied locations. Note that the grid position is overlaid in order to minimize the number of locations (several translation of the grid are performed and the one providing the minimum number of occupied cells is provided).

Taking into account protected area for estimating the number of locations
A location is defined by the IUCN as a "geographically or ecologically distinct area in which a single threatening event can affect all individuals of the taxon". A simple way to include threat level is to rely on a map of protected areas and assume that populations within and outside protected areas are under different threat level.

If a map of protected area is provided, this one is used for estimating the number of locations by the following procedure:
- if method_protected_area is "no_more_than_one", all occurrences within a given protected area will be considered as one location. Occurrences outside protected area will be used for estimating the number of locations using overlaying grid as descrived above. See the vignette for illustration.
- if method_protected_area is NOT "no_more_than_one", number of locations will be estimated by the overlaying grid as described above, but by considering differently occurrences outside and inside protected area. See the vignette for illustration.

The protected areas layers should be given as as SpatialPolygonsDataFrame in protec.areas. The ID_shape_PA should also be given and should represent the unique ID of each protected area in the provided shapefile. This can be checked by the following code:

colnames(ProtectedAreas@data) Where ProtectedAreas is the name of your shapefile.

Limitation in the estimations of EOO

For a species whose occurrences span more than 180 degrees, EOO is not computed. This is the case for example for species whose distribution span the 180th meridian.

References

Gaston KJ & Fuller AF, 2009, The sizes of species'geographic ranges, Journal of Applied Ecology, 49 1-9

IUCN Standards and Petitions Subcommitte, 2010, Guidelines for Using the IUCN Red List Categories and Criteria. https://www.iucnredlist.org/resources/categories-and-criteria

Rivers CM, Bachman SP & Meagher TR, 2010, Subpopulations, locations and fragmentation: applying IUCN red list criteria to herbarium specimen data, Biodiversity Conservation 19:2071-2085

See also

Examples