Continental-scale biodiversity data assessment using the Atlas of Living Australia Shandiya Balasubramaniam
@ShandiyaB
VicBioCon2023

I acknowledge the Traditional Owners of the lands on which I live and work, the Wurundjeri People of the Kulin Nation, and pay my respects to Elders past and present. I recognise the spiritual and cultural significance of land, water, and all that is in the environment to Traditional Owners, and their continuing connection to Country.

{galah}

2020-09-23

Counts of records

library(galah)

galah_call() |>
  atlas_counts()
# A tibble: 1 × 1
      count
      <int>
1 113225978
import galah
galah.atlas_counts()

Identify taxa

library(galah)

galah_call() |>
  galah_identify("pardalotus") |>
  atlas_counts()
# A tibble: 1 × 1
    count
    <int>
1 1019663
import galah
galah.atlas_counts(taxa="pardalotus")

Filter records

library(galah)

galah_call() |>
  galah_identify("pardalotus") |>
  galah_filter(year >= 2020, 
               stateProvince == "Tasmania") |> 
  atlas_counts()
# A tibble: 1 × 1
  count
  <int>
1  7016
import galah
galah.atlas_counts(
    taxa="pardalotus",
    filters=["year >= 2020", "stateProvince == Tasmania"]
)

Group counts

library(galah)

galah_call() |>
  galah_identify("pardalotus") |>
  galah_filter(year >= 2020, 
               stateProvince == "Tasmania") |> 
  galah_group_by(year, species) |>
  atlas_counts()
# A tibble: 10 × 3
   species                 year  count
   <chr>                   <chr> <int>
 1 Pardalotus punctatus    2021   2321
 2 Pardalotus punctatus    2020   1381
 3 Pardalotus punctatus    2022     23
 4 Pardalotus striatus     2021   1694
 5 Pardalotus striatus     2020   1315
 6 Pardalotus striatus     2022     19
 7 Pardalotus striatus     2023      1
 8 Pardalotus quadragintus 2021    133
 9 Pardalotus quadragintus 2020    123
10 Pardalotus quadragintus 2022      6
import galah
galah.atlas_counts(
    taxa="pardalotus",
    filters=["year >= 2020", "stateProvince == Tasmania"],
    group_by=["year","species"]
)

Download occurrences

library(galah)
galah_config(email = "shandiya.b@gmail.com")

galah_call() |>
  galah_identify("pardalotus") |>
  galah_filter(year >= 2020, 
               stateProvince == "Tasmania") |> 
  atlas_occurrences()
# A tibble: 7,016 × 8
   decimal…¹ decim…² eventDate           scien…³ taxon…⁴ recor…⁵ dataR…⁶ occur…⁷
       <dbl>   <dbl> <dttm>              <chr>   <chr>   <chr>   <chr>   <chr>  
 1     -43.6    147. 2021-02-09 13:00:00 Pardal… https:… 5cb452… eBird … PRESENT
 2     -43.6    147. 2021-02-09 13:00:00 Pardal… https:… 0308ea… eBird … PRESENT
 3     -43.6    147. 2020-12-17 13:00:00 Pardal… https:… 586de7… eBird … PRESENT
 4     -43.6    147. 2021-01-19 13:00:00 Pardal… https:… 3ce6c9… eBird … PRESENT
 5     -43.6    147. 2020-12-16 13:00:00 Pardal… https:… d7ce89… eBird … PRESENT
 6     -43.6    147. 2022-03-26 23:59:00 Pardal… https:… 859aae… iNatur… PRESENT
 7     -43.6    147. 2020-12-16 13:00:00 Pardal… https:… cc741f… eBird … PRESENT
 8     -43.6    147. 2020-12-16 13:00:00 Pardal… https:… 08e3d1… eBird … PRESENT
 9     -43.5    147. 2021-02-08 13:00:00 Pardal… https:… 38f948… eBird … PRESENT
10     -43.5    147. 2020-12-15 13:00:00 Pardal… https:… a2c7b1… eBird … PRESENT
# … with 7,006 more rows, and abbreviated variable names ¹​decimalLatitude,
#   ²​decimalLongitude, ³​scientificName, ⁴​taxonConceptID, ⁵​recordID,
#   ⁶​dataResourceName, ⁷​occurrenceStatus
import galah
galah.galah_config(email="shandiya.b@gmail.com")
galah.atlas_occurrences(
    taxa="pardalotus",
    filters=["year >= 2020", "stateProvince == Tasmania"]
)

Select fields

library(galah)
galah_config(email = "shandiya.b@gmail.com")

galah_call() |>
  galah_identify("pardalotus") |>
  galah_filter(year >= 2020, 
               stateProvince == "Tasmania") |> 
  galah_select(species, 
               year, 
               dataResourceName) |> 
  atlas_occurrences()
# A tibble: 7,016 × 3
   species               year dataResourceName
   <chr>                <dbl> <chr>           
 1 Pardalotus punctatus  2021 eBird Australia 
 2 Pardalotus punctatus  2021 eBird Australia 
 3 Pardalotus punctatus  2021 eBird Australia 
 4 Pardalotus punctatus  2021 eBird Australia 
 5 Pardalotus punctatus  2020 eBird Australia 
 6 Pardalotus punctatus  2021 eBird Australia 
 7 Pardalotus punctatus  2021 eBird Australia 
 8 Pardalotus punctatus  2021 eBird Australia 
 9 Pardalotus punctatus  2021 eBird Australia 
