Query sealifebase records by ecoregion rfishbase

Tags: #<Tag:0x00007fe21a9427b8>

I’m trying to recreate the list of taxa that’s returned when you search SeaLifeBase using the Information by Ecosystems tab in the online interface. I’m not sure if species are allocated within an ecoregion using an overlap between distribution records and ecoregion polygons, but I’m struggling to recreate the list I can create online using the DegLat and DegLong variables from the distribution table.
Ideally I’d be able to download the location records of species in a larger region (e.g. Arctic) & then assign them to smaller regions of my own delimitation (e.g. 0<DegLong<30). Alternatively, being able to recreate the tables that one can create online would get me part way.
Thank you!

Thanks for your question. I’m one of the rfishbase maintainers. Can you share a link to the page you’re talking about?

Hi Scott- thanks for your efforts- I’ve been working on workarounds creating my own links among the tables, but it seems there might be an easier way.
From the 1st website, if I click on ‘Marine ecoregions’ under the ‘Information by Ecosystem’ header, I can click on ‘Arctic’ and ‘Biodiversity All Species’ & get a table of 2533 species- 2nd website link for me.


I haven’t been able to understand how the species are allocated to these ecoregions- the lists I can create by joining the dist & load_taxa tables (e.g. selecting those recorded above 66deg as being from the Arctic) don’t match those that I create using the queries through the website as above.

First, we only get updated data from Fishbase once or twice per year, and it’s been a year since we’ve last received data https://fishbase.ropensci.org/sealifebase/versions/ So data can not match because we don’t have up to date data.

Second, i added a new function in the github version:

remotes::install_github("ropensci/rfishbase")
library(rfishbase)
species_by_ecosystem(ecosystem = "Arctic", server = "sealifebase")

It’s not quite matching up to that table in your link. I’m not sure if its because we have older data or what