R/clean_records.R

Defines functions clean_records

Documented in clean_records

#' @title Creating a summary file of counts of germplasm, herbarium and records for a given species using a CSV file   (Pre-analysis function)
#' @name clean_records
#' @description Creates a summary file of counts of germplasm, herbarium as well split records
#'  in csv files per species to allow calculate all indicators provided by GapAnalysisR R package
#'
#' @param Workspace A forder where the pipeline will be executed
#' @param species_csv CSV file name located at /Workspace/parameters/input to be splitted
#' @param species_list A list of species to be analyzed
#' @param  run_version The version of the analysis used (e.g 'v1')
#'
#' @return It returns a raster file saved in /Workspace/parameters/input to be used to calculate ex-situ conservation indicators
#'
#' @examples clean_records(Workspace,species_csv,species_list,run_version)
#'
#'  dir  <-  'E:/CIAT/workspace/Workspace_test'
#'  run_version  <- 'v1'
#'  species_csv <- 'Cucurbita_CWR_2019_09_30.csv'
#'
#'  x <- clean_records(Workspace,species_csv,species_list,run_version)
#'
#'@references
#'
#' Khoury, C. K., Amariles, D., Soto, J. S., Diaz, M. V., Sotelo, S., Sosa, C. C., … Jarvis, A. (2019).
#' Comprehensiveness of conservation of useful wild plants: An operational indicator for biodiversity
#' and sustainable development targets. Ecological Indicators. https://doi.org/10.1016/j.ecolind.2018.11.016
#'
#' @export


clean_records <- function(species_list,occurrenceData) {

  #load packages
  suppressMessages(require(tmap))
  suppressMessages(require(raster))
  suppressMessages(require(maptools))
  suppressMessages(require(rgdal))
  suppressMessages(require(sf))
  suppressMessages(require(lwgeom))
  suppressMessages(require(dplyr))

  data(World)
  countries_sh <- World
  # sf::st_crs(countries_sh)
  countries_sh <- lwgeom::st_transform_proj(countries_sh,"+proj=lonlat",type="proj");x_crs <- sf::st_crs(countries_sh)
  suppressWarnings(countries_sh <-as(countries_sh, 'Spatial'))
  # proj4string(countries_sh)

  occurrenceData1 <- occurrenceData
  occurrenceData1$lon <- as.numeric(as.character(occurrenceData1$longitude))
  occurrenceData1$lat <- as.numeric(as.character(occurrenceData1$latitude))
  occurrenceData1 <- occurrenceData1[which(!is.na(occurrenceData1$lon)),]
  occurrenceData1 <- occurrenceData1[which(!is.na(occurrenceData1$lat)),]
  occurrenceData1 <- occurrenceData1 %>% distinct(lon, lat, .keep_all = TRUE) %>%
  sf::st_as_sf(coords = c("lon", "lat"))
  sf::st_crs(occurrenceData1) <- as.character(crs(countries_sh))
  occurrenceData1 <- as(occurrenceData1, 'Spatial')
  raster::crs(occurrenceData1) <- raster::crs(countries_sh)

    if(nrow(occurrenceData1)>0){
      over_occurrenceData <- over(occurrenceData1, countries_sh) ### over() #overlay
      occurrenceData1 <- as.data.frame(occurrenceData1)
      occurrenceData1 <- cbind(occurrenceData1, over_occurrenceData)

      occData1 <- occurrenceData1[which(!is.na(occurrenceData1$iso_a3)),]
      occData1 <- occData1[,1:4]


    } else {
      occurrenceData <- NULL
    }
cat(paste0("CLEAN COORDS DONE!"),"\n")
return(occData1)
  }
dcarver1/gapAnalysisR documentation built on Feb. 29, 2020, 12:13 p.m.