In my use case, it is not too uncommon for some species to have only one or two presence points in the study area. In these cases, the EOO "polygon" is actually a point or a line, so it has an area of zero. IUCN guidelines say that, in such cases, EOO should be set as =AOO. Actually I see this in the code for getAnywhere(.IUCN.comp): if (EOO < AOO) EOO <- AOO. However, this seems to get lost somewhere, as the result of IUCN.eval() still says EOO is NA for these species. Maybe it should be changed to if (is.na(EOO) || EOO < AOO) EOO <- AOO?
I've also tried specifying buff_width to get an actual polygon around the occurrences, but it seems to be ignored, as well as the draw.poly.EOO argument.
Here's a reproducible example:
(example <- structure(list(lon = c(-2.59487105548141, -2.01867048441999), lat = c(39.1635112135211, 38.9798640743379), species = c("myspecies", "myspecies")), row.names = c(1L, 2L), class = "data.frame"))
# lon lat species
# 1 -2.594871 39.16351 myspecies
# 2 -2.018670 38.97986 myspecies
ConR::IUCN.eval(example,
buff_width = 10, # apparently ignored
parallel = TRUE,
write_results = FALSE,
draw.poly.EOO = TRUE)
# |=================================================================| 100%
# EOO AOO Nbe_unique_occ. Nbe_subPop Nbe_loc Category_CriteriaB
# myspecies NA 8 2 2 2 EN
# Category_code Category_AOO Category_EOO
# myspecies EN B2a EN <NA>

A fix would be greatly appreciated! Cheers
In my use case, it is not too uncommon for some species to have only one or two presence points in the study area. In these cases, the EOO "polygon" is actually a point or a line, so it has an area of zero. IUCN guidelines say that, in such cases, EOO should be set as =AOO. Actually I see this in the code for
getAnywhere(.IUCN.comp):if (EOO < AOO) EOO <- AOO. However, this seems to get lost somewhere, as the result ofIUCN.eval()still says EOO is NA for these species. Maybe it should be changed toif (is.na(EOO) || EOO < AOO) EOO <- AOO?I've also tried specifying
buff_widthto get an actual polygon around the occurrences, but it seems to be ignored, as well as thedraw.poly.EOOargument.Here's a reproducible example:
A fix would be greatly appreciated! Cheers