10 Pardalotus punctatus  2021 eBird Australia 
# … with 7,006 more rows
import galah
galah.galah_config(email="shandiya.b@gmail.com")
galah.atlas_occurrences(
    taxa="pardalotus",
    filters=["year >= 2020", "stateProvince == Tasmania"],
    fields=["species","year","decimalLatitude","decimalLongitude"]
)

Geolocate

library(galah)
library(sf)

melb <- st_read("data/metro_region.shp", 
                quiet = TRUE) |> 
  st_simplify(dTolerance = 1000)

galah_call() |> 
  galah_identify("pardalotus") |> 
  galah_geolocate(melb) |> 
  atlas_counts()
# A tibble: 1 × 1
  count
  <int>
1 93217

Watch this space!

ALA labs

EcoAssets

ibraRegion yearStart yearEnd griisStatus recordCount speciesCount
Arnhem Coast 1900 1970 Introduced 206 19
Arnhem Coast 1900 1970 Invasive 11 3
Arnhem Coast 1900 1970 Native 7754 1791
Arnhem Coast 1971 1975 Introduced 49 19
Arnhem Coast 1971 1975 Invasive 1 1
Arnhem Coast 1971 1975 Native 5570 1658
Arnhem Coast 1976 1980 Introduced 11 8
Arnhem Coast 1976 1980 Invasive 2 2
Arnhem Coast 1976 1980 Native 5945 1163
Arnhem Coast 1981 1985 Introduced 15 10
Arnhem Coast 1981 1985 Invasive 1 1
Arnhem Coast 1981 1985 Native 3032 1116
Arnhem Coast 1986 1990 Introduced 72 26
Arnhem Coast 1986 1990 Invasive 12 3
Arnhem Coast 1986 1990 Native 14929 1736
Arnhem Coast 1991 1995 Introduced 199 41
Arnhem Coast 1991 1995 Invasive 20 6
Arnhem Coast 1991 1995 Native 12067 1572
Arnhem Coast 1996 2000 Introduced 602 59
Arnhem Coast 1996 2000 Invasive 152 6
Arnhem Coast 1996 2000 Native 26124 1849
Arnhem Coast 2001 2005 Introduced 323 45
Arnhem Coast 2001 2005 Invasive 103 5
Arnhem Coast 2001 2005 Native 14594 1490
Arnhem Coast 2006 2010 Introduced 197 38
Arnhem Coast 2006 2010 Invasive 107 9
Arnhem Coast 2006 2010 Native 33248 1649
Arnhem Coast 2011 2015 Introduced 485 52
Arnhem Coast 2011 2015 Invasive 63 5
Arnhem Coast 2011 2015 Native 27975 1350
Arnhem Coast 2016 2020 Introduced 66 10
Arnhem Coast 2016 2020 Invasive 34 3

ibraRegion yearStart yearEnd griisStatus recordCount speciesCount
Arnhem Coast 1900 1970 Introduced 206 19
Arnhem Coast 1900 1970 Invasive 11 3
Arnhem Coast 1900 1970 Native 7754 1791
Arnhem Coast 1971 1975 Introduced 49 19
Arnhem Coast 1971 1975 Invasive 1 1
Arnhem Coast 1971 1975 Native 5570 1658
Arnhem Coast 1976 1980 Introduced 11 8
Arnhem Coast 1976 1980 Invasive 2 2
Arnhem Coast 1976 1980 Native 5945 1163
Arnhem Coast 1981 1985 Introduced 15 10
Arnhem Coast 1981 1985 Invasive 1 1
Arnhem Coast 1981 1985 Native 3032 1116
Arnhem Coast 1986 1990 Introduced 72 26
Arnhem Coast 1986 1990 Invasive 12 3
Arnhem Coast 1986 1990 Native 14929 1736
Arnhem Coast 1991 1995 Introduced 199 41
Arnhem Coast 1991 1995 Invasive 20 6
Arnhem Coast 1991 1995 Native 12067 1572
Arnhem Coast 1996 2000 Introduced 602 59
Arnhem Coast 1996 2000 Invasive 152 6
Arnhem Coast 1996 2000 Native 26124 1849
Arnhem Coast 2001 2005 Introduced 323 45
Arnhem Coast 2001 2005 Invasive 103 5
Arnhem Coast 2001 2005 Native 14594 1490
Arnhem Coast 2006 2010 Introduced 197 38
Arnhem Coast 2006 2010 Invasive 107 9
Arnhem Coast 2006 2010 Native 33248 1649
Arnhem Coast 2011 2015 Introduced 485 52
Arnhem Coast 2011 2015 Invasive 63 5
Arnhem Coast 2011 2015 Native 27975 1350
Arnhem Coast 2016 2020 Introduced 66 10
Arnhem Coast 2016 2020 Invasive 34 3


Shandiya Balasubramaniam
Data Analyst • Science & Decision Support • ALA
shandiya.balasubramaniam@csiro.au
@ShandiyaB
shandiya

Slides: shandiya.quarto.pub/vicbiocon2023