Canary Current LME robis demo
This notebook is a quick demonstration of the robis R package for fetching occurrence data relevant to the Canary Current LME.
Dependencies
library(robis)
library(dplyr)
library(ggplot2)
library(sf)
library(rnaturalearth)
Fetching occurrences
The OBIS database has a number of geographic areas against which the occurrence data are indexed. This includes LMEs. Use the areas()
function to get a list of LME area identifiers.
<- area() %>%
areas filter(type == "lme")
%>% rmarkdown::paged_table() areas
Then use the Canary Current LME area ID as a filter in the occurrence()
function.
<- occurrence(areaid = 40027)
occ occ
## # A tibble: 98,765 Ă— 197
## country date_year scientificNameID superorder year scientificName absence
## <chr> <int> <chr> <chr> <chr> <chr> <lgl>
## 1 FRANCE 1971 urn:lsid:marine… Peracarida 1971 Hyperiidea FALSE
## 2 <NA> NA urn:lsid:marine… <NA> <NA> Katsuwonus pe… FALSE
## 3 <NA> 1921 urn:lsid:marine… Elopomorp… 1921 Anguilla FALSE
## 4 <NA> 1975 urn:lsid:marine… <NA> 1975 Paragloborota… FALSE
## 5 <NA> 1996 urn:lsid:marine… <NA> 1996 Reophax biloc… FALSE
## 6 <NA> 1984 urn:lsid:marine… Peracarida 1984 Leucon (Epile… FALSE
## 7 FRANCE 1975 urn:lsid:marine… <NA> 1975 Biota FALSE
## 8 <NA> NA urn:lsid:marine… <NA> <NA> Katsuwonus pe… FALSE
## 9 <NA> 1981 urn:lsid:marine… <NA> 1981 <NA> FALSE
## 10 SOVIET UN… 1970 urn:lsid:marine… Podoplea 1970 Microsetella … FALSE
## # … with 98,755 more rows, and 190 more variables: dropped <lgl>,
## # superorderid <int>, aphiaID <int>, decimalLatitude <dbl>, subclassid <int>,
## # originalScientificName <chr>, marine <lgl>, minimumDepthInMeters <dbl>,
## # phylumid <int>, subphylumid <int>, occurrenceStatus <chr>,
## # basisOfRecord <chr>, superclass <chr>, date_mid <dbl>,
## # maximumDepthInMeters <dbl>, id <chr>, class <chr>, order <chr>,
## # suborder <chr>, superclassid <int>, orderid <int>, dataset_id <chr>, …
Let’s create a map:
<- ne_coastline(returnclass = "sf", scale = "large")
land
ggplot() +
geom_sf(data = land, size = 0.5) +
geom_sf(data = occ %>% st_as_sf(coords = c("decimalLongitude", "decimalLatitude"), crs = 4326), size = 0.1, color = "#45add6") +
coord_sf(xlim = c(-26, -3), ylim = c(10, 38), default_crs = sf::st_crs(4326)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
WRiMS taxa
While it’s possible to filter the dataframe we downloaded earlier based on value in the wrims
column, the occurrence()
function also has a wrims
filter which restricts results to species listed in the World Register of Introduced Marine Species (WRiMS). Note that this currently does not take into account native versus introduced ranges.
<- occurrence(areaid = 40027, wrims = TRUE)
occ_wrims occ_wrims
## # A tibble: 2,428 Ă— 151
## infraphylum date_year scientificNameID year scientificName dropped
## <chr> <int> <chr> <chr> <chr> <lgl>
## 1 Gnathostomata 2003 urn:lsid:marinespecies.… 2003 Chromis limba… FALSE
## 2 Gnathostomata 2003 urn:lsid:marinespecies.… 2003 Chromis limba… FALSE
## 3 Gnathostomata NA urn:lsid:marinespecies.… <NA> Microchirus a… FALSE
## 4 <NA> 1971 urn:lsid:marinespecies.… 1971 Acteocina kno… FALSE
## 5 Gnathostomata 2004 urn:lsid:marinespecies.… 2004 Chromis limba… FALSE
## 6 <NA> 1966 urn:lsid:marinespecies.… 1966 Pulleniatina … FALSE
## 7 Gnathostomata NA urn:lsid:marinespecies.… <NA> Seriola lalan… FALSE
## 8 <NA> 2014 urn:lsid:marinespecies.… 2014 Palaemon eleg… FALSE
## 9 Gnathostomata NA urn:lsid:marinespecies.… <NA> Conger conger FALSE
## 10 Gnathostomata NA 127240 <NA> Pontinus kuhl… FALSE
## # … with 2,418 more rows, and 145 more variables: gigaclassid <int>,
## # aphiaID <int>, language <chr>, decimalLatitude <dbl>, subclassid <int>,
## # gigaclass <chr>, infraphylumid <int>, phylumid <int>, familyid <int>,
## # catalogNumber <chr>, occurrenceStatus <chr>, basisOfRecord <chr>,
## # terrestrial <lgl>, modified <chr>, maximumDepthInMeters <dbl>, id <chr>,
## # day <chr>, parvphylum <chr>, order <chr>, dataset_id <chr>,
## # decimalLongitude <dbl>, collectionCode <chr>, date_end <dbl>, …
ggplot() +
geom_sf(data = land, size = 0.5) +
geom_sf(data = occ_wrims %>% st_as_sf(coords = c("decimalLongitude", "decimalLatitude"), crs = 4326), size = 0.1, color = "#45add6") +
coord_sf(xlim = c(-26, -3), ylim = c(10, 38), default_crs = sf::st_crs(4326)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
Let’s take a look at the most common WRiMS species for the CCLME:
%>%
occ_wrims filter(!is.na(species)) %>%
group_by(class, species) %>%
summarize(records = n()) %>%
arrange(desc(records)) %>%
::paged_table() rmarkdown