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:
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:
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.
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.
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:
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.
You can access the hosted version of infinitylists here:
🔗 https://unsw.shinyapps.io/infinitylists/
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.
infinitylists includes several pre-loaded taxon-country combinations.
If you need to add a new taxon-country pair, follow these steps:
galah R
package, which interfaces with GBIF and ALA.download_gbif_obs to download the data and store
it as a (fast to access) parquet file in a directory where
infinitylists 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()
taxon argument must be a valid taxonomic group recognized by
GBIF backbone.