infinitylists
is a Shiny-based application that enables users to extract species occurrence data from national and global databases to generate species lists for any defined area. The area can be defined either via a kml
file or a circle for a specified latitude and longitude, including based on the current location of your device.
The application retrieves species occurrence records associated with:
- Physical vouchers (specimens stored in herbaria or museums across the world)
- Photographic vouchers (uploaded to iNaturalist)
- Audio vouchers (uploaded to iNaturalist)
This is designed for a field naturalist in, for example, Manú National Park, Peru, who wants to know which species of Morpho butterflies have been observed in or close by to the park.
The answer to this query is here in table form:
and here in map form:
For each species in the selected area, the app provides a field-friendly formatting of:
- Observation type
- Number of observations
- Date of the most recent observation
- Spatial coordinates
- Voucher location
- Observer
The most recent record for each species per voucher type is displayed in both a table and a map, whilst all observations in the selected area can be downloaded as a CSV file.
Data Updates
The pre-loaded datasets are downloads corresponding to the timestamp in the releases section of GitHub. Users can also retrieve up-to-date data using the code provided below.
Record Display Rules
The map and table only display the most recent record per species per voucher type. This means each species may be represented by up to three records:
- Physical voucher
- Photographic voucher
- Audio voucher
The total number of records is indicated in the text summary, while the downloadable CSV contains all records for the target area, not just the most recent ones. If you want all the observations in your area, not just the most recent one for each species, use this button. Please read the About tab within the app for more information on which records are included or excluded.
Accessing the Web App
You can access the hosted version of infinitylists
here:
🔗 https://unsw.shinyapps.io/infinitylists/
Local Installation
To install and run infinitylists
locally from GitHub, use the following commands:
# install.packages("remotes")
remotes::install_github("traitecoevo/infinitylists", build_vignettes = TRUE)
library(infinitylists)
infinitylistApp()
Running the application locally provides greater flexibility, allowing you to load taxon-country combinations that may not be available in the web app and retrieve data for any region worldwide.
Adding New Taxa / Country Combinations
infinitylists
includes several pre-loaded taxon-country combinations. If you need to add a new taxon-country pair, follow these steps:
- Download data using the
galah
R package, which interfaces with GBIF and ALA. - Use the function
download_gbif_obs
to download the data and store it as a (fast to access) parquet file in a directory whereinfinitylists
can access it.
# Example usage
# register with GBIF first before and include your information here
galah::galah_config(atlas = "Global",email = "youremail",password="yourpassword",username ="yourusername")
#check the size of your download first. Some GBIF downloads may overwhelm your internet connection or storage capacity.
# this checks the approximate size of reptile downloads from Madagascar.
query_gbif_global("Reptilia",
min_year = 1980,
max_year = 2024,
country_code = "MG") |>
galah::atlas_counts()
download_gbif_obs(taxon = "Reptilia",country_code = "MG")
#restart the app locally:
infinitylistApp()
Important Considerations
- The
taxon
argument must be a valid taxonomic group recognized by GBIF backbone. - Small taxon-country combinations download quickly, but larger datasets may take longer and could cause connection timeouts.
- Ensure the geographic location is correctly specified so the data appears in the app.
- More frequently asked questions are on the About tab within the app