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)
a dataframe
or an object of class spgeoIN
see https://github.com/azizka/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 kilometres used for estimating Area of Occupancy. By default, equal to 2
a numeric, value indicating the grid size in kilometres used for estimating the number of location. By default, equal to 10
a numeric, value indicating the radius size in kilometres 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 FALSE
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 a file which can csv or excel, see write_file_option. By default, it is TRUE
a character, if "excel", results are exported in excel file, if "csv", results are exported in csv. By default, it is "excel"
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 warnings
a logical. Wether running in parallel. By default, it is FALSE
an integer. Register the number of cores for parallel execution. By default, it is 2
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 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.
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
# 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