diff --git a/README.md b/README.md
index f9b3b0f..8366d9d 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ R Shiny App to select search area(s) and generate reproducible reports (R Markdo
## Set up Revn:
Make sure that [RTools](https://cran.r-project.org/bin/windows/Rtools/) is installed.
-```R
+```r
install.packages("devtools")
install.packages("renv")
renv::activate()
@@ -20,13 +20,26 @@ renv::restore() # loads all needed packages (may take 15+ mins the first time)
```
Adding a package:
-```R
+
+``` r
install.packages("new_package")
renv::snapshot()
```
After adding a new package, commit the updated renv.lock file to source control.
+## Download necessary data
+
+After making sure that you have the necessary permissions to access the data, run:
+
+``` r
+source(here::here("dataprocessing/CopyRData.R"))
+copy_rdata_files()
+```
+
+## Unit Tests:
+
+Once Renv is setup and data has been loaded, running `testthat::test_local()` should pass all unit tests.
## Run the application
@@ -46,6 +59,8 @@ See [demo.webm](https://github.com/dfo-mar-odis/shinySpatialApp/raw/main/demo.we
- `app/R` includes the R files to be loaded (it loads packages and functions);
- `app/Rmd` includes all the `.Rmd` files needed to generate the report(s);
- `app/output` includes all outputs once generated: selected geometries as a `.geojson` and the report in all format (the different section are also added).
+- `dataprocessing` contains all of the preprocessing scripts to prepare data for use in the application.
+- `tests/testthat` contains the unit test scripts that are run when test_local() is called.
# **Collaborative Workflow**
diff --git a/app/R/copyRData.R b/app/R/copyRData.R
new file mode 100644
index 0000000..9a52ae1
--- /dev/null
+++ b/app/R/copyRData.R
@@ -0,0 +1,21 @@
+
+copy_rdata_files <- function() {
+
+ rDataDir <- "\\\\ent.dfo-mpo.ca\\ATLShares\\Science\\BIODataSvc\\IN\\MSP\\Data\\Rdata\\data"
+
+ localDataDir <- here::here("app/data/")
+ remoteInfo <- file.info(list.files(rDataDir, full.names = TRUE))
+ remoteInfo["filenames"] = list.files(rDataDir)
+ localInfo <- file.info(list.files(localDataDir, full.names = TRUE))
+ localInfo["filenames"] = list.files(localDataDir)
+
+ allInfo <- merge(remoteInfo, localInfo, by="filenames")
+ updateList <- allInfo$mtime.x > allInfo$mtime.y
+ if (any(updateList)) {
+ updateFileList <- filter(allInfo, updateList)$filenames
+ updateFilePath <- rownames(filter(remoteInfo, remoteInfo$filename %in% updateFileList))
+ copyResults <- file.copy(updateFilePath, localDataDir, overwrite = TRUE)
+ }
+ return("Data files up to date :)")
+
+}
diff --git a/app/R/renderReport.R b/app/R/renderReport.R
index 7382273..44989f9 100644
--- a/app/R/renderReport.R
+++ b/app/R/renderReport.R
@@ -78,7 +78,8 @@ renderReport <- function(input, geoms, outFileName = NULL, dirOut = "output",
)
} # end of language loop
-
+ msgInfo("Render complete")
+
if (all(ok)) {
# this is done to generate an html preview (see "report" tab)
htmlName <- switch_ext(basename(inFile), "html")
diff --git a/app/Rmd/intro_EN.Rmd b/app/Rmd/intro_EN.Rmd
index 539950d..ad27a81 100644
--- a/app/Rmd/intro_EN.Rmd
+++ b/app/Rmd/intro_EN.Rmd
@@ -30,12 +30,14 @@ knitr::opts_chunk$set(echo = FALSE, warning=FALSE, message=FALSE, fig.align="lef
```{r load-data-and-functions, echo=FALSE, include=FALSE, cache=FALSE}
minYear <- 2010
+lapply(list.files(here::here("app/R"), pattern = ".[Rr]$", full.names = TRUE),source) # check helpers.R for a list of packages
+copy_rdata_files() # make sure data files are up to date.
load(here::here("app/data/testData.RData"))
#load(here::here("app/data/OpenData.RData"))
#load(here::here("app/data/OpenData_sardist.RData"))
#load(here::here("app/data/SecureData.RData"))
#load("\\\\ent.dfo-mpo.ca\\ATLShares\\Science\\BIODataSvc\\SRC\\Reproducible_Reporting\\data\\SecureData.Rdata")
-lapply(list.files(here::here("app/R"), pattern = ".[Rr]$", full.names = TRUE),source) # check helpers.R for a list of packages
+
```
```{r Load-Search-Area, echo=FALSE, include=FALSE, cache=FALSE}
@@ -57,7 +59,7 @@ list2env(mapDataList, envir = environment())
-
diff --git a/app/Rmd/intro_FR.Rmd b/app/Rmd/intro_FR.Rmd
index c88d898..d69e796 100644
--- a/app/Rmd/intro_FR.Rmd
+++ b/app/Rmd/intro_FR.Rmd
@@ -30,11 +30,12 @@ knitr::opts_chunk$set(echo = FALSE, warning=FALSE, message=FALSE, fig.align="lef
```{r load-data-and-functions, echo=FALSE, include=FALSE, cache=FALSE}
minYear <- 2010
+lapply(list.files("../R", pattern = ".[Rr]$", full.names = TRUE),source) # check helpers.R for a list of packages
+copy_rdata_files() # make sure data files are up do date.
load("../data/OpenData.RData")
load("../data/OpenData_sardist.RData")
load("../data/SecureData.RData")
#load("\\\\ent.dfo-mpo.ca\\ATLShares\\Science\\BIODataSvc\\SRC\\Reproducible_Reporting\\data\\SecureData.Rdata")
-lapply(list.files("../R", pattern = ".[Rr]$", full.names = TRUE),source) # check helpers.R for a list of packages
```
```{r Load-Search-Area, echo=FALSE, include=FALSE, cache=FALSE}
diff --git a/app/Rmd/report_fish_EN.Rmd b/app/Rmd/report_fish_EN.Rmd
index 1082659..7cdc46b 100644
--- a/app/Rmd/report_fish_EN.Rmd
+++ b/app/Rmd/report_fish_EN.Rmd
@@ -209,3 +209,42 @@ if (!is.null(outputList)) {
knitr::kable(table_obis1, align="l", caption="Quality Tier: Medium. Security level: none. Ocean Biodiversity Information System (OBIS) observation records of species contained within the search area and listed by the Species At Risk Act (SARA), or assessed by the Committee on the Status of Endangered Wildlife in Canada (COSEWIC). The absence of a species in this figure should be interpreted as an absence of reporting, not necessarily as an absence of the species in the area.", booktabs = T, escape = F, linesep="") %>% kable_styling(bootstrap_options = "striped", full_width = F, position = "left")
}
```
+
+### **OCEARCH Shark Tracker**
+Contact: Bryan Franks (bfranks@ju.edu) via Sean Butler (sean.butler@dfo-mpo.gc.ca)
+URL:
+Last retrieved on: July 22 2021 by Sean Butler
+Quality Tier: High
+Search year: 2013-2020
+Security level: none
+Data use constraints: DFO INTERNAL USE ONLY
+
+OCEARCH is a data-centric organization built to help scientists collect previously unattainable data in the ocean while open sourcing our research and explorations. Open sourcing and inclusion at every level, and in real-time, allows the world to participate in their projects while being aware of the developing science. OCEARCH shares the data, including samples collected and tracking data, with collaborating institutions and students who request them for their studies. The tracking data is also open-sourced to the public via the OCEARCH Tracker. The OCEARCH Tracker is a free app that lets you observe the navigational pattern of animals that have been tagged with satellite tracking technology. White Shark locations from satellite trackers are summarized in this section from 1 Jan 2013 to 31 Oct 2020. Locations were clipped to only include locations within the Canadian EEZ. A speed filter was run with 3 m/s as the maximum speed and 2.5 km as the potential error of locations. This filter removed approximately 100 locations out of of 2,000. Resulting points ere then visualized in ArcGIS to identify potential errors and remove locations that seemed implausible. Each shark location was individually plotted to do a second visual examination and to remove or flag errors/outliers. There is additional QA/QC that could still be performed to this dataset to capture additional issues (e.g. there may be single shark locations in Canadian waters during a period of time that the speed filter would not remove or that were not captured in the visual inspection). The absence of White Sharks in this section map should be interpreted as an absence of tracking data, not necessarily as an absence of the species in the area.
+
+#### ***Area-specific OCEARCH Shark Tracker search results***
+*
+
+
+```{r ocearch-results, include=FALSE, cache=FALSE}
+ocearchOutputList <- master_intersect(ocearch_sf, mapDataList)
+
+```
+
+
+```{r ocearch-check, echo=FALSE, results='asis',}
+Report_ocearch <- if (is.null(ocearchOutputList)) {
+ "There are no relevant White Shark records in the OCEARCH Shark Tracker for this search area."
+} else {
+ numRecords <- length(ocearchOutputList$studyData$geometry)
+ distinctIndv <- dplyr::n_distinct(ocearchOutputList$studyData$ID)
+ paste("There are", numRecords, "relevant White Shark records for", distinctIndv, "individuals in OCEARCH Shark Tracker search results for this search area.")
+}
+Report_obis<-noquote(Report_ocearch)
+writeLines(Report_ocearch)
+```
+```{r ocearch-plot, fig.height=8, fig.width=11, fig.cap='Quality Tier: Medium. Security level: none. Map showing the search area defined by the user (red outline) was used to query information from OCEARCH Shark Tracker observation records, for White Shark. Dataset set has not yet been completely error-checked. The absence of a species in this figure should be interpreted as an absence of tracking data, not necessarily as an absence of the species in the area.'}
+if (!is.null(ocearchOutputList)) {
+ plot_rr_sf(areaMap, ocearchOutputList$mapPoints)
+}
+```
+
diff --git a/app/Rmd/report_habitat_FR.Rmd b/app/Rmd/report_habitat_FR.Rmd
index 0ebb564..2da26d7 100644
--- a/app/Rmd/report_habitat_FR.Rmd
+++ b/app/Rmd/report_habitat_FR.Rmd
@@ -5,11 +5,11 @@ Cartes satellitaires de la végétation intertidale et des polygones de présenc
Personne-ressource :
Consulté le : 17 février 2021
Niveau de qualité : Moyennem
-Niveau de sécurité : Aucun.
+Niveau de sécurité : Aucun.
Le fucus (Ascophyllum nodosum) est une algue brune intertidale d’eau froide commune dont les crampons de longue durée s’agrippent à des substrats rocheux. Il domine la zone intertidale rocheuse du Canada atlantique et fournit un habitat pour les poissons, les invertébrés et les oiseaux. Il y a peu d’information disponible sur la répartition spatiale du fucus et de la végétation intertidale dans la région des Maritimes. Les données d’enquête existantes de l’industrie sont considérées comme exclusives et ne sont pas disponibles. Par conséquent, des cartes satellitaires à l’échelle régionale ont été élaborées pour indiquer l’emplacement, la densité relative de la végétation intertidale et les polygones qui délimitent les zones probablement occupées par le fucus (Lazin et al., en préparation).
-Les cartes sont produites à l’aide de données satellitaires Sentinel-2 de ciel dégagé à une résolution au sol de 10 mètres, en appliquant un indice de végétation par différence normalisée (IVDN) bien établi pour détecter la végétation intertidale exposée à marée basse. Les parcelles de végétation sont délimitées à l’aide de seuils, et la probabilité de présence de fucus est attribuée en fonction de la classification du substrat riverain, des archives photographiques/vidéo aériennes et des données des bases de données sur la biodiversité en libre accès. Les produits finaux seront conservés sur le portail des données ouvertes du gouvernement du Canada et seront continuellement améliorés à mesure que de nouvelles données de terrain seront disponibles.
+Les cartes sont produites à l’aide de données satellitaires Sentinel-2 de ciel dégagé à une résolution au sol de 10 mètres, en appliquant un indice de végétation par différence normalisée (IVDN) bien établi pour détecter la végétation intertidale exposée à marée basse. Les parcelles de végétation sont délimitées à l’aide de seuils, et la probabilité de présence de fucus est attribuée en fonction de la classification du substrat riverain, des archives photographiques/vidéo aériennes et des données des bases de données sur la biodiversité en libre accès. Les produits finaux seront conservés sur le portail des données ouvertes du gouvernement du Canada et seront continuellement améliorés à mesure que de nouvelles données de terrain seront disponibles.
Remarques sur les données :
@@ -21,62 +21,37 @@ Remarques sur les données :
#### ***Résultats de la recherche sur la végétation intertidale et le fucus, par zone***
```{r overlap-rockweed, echo=FALSE, results='asis'}
-rockweed_intersect <- st_intersection(studyArea, st_make_valid(rockweed_sf))
-rockweed_result <- as.numeric(nrow(rockweed_intersect))
+# define polygon dataset and attribute to plot
+poly_sf <- rockweed_sf
+attribute <- "RWP"
+
+# intersect polyData with 3 polygons (region, map area, and study box)
+clipped <- master_intersect(poly_sf, mapDataList)
```
*
-```{r overlap-rockweed-output, echo=FALSE, results='asis'}
- Query_output_rockweed <- if(rockweed_result < 1){"There are no relevant records of predicted intertidal vegetation for this search area."
- } else {"There are relevant records of predicted intertidal vegetation for this search area."}
- Query_output_rockweed<-noquote(Query_output_rockweed)
- writeLines(Query_output_rockweed)
+```{r overlap rockweed output, echo=FALSE, results='asis'}
+
+polyText<-if(is.null(clipped$studyData)){"Il n’existe aucun registre pertinent sur la végétation intertidale prévue pour cette zone de recherche."
+} else {"Il existe des registres pertinentes sur la végétation intertidale prévue pour cette zone de recherche."}
+
+ polyText<-noquote(polyText)
+ writeLines(polyText)
```
-```{r rockweed-plot, fig.height=8, fig.width=11, fig.cap='Quality Tier: Medium. Security level: none. Map showing the search area defined by the user: location of the proposed project/activity is highlighted in yellow (input polygon), surrounded by an exposure zone or user-defined buffer area in blue. Figure shows overlap between the search area and satellite-based maps of intertidal vegetation and rockweed presence polygons.'}
- plot_rockweed <- function(rockweed_sf, areaMap, bboxMap) {
-
- # crop rockweed layer to the map area to speed up plotting
- rockweed <- st_crop(st_make_valid(rockweed_sf), bboxMap)
-
- if (dim(rockweed)[1] == 0){
- rockweedMap <- NULL
- }else{
-
- # define axis limit
- axLim <-ggplot2::coord_sf(xlim = c(bboxMap["xmin"], bboxMap["xmax"]),
- ylim = c(bboxMap["ymin"], bboxMap["ymax"]),
- expand = FALSE)
-
- # replace codes with words
- rockweed$Rockweed <- ""
- rockweed$Rockweed[which(rockweed$RWP == 1)] <- "1-Present"
- rockweed$Rockweed[which(rockweed$RWP == 2)] <- "2-Likely Present"
- rockweed$Rockweed[which(rockweed$RWP == 5)] <- "5-Unknown"
- rockweed$Rockweed[which(rockweed$RWP == 0)] <- "Not Present"
-
- rockweedMap <- areaMap +
- geom_sf(data = rockweed, aes(fill = Rockweed), colour = NA) +
- scale_fill_manual(values = c("#009E73", "#E69F00", "#0072B2","#999999")) +
- studyBox_geom +
- axLim
- }
-
- return(rockweedMap)
-
-}
-if(rockweed_result > 1){print(
- plot_rockweed(rockweed_sf, areaMap, bboxMap))}
+```{r rockweed-plot, fig.height=8, fig.width=11, fig.cap='Niveau de qualité : Moyenne. Niveau de sécurité : Aucun. Carte montrant la zone de recherche définie par l’utilisateur : l’emplacement du projet ou de l’activité proposé est surligné en jaune (polygone d’entrée), entouré d’une zone exposée ou d’une zone tampon définie par l’utilisateur en bleu. La figure illustre le chevauchement entre la zone de recherche et les cartes satellitaires de la végétation intertidale et des polygones de présence de fucus.'}
+if(!is.null(clipped$studyData)){print(
+ plot_rr_sf(areaMap, clipped$mapData, attribute))}
```
```{r table-rockweed, echo=FALSE, cache=FALSE, include = FALSE}
-if(rockweed_result > 1){
- rwTable <- rockweedStats(rockweed_sf, studyArea)}
+if(!is.null(clipped$studyData)){
+ rwTable <- rockweedStats(clipped$studyData, studyArea)}
```
+
```{r rockweed-table}
-if(rockweed_result > 1){
-knitr::kable(rwTable, align="l",
- caption = "Number of vegetation polygons and surface area occupied by each category for the study area. Total intertidal vegetations is a sum of all categories.", booktabs = T, escape = F, linesep = "") %>%
+if(!is.null(clipped$studyData)){
+knitr::kable(rwTable,align="l",
+ caption = "Nombre de polygones de végétation et la superficie occupée par chaque catégorie pour la zone d’étude. La végétation intertidale totale est la somme de tous les catégories.", booktabs = T, escape = F, linesep="") %>%
kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
-}
+}
```
-
diff --git a/app/Rmd/report_planning_FR.Rmd b/app/Rmd/report_planning_FR.Rmd
index 054c566..bb5483a 100644
--- a/app/Rmd/report_planning_FR.Rmd
+++ b/app/Rmd/report_planning_FR.Rmd
@@ -2,23 +2,22 @@
### **Zones d’importance écologique et biologique (ZIEB)**
Personne-ressource:
-Consulté le : 21 janvier 2021 sur le Portail de données ouvertes
+Consulté le : 21 janvier 2021 sur le Portail de données ouvertes
Niveau de qualité : Élevée
Niveau de sécurité : Aucun
-Description de l’ensemble de données (tirée du dossier des données ouvertes): Les zones d'importance écologique et biologique (ZIEB) sont des zones au sein des eaux océaniques canadiennesque des évaluations scientifiques officielles ont désignées comme ayant une importance écologique et biologique particulière par rapport à l'écosystème marin environnant. Le fait qu'une zone n'ait pas été désignée comme ayant une importance écologique et biologique ne signifie pas pour autant qu'elle n'a pas une importance écologique. Toutes les zones assument des fonctions écologiques dans une certaine mesure et exigent une gestion durable. Les zones désignées comme des ZIEB devraient plutôt être vues comme des zones extrêmement importantes, où les connaissances, les législateurs et les utilisateurs des ressources marines doivent exercer une grande prudence eu égard au risque, afin de veiller à ce que les écosystèmes restent sains et productifs. Les renseignements relatifs à ces aires sont utilisés pour appuyer la planification marine, notamment l'évaluation environnementale et la mise en place d'activités marines:
+Description de l’ensemble de données (tirée du dossier des données ouvertes): Les zones d'importance écologique et biologique (ZIEB) sont des zones au sein des eaux océaniques canadiennes que des évaluations scientifiques officielles ont désignées comme ayant une importance écologique et biologique particulière par rapport à l'écosystème marin environnant. Le fait qu'une zone n'ait pas été désignée comme ayant une importance écologique et biologique ne signifie pas pour autant qu'elle n'a pas une importance écologique. Toutes les zones assument des fonctions écologiques dans une certaine mesure et exigent une gestion durable. Les zones désignées comme des ZIEB devraient plutôt être vues comme des zones extrêmement importantes, où les connaissances, les législateurs et les utilisateurs des ressources marines doivent exercer une grande prudence eu égard au risque, afin de veiller à ce que les écosystèmes restent sains et productifs. Les renseignements relatifs à ces aires sont utilisés pour appuyer la planification marine, notamment l'évaluation environnementale et la mise en place d'activités marines:
-- Informing and guiding project-specific or regional environmental assessments
+- En informant et guidant les évaluations environnementales régionales ou spécifique à un projet
- En informant et guidant les industries et les législateurs pour une planification et une conduite d'activités optimale, par exemple: les zones d'importance écologique et biologique ont été prises en compte et mentionnées dans les évaluations portant sur le pétrole et le gaz.
-- Des renseignements ont été fournis aux promoteurs de projets de câbles sous-marins, afin de les aider à en déterminer les tracés.
+- Des renseignements sur les ZIEB ont été fournis aux promoteurs de projets de câbles sous-marins, afin de les aider à en déterminer les tracés.
- En information et en guidant le processus de gestion intégrée des océans dans cinq zones étendues de gestion des océans et 12 biorégions marines.
- En servant de fondement pour la détermination des zones d'intérêt et des zones de protection marines (de manière individuelle et dans le cadre de la planification des réseaux biorégionaux de zones de protection marines).
#### ***Résultats de la recherche des ZIEB par zone***
-**under-development**
-
+*
```{r EBSA-results, echo=FALSE, results='asis'}
#function for overlap
EBSAoutput <- master_intersect(EBSA_sf, mapDataList)
@@ -30,9 +29,9 @@ attribute <- "NONE"
```{r EBSA-check, echo=FALSE, results='asis'}
#function for overlap
Query_output_EBSA<-if(is.null(EBSAoutput)){
- "The search area does not overlap with identified Ecologically and Biologically Significant Areas (EBSA)."
+ "La zone de recherche ne chevauche pas les zones d’importance écologique et biologique (ZIEB)."
} else {
- "The search area overlaps with identified Ecologically and Biologically Significant Areas (EBSA)."
+ "La zone de recherche chevauche les zones d’importance écologique et biologique (ZIEB)."
}
Query_output_EBSA2<-noquote(Query_output_EBSA)
@@ -46,13 +45,13 @@ EBSA_report(EBSAoutput$studyData, lang="FR")
```
-```{r EBSA-region-plot, fig.height=8, fig.width=11, fig.cap= 'Quality Tier: High. Security level: none. Map showing Ecologically and Biologically Significant Areas (EBSA) relative to the search area defined by the user (red outline).'}
+```{r EBSA-region-plot, fig.height=8, fig.width=11, fig.cap= 'Niveau de qualité : Élevée. Niveau de sécurité : Aucun. Carte montrant les zones d’importance écologique et biologique (ZIEB) par rapport à la zone de recherche définie par l’utilisateur (entourée de rouge).'}
if (!is.null(EBSAoutput$regionData)){
plot_rr_sf(regionMap, EBSAoutput$regionData, attribute)
}
```
-```{r EBSA-area-plot, fig.height=8, fig.width=11, fig.cap= 'Quality Tier: High. Security level: none. Map showing Ecologically and Biologically Significant Areas (EBSA) in the search area defined by the user (red outline).'}
+```{r EBSA-area-plot, fig.height=8, fig.width=11, fig.cap= 'Niveau de qualité : Élevée. Niveau de sécurité : Aucun. Carte montrant les zones d’importance écologique et biologique (ZIEB) dans la zone de recherche définie par l’utilisateur (entourée de rouge).'}
if(!is.null(EBSAoutput$studyData)){print(
plot_rr_sf(areaMap, EBSAoutput$mapData, attribute))}
```
diff --git a/dataprocessing/MakeTestData.R b/dataprocessing/MakeTestData.R
index b9ee23d..7adf601 100644
--- a/dataprocessing/MakeTestData.R
+++ b/dataprocessing/MakeTestData.R
@@ -168,14 +168,14 @@ gen_all_test_data <- function() {
listed_species, obis_cet_sf, obis_fish_sf, rockweed_sf,
RVCatch_sf, RVGSSPECIES, sei_whale_sf, sardist_sf, isdb_sf, ISSPECIESCODES,
leatherback_sf, Legend, marfis_sf, MARFISSPECIESCODES, narwc_sf, whitehead_sf,
- wsdb_sf)
+ wsdb_sf, ocearch_sf)
sf_names <- c("NBNW_ImpHab_sf", "bioregion_sf", "BlueWhale_ImpHab_sf", "bounds_sf", "ClippedCritHab_sf", "EBSA_sf",
"fin_whale_sf", "harbour_porpoise_sf", "humpback_whale_sf", "land10m_sf", "land50k_sf",
"listed_cetacean_species", "listed_fish_invert_species", "listed_other_species",
"listed_species", "obis_cet_sf", "obis_fish_sf", "rockweed_sf",
"RVCatch_sf", "RVGSSPECIES", "sei_whale_sf", "sardist_sf", "isdb_sf", "ISSPECIESCODES",
"leatherback_sf", "Legend", "marfis_sf", "MARFISSPECIESCODES", "narwc_sf", "whitehead_sf",
- "wsdb_sf")
+ "wsdb_sf", "ocearch_sf")
exclude_list <- c("bounds_sf", "land10m_sf", "land50k_sf")
diff --git a/dataprocessing/SaveDataSets_asRdata.R b/dataprocessing/SaveDataSets_asRdata.R
index 381d8a6..de28e40 100644
--- a/dataprocessing/SaveDataSets_asRdata.R
+++ b/dataprocessing/SaveDataSets_asRdata.R
@@ -232,9 +232,16 @@ ISSPECIESCODES <- ISSPECIESCODES %>% rename("Common Name"= COMMON,
MARFISSPECIESCODES <- SPECIES %>% rename("COMMONNAME"= SPECIES_NAME)
+# LOAD OCEARCH DATA #############
+ocearchDatafile <- ("../Data/NaturalResources/Species/Sharks/OCEARCH/OCEARCH_08-27-2021.csv")
+lines <- readLines(ocearchDatafile)
+lines <- gsub('(^"|"$)', "", lines)
+ocearch <- read.csv(textConnection(lines), quote = '""')
+ocearch <- dplyr::select(ocearch, c("Date", "long", "lat", "ID"))
+ocearch_sf <- st_as_sf(ocearch, coords = c("long","lat"), crs = 4326)
# Save all objects to a single .Rdata file
-save(isdb_sf,ISSPECIESCODES,leatherback_sf,Legend, marfis_sf,MARFISSPECIESCODES,narwc_sf, whitehead_sf, wsdb_sf,
+save(isdb_sf,ISSPECIESCODES,leatherback_sf,Legend, marfis_sf,MARFISSPECIESCODES,narwc_sf, whitehead_sf, wsdb_sf, ocearch_sf,
file = "../Data/Rdata/SecureData.Rdata")
########################################################-
\ No newline at end of file