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 kilometers used for estimating Area of Occupancy. By default, equal to 2
a numeric, value indicating the grid size in kilometers used for estimating the number of location. By default, equal to 10
a numeric, value indicating the radius size in kilometers used for estimating the number of sub-population. By default, equal to 5
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 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. 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 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 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 character string, indicating the field name of
protec.areas
with ID of the SpatialPolygonsDataFrame
of
protected areas
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 logical. If TRUE, sub-populations will be estimated. By default, it is TRUE
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. Whether R should report warnings
a character, if "excel", results are exported in excel file, if "csv", results are exported in csv. By default, it is "excel"
a logical. Whether 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:
a dataframe
with results (see field description below)
a list of SpatialPolygons
used for EOO computation
a list of SpatialPolygons
used for subpopulations
The dataframe
has as many rows as taxa and the following fields:
[,1] | EOO | numeric, EOO (square kilometers) | [,2] | AOO | numeric, AOO (square kilometers) |
[,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 kilometers) |
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 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.
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