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 = TRUE, 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=NULL,
verbose=TRUE, showWarnings=TRUE)a dataframe or an object of class spgeoIN see speciesgeocodeR. See Details
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
a numeric, value indicating the grid size in decimal degrees used for estimating Area of Occupancy. By default, equal to 2
a numeric, value indicating the grid size in decimal degrees used for estimating the number of location. By default, equal to 10
a numeric, value indicating the radius size in decimal degrees used for estimating the number of sub-population. By default, equal to 5
a logical, if TRUE a map is produced for each species in png format, unless map_pdf is TRUE. By default, it is TRUE
a logical, if TRUE a legend and a submap showing distribution in 'country_map' are displayed for each map. By default, it is TRUE
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"
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
a character string. Name of the file. By default, it is "IUCN_"
a logical, if TRUE, shapefiles of SpatialPolygons used for EOO computation are exported. By default, it is FALSE
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
a logical, if TRUE, results are exported in csv file. By default, it is TRUE
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
a character string, indicating the field name of protec.areas with ID of the SpatialPolygonsDataFrame of protected areas
a logical, if TRUE, maps are exported in one pdf file. Otherwise, each species map is exported in png. By default, it is FALSE
a logical, if TRUE, the polygon used for estimating EOO is drawn. By default, it is TRUE
a logical, if TRUE, areas outside of country_map are cropped of SpatialPolygons used
for EOO computation. By default, it is FALSE
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"
a logical. If TRUE, sub-populations will be estimated. By default, it is TRUE
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
a numeric, if method.range is "alpha.hull", alpha value for the construction of alpha hull. By default, it is 1
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
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"
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
a logical. Wether R should report information on progress
a logical. Wether R should report warnings
A dataframe if 'export_shp' is FALSE.
A list if 'export_shp' is TRUE.
If a list, three elements are provided:
first element a dataframe with results (see field description below)
second element SpatialPolygons used for EOO computation
third element SpatialPolygons used for subpopulations
The dataframe has as many rows as taxa and the following fields:
| [,1] | EOO | numeric, EOO (square kilometres) | [,2] | AOO | numeric, AOO (square kilometres) |
| [,3] | Nbe_unique_occ. | numeric, Number of unique occurrences | [,4] | Nbe_subPop | numeric, Number of subpopulations |
| [,5] | Nbe_loc | numeric, Number of locations | [,6] | Category_CriteriaB | character, IUCN threat category according to Criterion B |
| [,7] | Category_code | character, IUCN annotation | [,8] | Category_AOO | character, IUCN threat category according to Criterion B ignoring EOO |
| [,9] | Category_EOO | character, IUCN threat category according to Criterion B ignoring AOO | [,1] | EOO | numeric, EOO (square kilometres) |
Input as a dataframe should have the following structure:
It is mandatory to respect field positions, but field names do not matter
| [,1] | ddlat | numeric, latitude (in decimal degrees) | [,2] | ddlon |
| numeric, longitude (in decimal degrees) | [,3] | tax | character or factor, taxa names | [,4] |
| family | character, optional field indicating higher taxonomic rank | [,5] | coly | numeric, optional field indicating collection year |
coly and family are optinal 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 kept).
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.
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. Version 8.1 http://www.iucnredlist.org/technical-documents/red-list-training/red-list-guidance-docs
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
# NOT RUN {
data(dataset.ex)
data(land)
# }
# NOT RUN {
Results <- IUCN.eval(dataset.ex, country_map=land)
## A directory has been created in your working directory
and maps for each species has been produced
### The method for computing locations is a sliding scale:
## the grid resolution will be 0.05*the maximum distance separating occurrences
Results <- IUCN.eval(dataset.ex,
country_map=land, Cell_size_locations=10,
Resol_sub_pop = 5, Cell_size_AOO = 4, method_locations="sliding scale")
# }
# NOT RUN {
## Install speciesgeocodeR package for an example with their lemurs dataset
library(speciesgeocodeR)
data("lemurs_in")
Results <- IUCN.eval(lemurs_in, DrawMap=FALSE, country_map=land, SubPop=FALSE)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab