From b7446d20d50dfb4835bd7c137e8c48b6c08f1556 Mon Sep 17 00:00:00 2001 From: mjwestgate Date: Wed, 15 Nov 2023 22:36:24 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20AtlasOfL?= =?UTF-8?q?ivingAustralia/galah-R@7f78e12ef625d6c024022a904e1b0ad4375769c0?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgdown.yml | 2 +- reference/atlas_occurrences.html | 9 ++++++++- reference/collect_galah.html | 5 +++-- search.json | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgdown.yml b/pkgdown.yml index c4a6cc2c..9889cc94 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -12,7 +12,7 @@ articles: spatial_filtering: spatial_filtering.html taxonomic_filtering: taxonomic_filtering.html temporal_filtering: temporal_filtering.html -last_built: 2023-11-13T07:05Z +last_built: 2023-11-15T22:35Z urls: reference: https://galah.ala.org.au/reference article: https://galah.ala.org.au/articles diff --git a/reference/atlas_occurrences.html b/reference/atlas_occurrences.html index cd7390c4..977b6475 100644 --- a/reference/atlas_occurrences.html +++ b/reference/atlas_occurrences.html @@ -93,7 +93,8 @@

Usage data_profile = NULL, select = NULL, mint_doi = FALSE, - doi = NULL + doi = NULL, + file = NULL ) @@ -138,6 +139,12 @@

Arguments

Value

diff --git a/reference/collect_galah.html b/reference/collect_galah.html index 134f813e..327f0c47 100644 --- a/reference/collect_galah.html +++ b/reference/collect_galah.html @@ -107,8 +107,9 @@

Arguments diff --git a/search.json b/search.json index b593cb4c..76f757a6 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"set-organisation","dir":"Articles","previous_headings":"","what":"Set Organisation","title":"Choosing an atlas","text":"Set atlas want use changing atlas argument galah_config(). atlas argument can accept full name, acronym, region select given atlas, available via show_all(atlases). value provided, automatically update galah’s server configuration selected atlas. default atlas Australia. intend download records, may need register user profile relevant atlas first.","code":"galah_config(atlas = \"GBIF.es\", email = \"your_email_here\")"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"look-up-information","dir":"Articles","previous_headings":"","what":"Look up Information","title":"Choosing an atlas","text":"can use look-functions find useful information Atlas set. Available information may vary Living Atlas.","code":"galah_config(atlas = \"Guatemala\") ## Atlas selected: Sistema Nacional de Información sobre Diversidad Biológica de Guatemala ## (SNIBgt) [Guatemala] show_all(datasets) ## # A tibble: 1,283 × 3 ## id name uri ## ## 1 dr1440 A catalogue of the Heteroptera (Hemiptera) or true bugs of Argentina http… ## 2 dr1436 A cybercatalogue of American sand fly types (Diptera, Psychodidae, Phleboto… http… ## 3 dr1226 A distinctive new species of biting midge in the subgenus Euprojoannisia Br… http… ## 4 dr321 A Distribution and Taxonomic Reference Dataset of Geranium (Geraniaceae) in… http… ## 5 dr1285 A geographic distribution database of the cassava whitefly complex (Hemipte… http… ## 6 dr12 A global database for the distributions of crop wild relatives http… ## 7 dr467 A matrix-based revision of the genus Hypogena Dejean, 1834 (Coleoptera Tene… http… ## 8 dr1061 A Monographic Revision of the Genus Hoplopyga Thomson, 1880 (Coleoptera: Sc… http… ## 9 dr1570 A new Anomiopus Westwood (Coleoptera: Scarabaeidae: Scarabaeinae) from the … http… ## 10 dr1177 A new Central American genus of pleasing fungus beetles (Coleoptera: Erotyl… http… ## # ℹ 1,273 more rows show_all(fields) ## # A tibble: 128 × 3 ## id description type ## ## 1 all_image_url fields ## 2 assertion_user_id Assertions by user fields ## 3 assertions Record issues fields ## 4 assertions_missing fields ## 5 assertions_passed fields ## 6 assertions_unchecked fields ## 7 basis_of_record Record type fields ## 8 catalogue_number Catalogue Number fields ## 9 cl10011 fields ## 10 class Class fields ## # ℹ 118 more rows search_all(fields, \"year\") ## # A tibble: 2 × 3 ## id description type ## ## 1 year Year fields ## 2 occurrence_year Date (by decade) fields search_taxa(\"lagomorpha\") ## # A tibble: 1 × 8 ## search_term scientific_name taxon_concept_id rank kingdom phylum class order ## ## 1 lagomorpha Lagomorpha 785 order Animalia Chordata Mammalia Lagomorpha"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"download-data","dir":"Articles","previous_headings":"","what":"Download data","title":"Choosing an atlas","text":"can build queries normally galah. taxonomic queries, use search_taxa() make sure searches returning correct taxonomic data. Download species occurrence records atlases atlas_occurrences()","code":"galah_config(atlas = \"United Kingdom\") ## Atlas selected: National Biodiversity Network (NBN) [United Kingdom] search_taxa(\"vlps\") # Returns no data due to misspelling ## # A tibble: 0 × 0 search_taxa(\"vulpes\") # Returns data ## # A tibble: 1 × 12 ## search_term scientific_name scientific_name_author…¹ taxon_concept_id rank kingdom phylum ## ## 1 vulpes Vulpes Frisch, 1775 NBNSYS0000138878 genus Animal… Chord… ## # ℹ abbreviated name: ¹​scientific_name_authorship ## # ℹ 5 more variables: class , order , family , genus , superclass galah_call() |> galah_identify(\"vulpes\") |> galah_filter(year > 2010) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 123736 galah_config(atlas = \"Guatemala\") ## Atlas selected: Sistema Nacional de Información sobre Diversidad Biológica de Guatemala ## (SNIBgt) [Guatemala] galah_call() |> galah_identify(\"Lagomorpha\") |> galah_filter(year <= 1980) |> galah_select(taxon_name, year) |> atlas_occurrences() ## # A tibble: 4 × 2 ## scientificName year ## ## 1 Erinnyis ello subsp. ello 1973 ## 2 Aellopos titan Burmeister, 1856 1971 ## 3 Manduca rustica Fabricius, 1775 1930 ## 4 Manduca rustica Fabricius, 1775 1930"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"complex-queries-with-multiple-atlases","dir":"Articles","previous_headings":"","what":"Complex queries with multiple Atlases","title":"Choosing an atlas","text":"also possible create complex queries return data multiple Living Atlases. example, setting atlases within loop galah_config() purrr::map() allows us return total number species records Living Atlas one table.","code":"library(purrr) library(tibble) library(dplyr) library(gt) atlases <- show_all(atlases) counts <- map(atlases$region, function(x){ galah_config(atlas = x) atlas_counts() }) atlases |> select(region, institution) |> bind_cols(bind_rows(counts)) |> arrange(desc(count)) |> gt() |> fmt_number(column = count)"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"record-counts","dir":"Articles","previous_headings":"","what":"Record counts","title":"Download data","text":"atlas_counts() provides summary counts records specified atlas, without needing download records. addition filter arguments, optional group_by argument, provides counts binned requested field.","code":"galah_config(atlas = \"Australia\") # Total number of records in the ALA atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 131963195 galah_call() |> galah_group_by(kingdom) |> atlas_counts() ## # A tibble: 11 × 2 ## kingdom count ## ## 1 Animalia 101176164 ## 2 Plantae 26026027 ## 3 Fungi 2285235 ## 4 Chromista 1020325 ## 5 Protista 352282 ## 6 Bacteria 113165 ## 7 Eukaryota 8821 ## 8 Protozoa 4716 ## 9 Archaea 4120 ## 10 Virus 2306 ## 11 Viroid 103"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"species-lists","dir":"Articles","previous_headings":"","what":"Species lists","title":"Download data","text":"common use case atlas data identify species occur specified region, time period, taxonomic group. atlas_species() similar search_taxa, returns taxonomic information unique identifiers tibble. differs able return information taxonomic levels species; also flexible supporting filtering:","code":"species <- galah_call() |> galah_identify(\"Rodentia\") |> galah_filter(stateProvince == \"Northern Territory\") |> atlas_species() species |> head() ## # A tibble: 6 × 10 ## kingdom phylum class order family genus species author species_guid vernacular_name ## ## 1 Animalia Chordata Mammalia Roden… Murid… Pseu… Pseudo… (Goul… https://bio… Delicate Mouse ## 2 Animalia Chordata Mammalia Roden… Murid… Mese… Mesemb… (J.E.… https://bio… Black-footed T… ## 3 Animalia Chordata Mammalia Roden… Murid… Zyzo… Zyzomy… (Thom… https://bio… Common Rock-rat ## 4 Animalia Chordata Mammalia Roden… Murid… Pseu… Pseudo… (Wait… https://bio… Sandy Inland M… ## 5 Animalia Chordata Mammalia Roden… Murid… Melo… Melomy… (Rams… https://bio… Grassland Melo… ## 6 Animalia Chordata Mammalia Roden… Murid… Noto… Notomy… Thoma… https://bio… Spinifex Hoppi…"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"occurrence-data","dir":"Articles","previous_headings":"","what":"Occurrence data","title":"Download data","text":"download occurrence data need specify email galah_config(). email must associated active ALA account. See information config section Download occurrence records Eolophus roseicapilla","code":"galah_config(email = \"your_email@email.com\", atlas = \"Australia\") occ <- galah_call() |> galah_identify(\"Eolophus roseicapilla\") |> galah_filter( stateProvince == \"Australian Capital Territory\", year >= 2010, profile = \"ALA\" ) |> galah_select(institutionID, group = \"basic\") |> atlas_occurrences() ## Retrying in 1 seconds. ## Retrying in 2 seconds. ## Retrying in 4 seconds. occ |> head() ## # A tibble: 6 × 9 ## recordID scientificName taxonConceptID decimalLatitude decimalLongitude ## ## 1 0000a928-d756-42eb-8058-6f… Eolophus rose… https://biodi… -35.6 149. ## 2 0001bc78-d2e9-48aa-8b9d-d6… Eolophus rose… https://biodi… -35.2 149. ## 3 0002064f-08ea-425b-97c5-26… Eolophus rose… https://biodi… -35.3 149. ## 4 00022dd2-9f85-4802-b837-7f… Eolophus rose… https://biodi… -35.3 149. ## 5 0002cc35-8d5a-4d20-8012-12… Eolophus rose… https://biodi… -35.3 149. ## 6 00030a8c-082f-44f0-898a-ad… Eolophus rose… https://biodi… -35.3 149. ## # ℹ 4 more variables: eventDate , occurrenceStatus , dataResourceName , ## # institutionID "},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"media-metadata","dir":"Articles","previous_headings":"","what":"Media metadata","title":"Download data","text":"addition text data describing individual occurrences attributes, ALA stores images, sounds videos associated given record. Metadata records can downloaded R using atlas_media() set filters data download functions. actually download media files computer, use [collect_media()].","code":"media_data <- galah_call() |> galah_identify(\"Eolophus roseicapilla\") |> galah_filter( year == 2020, cl22 == \"Australian Capital Territory\") |> atlas_media() ## Retrying in 1 seconds. media_data |> head() ## # A tibble: 6 × 19 ## media_id recordID scientificName taxonConceptID decimalLatitude decimalLongitude ## ## 1 ff8322d0-f44c-47a… 003a192… Eolophus rose… https://biodi… -35.3 149. ## 2 c66fc819-7022-44f… 015ee7c… Eolophus rose… https://biodi… -35.4 149. ## 3 fe6d7b94-9e61-4ac… 05e86b7… Eolophus rose… https://biodi… -35.4 149. ## 4 2f4d32c0-a084-4bb… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## 5 73407414-0707-429… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## 6 89171c49-5a64-423… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## # ℹ 13 more variables: eventDate , occurrenceStatus , dataResourceName , ## # multimedia , images , videos , sounds , creator , ## # license , mimetype , width , height , image_url "},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"taxonomic-trees","dir":"Articles","previous_headings":"","what":"Taxonomic trees","title":"Download data","text":"atlas_taxonomy provides way build taxonomic trees one clade another using service’s internal taxonomy. Specify taxonomic level tree go galah_filter() using rank argument.","code":"galah_call() |> galah_identify(\"chordata\") |> galah_filter(rank == class) |> atlas_taxonomy() ## # A tibble: 19 × 4 ## name rank parent_taxon_concept_id taxon_concept_id ## ## 1 Chordata phylum https://biodive… ## 2 Cephalochordata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 3 Tunicata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 4 Appendicularia class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 5 Ascidiacea class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 6 Thaliacea class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 7 Vertebrata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 8 Agnatha informal https://biodiversity.org.au/afd/taxa/5d6076b1… https://biodive… ## 9 Myxini informal https://biodiversity.org.au/afd/taxa/66db22c8… https://biodive… ## 10 Petromyzontida informal https://biodiversity.org.au/afd/taxa/66db22c8… https://biodive… ## 11 Gnathostomata informal https://biodiversity.org.au/afd/taxa/5d6076b1… https://biodive… ## 12 Amphibia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 13 Aves class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 14 Mammalia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 15 Pisces informal https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 16 Actinopterygii class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 17 Chondrichthyes class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 18 Sarcopterygii class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 19 Reptilia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive…"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"configuring-galah","dir":"Articles","previous_headings":"","what":"Configuring galah","title":"Download data","text":"Various aspects galah package can customized.","code":""},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"email","dir":"Articles","previous_headings":"Configuring galah","what":"Email","title":"Download data","text":"download occurrence records, need provide email address registered service want use (e.g. ALA can create account ). email registered, stored config:","code":"galah_config(email = \"myemail@gmail.com\")"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"setting-your-directory","dir":"Articles","previous_headings":"Configuring galah","what":"Setting your directory","title":"Download data","text":"default, galah stores downloads temporary folder, meaning local files automatically deleted R session ended. behaviour can altered downloaded files preserved setting directory non-temporary location.","code":"galah_config(directory = \"example/dir\")"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"setting-the-download-reason","dir":"Articles","previous_headings":"Configuring galah","what":"Setting the download reason","title":"Download data","text":"ALA requires provide reason downloading occurrence data (via galah atlas_occurrences() function). reason set “scientific research” default, can change using galah_config(). See show_all_reasons() valid download reasons.","code":"galah_config(download_reason_id = your_reason_id)"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"debugging","dir":"Articles","previous_headings":"Configuring galah","what":"Debugging","title":"Download data","text":"things aren’t working expected, detail (particularly web requests caching behaviour) can obtained setting verbose configuration option:","code":"galah_config(verbose = TRUE)"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_all-search_all","dir":"Articles","previous_headings":"","what":"show_all() & search_all()","title":"Look up information","text":"galah 1.5.0, two simplified functions look information: show_all() search_all(). individual functions able return types information one place, rather using specific sub-functions look information. example, show available Living Atlases supported: search specific available Living Atlas: show fields: search specific field: list information types can used show_all() search_all():","code":"show_all(atlases) ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA http… ## 2 Austria Biodiversitäts-Atlas Österreich BAO http… ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr http… ## 4 Estonia eElurikkus http… ## 5 France Portail français d'accès aux données d'observation sur les … OpenObs http… ## 6 Global Global Biodiversity Information Facility GBIF http… ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica … SNIBgt http… ## 8 Portugal GBIF Portugal GBIF.pt http… ## 9 Spain GBIF Spain GBIF.es http… ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI http… ## 11 United Kingdom National Biodiversity Network NBN http… search_all(atlases, \"Spain\") ## # A tibble: 1 × 4 ## region institution acronym url ## ## 1 Spain GBIF Spain GBIF.es https://www.gbif.es show_all(fields) ## # A tibble: 646 × 3 ## id description type ## ## 1 _nest_parent_ fields ## 2 _nest_path_ fields ## 3 _root_ fields ## 4 abcdTypeStatus fields ## 5 acceptedNameUsage Accepted name fields ## 6 acceptedNameUsageID Accepted name fields ## 7 accessRights Access rights fields ## 8 annotationsDoi fields ## 9 annotationsUid Referenced by publication fields ## 10 assertionUserId Assertions by user fields ## # ℹ 636 more rows search_all(fields, \"australian states\") ## # A tibble: 2 × 3 ## id description type ## ## 1 cl2013 ASGS Australian States and Territories fields ## 2 cl22 Australian States and Territories fields"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_all_-subfunctions","dir":"Articles","previous_headings":"","what":"show_all_ subfunctions","title":"Look up information","text":"show_all useful variety cases, can still call underlying subfunctions prefer. functions - prefix show_all_ - return tibble exactly ; showing possible values category specified. functions include: show_all_fields show_all_atlases show_all_ranks show_all_profiles show_all_reasons show_all_ functions require arguments. Simply call function return accepted values tibble:","code":"show_all_atlases() ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA http… ## 2 Austria Biodiversitäts-Atlas Österreich BAO http… ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr http… ## 4 Estonia eElurikkus http… ## 5 France Portail français d'accès aux données d'observation sur les … OpenObs http… ## 6 Global Global Biodiversity Information Facility GBIF http… ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica … SNIBgt http… ## 8 Portugal GBIF Portugal GBIF.pt http… ## 9 Spain GBIF Spain GBIF.es http… ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI http… ## 11 United Kingdom National Biodiversity Network NBN http… show_all_reasons() ## # A tibble: 13 × 2 ## id name ## ## 1 1 biosecurity management/planning ## 2 11 citizen science ## 3 5 collection management ## 4 0 conservation management/planning ## 5 7 ecological research ## 6 3 education ## 7 2 environmental assessment ## 8 12 restoration/remediation ## 9 4 scientific research ## 10 8 systematic research/taxonomy ## 11 13 species modelling ## 12 6 other ## 13 10 testing"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"search_-subfunctions","dir":"Articles","previous_headings":"","what":"search_ subfunctions","title":"Look up information","text":"second subset lookup subfunctions use search_ prefix, differ show_all_ require query work. used search detailed information can’t summarised across whole atlas, include: search_taxa search_identifiers search_fields show_values Search single taxon multiple taxa name search_taxa. Alternatively, search_identifiers partner function search_taxa. already know taxonomic identifier, can search taxa identifier belongs search_identifiers: Sifting output show_all_fields find specific field can inefficient. Instead, might wish use search_fields look specific fields match search. search_taxa, search_fields requires query work.","code":"search_taxa(\"reptilia\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_taxa(\"reptilia\", \"aves\", \"mammalia\", \"pisces\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_identifiers(\"urn:lsid:biodiversity.org.au:afd.taxon:682e1228-5b3c-45ff-833b-550efd40c399\") ## # A tibble: 1 × 15 ## search_term success scientific_name taxon_concept_id rank rank_id lft rgt match_type ## ## 1 urn:lsid:bi… TRUE REPTILIA https://biodive… class 3000 46718 49924 taxonIdMa… ## # ℹ 6 more variables: kingdom , kingdom_id , phylum , phylum_id , ## # class , class_id search_fields(\"date\") |> head() ## # A tibble: 6 × 3 ## id description type ## ## 1 eventDate Event Date fields ## 2 lastLoadDate lastLoadDate fields ## 3 datePrecision Date precision fields ## 4 eventDateEnd fields ## 5 dateIdentified Date Identified fields ## 6 raw_eventDate fields"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_values-search_values","dir":"Articles","previous_headings":"","what":"show_values() & search_values()","title":"Look up information","text":"desired field found, can use show_values understand information contained within field, e.g. provides information need pass meaningful queries galah_filter. works types query, data profiles:","code":"search_all(fields, \"basis\") |> show_values() ## ! Search returned 2 matched fields. ## • Showing values for 'basisOfRecord'. ## # A tibble: 9 × 1 ## basisOfRecord ## ## 1 Human observation ## 2 Preserved specimen ## 3 Observation ## 4 Occurrence ## 5 Machine observation ## 6 Material Sample ## 7 Living specimen ## 8 Material Citation ## 9 Fossil specimen galah_call() |> galah_filter(basisOfRecord == \"LIVING_SPECIMEN\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 126135 search_all(profiles, \"ALA\") |> show_values() |> head() ## • Showing values for 'ALA'. ## # A tibble: 6 × 5 ## id enabled description filter displayOrder ## ## 1 94 TRUE \"Exclude all records where spatial validity is \\\"false\\… \"-spa… 1 ## 2 96 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 1 ## 3 97 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 2 ## 4 98 TRUE \"Exclude all records with an assertion that the name an… \"-ass… 3 ## 5 99 TRUE \"Exclude all records with an assertion that kingdom pro… \"-ass… 4 ## 6 100 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 5"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_identify-search_taxa","dir":"Articles","previous_headings":"","what":"galah_identify & search_taxa","title":"Narrow your results","text":"Perhaps unsurprisingly, search_taxa searches taxonomic information. uses fuzzy matching work lot like search bar Atlas Living Australia website, can use search taxa scientific name. Finding desired taxon search_taxa important step using taxonomic information download data galah. example, search reptiles, first need identify whether correct query: want specific providing additional taxonomic information search_taxa, can provide tibble (data.frame) containing levels taxonomic hierarchy: know search matches correct taxon taxa, can use galah_identify narrow results queries: ’re using international atlas, search_taxa automatically switch using local name-matching service. example, Portugal uses GBIF taxonomic backbone, integrates seamlessly standard workflow. Conversely, UK’s National Biodiversity Network (NBN), ’ taxonomic backbone, supported using function call.","code":"search_taxa(\"Reptilia\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 Reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_taxa(tibble(genus = \"Eolophus\", kingdom = \"Aves\")) ## # A tibble: 1 × 13 ## search_term scientific_name scientific_name_authorship taxon_concept_id rank match_type ## ## 1 Eolophus_Aves Eolophus Bonaparte, 1854 https://biodive… genus exactMatch ## # ℹ 7 more variables: kingdom , phylum , class , order , family , ## # genus , issues galah_call() |> galah_identify(\"Reptilia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 1673906 taxa <- search_taxa(tibble(genus = \"Eolophus\", kingdom = \"Aves\")) galah_call() |> galah_identify(taxa) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 1092638 galah_config(atlas = \"Portugal\") ## Atlas selected: GBIF Portugal (GBIF.pt) [Portugal] galah_call() |> galah_identify(\"Lepus\") |> galah_group_by(species) |> atlas_counts() ## # A tibble: 5 × 2 ## species count ## ## 1 Lepus granatensis 1378 ## 2 Lepus microtis 64 ## 3 Lepus europaeus 10 ## 4 Lepus saxatilis 2 ## 5 Lepus capensis 1 galah_config(atlas = \"United Kingdom\") ## Atlas selected: National Biodiversity Network (NBN) [United Kingdom] galah_call() |> galah_filter(genus == \"Bufo\") |> galah_group_by(species) |> atlas_counts() ## # A tibble: 3 × 2 ## species count ## ## 1 Bufo bufo 94054 ## 2 Bufo spinosus 87 ## 3 Bufo marinus 1"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_filter","dir":"Articles","previous_headings":"","what":"galah_filter","title":"Narrow your results","text":"Perhaps important function galah galah_filter, used filter rows queries: find available fields corresponding valid values, use field lookup functions show_all(fields), search_all(fields) & show_values(). Finally, special case galah_filter make complex taxonomic queries possible using search_taxa. using taxonConceptID field, possible build queries exclude certain taxa, example. can useful paraphyletic concepts invertebrates:","code":"galah_config(atlas = \"Australia\") ## Atlas selected: Atlas of Living Australia (ALA) [Australia] # Get total record count since 2000 galah_call() |> galah_filter(year > 2000) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 90503179 # Get total record count for iNaturalist in 2021 galah_call() |> galah_filter( year > 2000, dataResourceName == \"iNaturalist Australia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 5600557 galah_call() |> galah_filter( taxonConceptID == search_taxa(\"Animalia\")$taxon_concept_id, taxonConceptID != search_taxa(\"Chordata\")$taxon_concept_id ) |> galah_group_by(class) |> atlas_counts() ## # A tibble: 30 × 2 ## class count ## ## 1 Insecta 5806340 ## 2 Gastropoda 957271 ## 3 Maxillopoda 793194 ## 4 Arachnida 689708 ## 5 Malacostraca 651658 ## 6 Polychaeta 276272 ## 7 Bivalvia 234110 ## 8 Anthozoa 216343 ## 9 Cephalopoda 145929 ## 10 Demospongiae 118375 ## # ℹ 20 more rows"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_apply_profile","dir":"Articles","previous_headings":"","what":"galah_apply_profile","title":"Narrow your results","text":"working ALA, notable feature ability specify profile remove records suspect way. see full list data quality profiles, use show_all(profiles).","code":"galah_call() |> galah_filter(year > 2000) |> galah_apply_profile(ALA) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 81471797"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_group_by","dir":"Articles","previous_headings":"","what":"galah_group_by","title":"Narrow your results","text":"Use galah_group_by group record counts summarise counts specified fields:","code":"# Get record counts since 2010, grouped by year and basis of record galah_call() |> galah_filter(year > 2015 & year <= 2020) |> galah_group_by(year, basisOfRecord) |> atlas_counts() ## # A tibble: 36 × 3 ## year basisOfRecord count ## ## 1 2020 Human observation 6551035 ## 2 2020 Occurrence 419842 ## 3 2020 Preserved specimen 84136 ## 4 2020 Machine observation 38906 ## 5 2020 Observation 24887 ## 6 2020 Material Sample 1677 ## 7 2020 Living specimen 62 ## 8 2019 Human observation 5730445 ## 9 2019 Occurrence 290610 ## 10 2019 Preserved specimen 165391 ## # ℹ 26 more rows"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_select","dir":"Articles","previous_headings":"","what":"galah_select","title":"Narrow your results","text":"Use galah_select choose columns returned downloading records: can also use dplyr functions work dplyr::select() galah_select()","code":"# Get *Reptilia* records from 1930, but only 'eventDate' and 'kingdom' columns occurrences <- galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 1930) |> galah_select(kingdom, species, eventDate) |> atlas_occurrences() ## Retrying in 1 seconds. occurrences |> head() ## # A tibble: 6 × 3 ## kingdom species eventDate ## ## 1 Animalia Drysdalia coronoides 1930-06-16 00:00:00 ## 2 Animalia Intellagama lesueurii 1930-01-01 00:00:00 ## 3 Animalia 1930-04-23 00:00:00 ## 4 Animalia 1930-01-01 00:00:00 ## 5 Animalia Oxyuranus scutellatus 1930-01-01 00:00:00 ## 6 Animalia Tympanocryptis centralis 1930-11-30 00:00:00 occurrences <- galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 1930) |> galah_select(starts_with(\"accepted\") | ends_with(\"record\")) |> atlas_occurrences() ## Retrying in 1 seconds. occurrences |> head() ## # A tibble: 6 × 6 ## acceptedNameUsage acceptedNameUsageID basisOfRecord raw_basisOfRecord ## ## 1 NA PRESERVED_SPECIMEN Museum specimen ## 2 NA HUMAN_OBSERVATION HumanObservation ## 3 NA PRESERVED_SPECIMEN PreservedSpecimen ## 4 NA HUMAN_OBSERVATION HumanObservation ## 5 NA PRESERVED_SPECIMEN PreservedSpecimen ## 6 NA HUMAN_OBSERVATION HumanObservation ## # ℹ 2 more variables: OCCURRENCE_STATUS_INFERRED_FROM_BASIS_OF_RECORD , ## # userDuplicateRecord "},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_geolocate","dir":"Articles","previous_headings":"","what":"galah_geolocate","title":"Narrow your results","text":"Use galah_geolocate specify geographic area region limit search:","code":"# Get list of perameles species only in area specified: # (Note: This can also be specified by a shapefile) wkt <- \"POLYGON((131.36328125 -22.506468769126,135.23046875 -23.396716654542,134.17578125 -27.287832521411,127.40820312499 -26.661206402316,128.111328125 -21.037340349154,131.36328125 -22.506468769126))\" galah_call() |> galah_identify(\"perameles\") |> galah_geolocate(wkt) |> atlas_species() ## # A tibble: 1 × 10 ## kingdom phylum class order family genus species author species_guid vernacular_name ## ## 1 Animalia Chordata Mammalia Peram… Peram… Pera… Perame… Spenc… https://bio… Desert Bandico…"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"masked-functions","dir":"Articles","previous_headings":"","what":"Masked functions","title":"Object-Oriented Programming in galah","text":"default method building queries galah first use galah_call() create query object called data_request. object class specific galah. object class data_request, galah can trigger functions use specific methods object class, even function name used another package. example, users can use filter() group_by() functions dplyr instead galah_filter() galah_group_by() construct query. Consequently, following queries synonymous: Thanks object-oriented programming, galah “masks” filter() group_by() functions use methods defined data_request objects instead. full list masked functions : arrange() (dplyr) count() (dplyr) identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() Note functions evaluated lazily; amend underlying object, amend nature data call evaluated. actually build run query, ’ll need use one different set dplyr verbs: collapse(), compute() collect().","code":"galah_call() |> galah_filter(genus == \"Crinia\") |> class() ## [1] \"data_request\" galah_call() |> galah_filter(genus == \"Crinia\", year == 2020) |> galah_group_by(species) |> atlas_counts() galah_call() |> filter(genus == \"Crinia\", year == 2020) |> group_by(species) |> atlas_counts() ## # A tibble: 16 × 2 ## species count ## ## 1 Crinia signifera 57878 ## 2 Crinia parinsignifera 12478 ## 3 Crinia glauerti 3090 ## 4 Crinia georgiana 1490 ## 5 Crinia remota 784 ## 6 Crinia sloanei 644 ## 7 Crinia insignifera 536 ## 8 Crinia tinnula 417 ## 9 Crinia deserticola 278 ## 10 Crinia pseudinsignifera 235 ## 11 Crinia tasmaniensis 189 ## 12 Crinia bilingua 75 ## 13 Crinia subinsignifera 45 ## 14 Crinia riparia 10 ## 15 Crinia flindersensis 3 ## 16 Crinia nimba 1"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"advanced-query-building","dir":"Articles","previous_headings":"","what":"Advanced query building","title":"Object-Oriented Programming in galah","text":"usual way begin query request data galah using galah_call(). version 2.0, make galah flexible modular, underlying architecture galah_call() divided several types request_ functions. can begin pipe one dedicated request_ functions (rather galah_call()) depending type data want collect. example, want download occurrences, use request_data(): ’ll notice query differs slightly typical query structure users galah familiar . desired data type, \"occurrences\", specified beginning query within request_data() rather end using atlas_occurrences(). Specifying data type start allows users make use advanced query building using three newly implemented stages query building: collapse(), compute() collect(). stages mirror existing functions dplyr querying databases, act following way collapse() converts object query. allows users inspect API calls sent compute() sends queries required APIs. includes sending query data, determining whether field names valid, finding much data requested (necessary pagination) collect() retrieves requested data workspace can use sequence, just leap ahead stage want: benefit using collapse(), compute() collect() queries modular. particularly useful large data requests galah. Users can send query using compute(), download data query finished — downloading collect() later — rather waiting request finish within R. Additionally, functions modular generally easier interrogate debug. Previously functions several different things, making difficult know APIs called, , purpose. Partitioning queries three distinct stages much transparent, allows users check query construction prior sending request. example, query constructed following information, returned collapse(). collapse() stage displays useful information APIs pinged query galah sent using compute().","code":"x <- request_data(\"occurrences\") |> # note that \"occurrences\" is the default `type` filter(species == \"Crinia tinnula\", year == 2010) |> collect() x <- request_data() |> filter(genus == \"Crinia\", year == 2020) |> group_by(species) |> arrange(species) |> count() collapse(x) ## Object of class `query_set` containing 3 queries: ## • metadata/fields data: galah:::check_internal_cache()$fields ## • metadata/assertions data: galah:::check_internal_cache()$assertions ## • data/occurrences-count-groupby url: https://biocache-ws.ala.org.au/ws/occurre... compute(x) ## Object of class query with type data/occurrences-count-groupby ## url: https://biocache-ws.ala.org.au/ws/occurrences/facets?fq=%28genus%3A%22... ## arrange: species (ascending) collect(x) |> head() ## # A tibble: 6 × 2 ## species count ## ## 1 Crinia bilingua 75 ## 2 Crinia deserticola 278 ## 3 Crinia flindersensis 3 ## 4 Crinia georgiana 1490 ## 5 Crinia glauerti 3090 ## 6 Crinia insignifera 536 # Create and send query to be calculated server-side request <- request_data() |> identify(\"perameles\") |> filter(year > 1900) |> compute() # Download data request |> collect() request_data() |> identify(\"perameles\") |> filter(year > 1900) |> collapse() ## Object of class `query_set` containing 5 queries: ## • metadata/fields data: galah:::check_internal_cache()$fields ## • metadata/assertions data: galah:::check_internal_cache()$assertions ## • metadata/reasons url: https://api.ala.org.au/logger/service/logger/reasons ## • metadata/taxa-single url: https://api.ala.org.au/namematching/api/search?q=pe... ## • data/occurrences url: https://biocache-ws.ala.org.au/ws/occurrences/offline/d..."},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"new-object-classes","dir":"Articles","previous_headings":"","what":"New object classes","title":"Object-Oriented Programming in galah","text":"hood, different query-building verbs amend object new class: collapse() returns class query_set, list one query objects compute() returns single object class query collect() doesn’t add new data class (returns class tibble) can called directly, via method type arguments galah_call(), specify dedicated request_ function data type return. demonstrate mean, take following calls, despite using different syntax, return number records available year 2020: Another example list available fields selected atlas: show values states territories: Although little reason use request_metadata() rather show_all() time, cases larger databases like GBIF return huge data.frames metadata. galah allows users use collapse(), compute() collect() types requests, meaning users able download large metadata queries using process detailed “Advanced query building” get around issue.","code":"# new syntax request_data() |> filter(year == 2020) |> count() |> collect() # similar, but using `galah_call()` galah_call(method = \"data\", type = \"occurrences-count\") |> filter(year == 2020) |> collect() # original syntax galah_call() |> galah_filter(year == 2020) |> atlas_counts() request_metadata(type = \"fields\") |> collect() galah_call(method = \"metadata\", type = \"fields\") |> collect() show_all(fields) request_metadata() |> filter(field == \"cl22\") |> unnest() |> collect() galah_call(method = \"metadata\", type = \"fields-unnest\") |> galah_filter(id == \"cl22\") |> collect() search_all(fields, \"cl22\") |> show_values()"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"do-i-need-to-use-advanced-query-building","dir":"Articles","previous_headings":"","what":"Do I need to use advanced query building?","title":"Object-Oriented Programming in galah","text":"Despite benefits, plans require new syntax; functions prefixed galah_ atlas_ going away. Indeed, perfect redundancy old new syntax cases, others serve different purposes. atlas_media() example, several calls made joined way reduces number steps required user. hood, however, atlas_ functions now entirely built using syntax.","code":""},{"path":"https://galah.ala.org.au/articles/piping.html","id":"piping-with-galah_call","dir":"Articles","previous_headings":"","what":"Piping with galah_call()","title":"Piping in galah","text":"may noticed examples dplyr pipes begin data, galah pipes begin galah_call() (sure add parentheses!). function tells galah using pipes construct query. Follow preferred pipe (|> base %>% magrittr). can narrow query line--line using galah_ functions. Finally, end atlas_ function identify type data want query. example using counts bandicoot records: second example, download occurrence records bandicoots 2021, also include information records zero coordinates: Note order galah_ functions added doesn’t matter, long galah_call() goes first, atlas_ function comes last.","code":"galah_call() |> galah_identify(\"perameles\") |> galah_filter(year >= 2020) |> galah_group_by(species, year) |> atlas_counts() ## # A tibble: 15 × 3 ## species year count ## ## 1 Perameles nasuta 2021 3337 ## 2 Perameles nasuta 2020 1573 ## 3 Perameles nasuta 2022 1515 ## 4 Perameles nasuta 2023 625 ## 5 Perameles gunnii 2023 95 ## 6 Perameles gunnii 2021 72 ## 7 Perameles gunnii 2022 64 ## 8 Perameles gunnii 2020 49 ## 9 Perameles bougainville 2021 84 ## 10 Perameles bougainville 2022 72 ## 11 Perameles bougainville 2020 1 ## 12 Perameles pallescens 2022 30 ## 13 Perameles pallescens 2021 25 ## 14 Perameles pallescens 2023 20 ## 15 Perameles pallescens 2020 11 galah_call() |> galah_identify(\"perameles\") |> galah_filter(year == 2021) |> galah_select(group = \"basic\", ZERO_COORDINATE) |> atlas_occurrences() |> head() ## Retrying in 1 seconds. ## # A tibble: 6 × 8 ## recordID decimalLatitude decimalLongitude eventDate scientificName taxonConceptID dataResourceName occurrenceStatus ## ## 1 00108221-afc6-4246-a… -28.8 153. 2021-09-29 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 2 001e914d-0281-41cb-b… -33.8 151. 2021-04-19 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 3 00233c1e-66df-4d9c-8… -33.8 151. 2021-02-27 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 4 003064b3-490a-49b5-a… -27.5 152. 2021-11-05 12:06:00 Perameles nas… https://biodi… iNaturalist Aus… PRESENT ## 5 004fd28b-a899-4a97-8… -33.8 151. 2021-07-24 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 6 0068547b-b091-4a86-8… -33.8 151. 2021-01-28 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT"},{"path":"https://galah.ala.org.au/articles/piping.html","id":"using-dplyr-functions-in-galah","dir":"Articles","previous_headings":"","what":"Using dplyr functions in galah","title":"Piping in galah","text":"version 1.5.1, possible call dplyr functions natively within galah amend queries processed, .e.: full list masked functions : identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() count() (dplyr) synonym atlas_counts()","code":"# galah syntax galah_call() |> galah_filter(year >= 2020) |> galah_group_by(year) |> atlas_counts() ## # A tibble: 4 × 2 ## year count ## ## 1 2022 8353115 ## 2 2021 8204330 ## 3 2020 7116059 ## 4 2023 2997676 # dplyr syntax galah_call() |> filter(year >= 2020) |> group_by(year) |> count() ## Object of type `data_request` containing: ## • type occurrences-count ## • filter year >= 2020 ## • group_by year"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"about","dir":"Articles","previous_headings":"","what":"About","title":"Quick start guide","text":"galah R interface biodiversity data hosted ‘living atlases’; set organisations share common codebase, act nodes Global Biodiversity Information Facility (GBIF). organisations collate store observations individual life forms, using ‘Darwin Core’ data standard. galah enables users locate download species observations, taxonomic information, record counts, associated media images sounds. Users can restrict queries particular taxa locations specifying columns rows returned query, restricting results observations meet particular quality-control criteria. functions return tibble standard format.","code":""},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Quick start guide","text":"install CRAN: install development version GitHub: Load package","code":"install.packages(\"galah\") install.packages(\"remotes\") remotes::install_github(\"AtlasOfLivingAustralia/galah\") library(galah)"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"choosing-an-atlas","dir":"Articles","previous_headings":"","what":"Choosing an atlas","title":"Quick start guide","text":"default, galah downloads information Atlas Living Australia (ALA). show full list Atlases currently supported galah, use show_all(atlases). Use galah_config() set Atlas use. automatically populate server configuration selected Atlas. default, atlas Australia.","code":"show_all(atlases) ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA https://www.ala.org.au ## 2 Austria Biodiversitäts-Atlas Österreich BAO https://biodiversityatlas.at ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr https://sibbr.gov.br ## 4 Estonia eElurikkus https://elurikkus.ee ## 5 France Portail français d'accès aux données d'observation sur les espèces OpenObs https://openobs.mnhn.fr/ ## 6 Global Global Biodiversity Information Facility GBIF https://gbif.org ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica de Guatemala SNIBgt https://snib.conap.gob.gt ## 8 Portugal GBIF Portugal GBIF.pt https://www.gbif.pt ## 9 Spain GBIF Spain GBIF.es https://www.gbif.es ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI https://biodiversitydata.se ## 11 United Kingdom National Biodiversity Network NBN https://nbn.org.uk galah_config(atlas = \"United Kingdom\")"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"building-queries","dir":"Articles","previous_headings":"","what":"Building queries","title":"Quick start guide","text":"Functions return data chosen atlas prefix atlas_; e.g. find total number records atlas, use: pass complex queries, start galah_call() function pipe additional arguments modify query. modifying functions galah_ prefix support non-standard evaluation (NSE). Alternatively, can use subset dplyr verbs pipe queries, assuming start galah_call(). narrow search particular taxonomic group, use galah_identify() identify. Note function accepts scientific names case sensitive. ’s good practice first use search_taxa() check taxa provide returns correct taxonomic results.","code":"galah_config(atlas = \"ALA\") atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 130679056 galah_call() |> galah_filter(year >= 2020) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 26671180 galah_call() |> filter(year >= 2020) |> group_by(year) |> count() |> collect() ## # A tibble: 4 × 2 ## year count ## ## 1 2022 8353115 ## 2 2021 8204330 ## 3 2020 7116059 ## 4 2023 2997676 search_taxa(\"reptilia\") # Check whether taxonomic info is correct ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiversity.org.au/afd/taxa/682e1228-5b3c-45ff-833b-550… class exactMatch Animal… Chord… Rept… noIss… galah_call() |> galah_filter(year >= 2020) |> galah_identify(\"reptilia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 214842"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"downloading-records","dir":"Articles","previous_headings":"","what":"Downloading records","title":"Quick start guide","text":"common use case galah download ‘occurrence’ records; observations plants animals made contributors atlas. download, first register relevant atlas, provide registration email. GBIF queries, need provide email, username, password registered GBIF. can customise records require query atlas question: Check vignettes detail use functions.","code":"galah_config(email = \"email@email.com\") result <- galah_call() |> galah_identify(\"Litoria\") |> galah_filter(year >= 2020, cl22 == \"Tasmania\") |> galah_select(basisOfRecord, group = \"basic\") |> atlas_occurrences() result |> head() ## # A tibble: 6 × 9 ## recordID decimalLatitude decimalLongitude eventDate scientificName taxonConceptID dataResourceName occurrenceStatus ## ## 1 00250163-ec50-4eda-a… -41.2 147. 2023-08-23 01:49:28 Litoria https://biodi… iNaturalist Aus… PRESENT ## 2 003e0f63-9f95-4af9-b… -42.9 148. 2022-12-23 19:27:00 Litoria ewing… https://biodi… iNaturalist Aus… PRESENT ## 3 00410554-5289-416f-9… -41.7 147. 2021-05-06 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 4 0081e7ef-459b-42a9-8… -43.2 147. 2020-08-02 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 5 0086def1-8415-4bb3-8… -41.2 147. 2020-12-31 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 6 00b40ee7-074b-4dae-9… -41.5 147. 2020-11-01 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## # ℹ 1 more variable: basisOfRecord "},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"contextual-and-spatial-layers","dir":"Articles","previous_headings":"","what":"Contextual and spatial layers","title":"Spatial filtering","text":"Often want filter results commonly defined spatial regions, states, LGAs IBRA/IMCRA regions. ALA contains large range (>100) contextual spatial layers, -built searchable queriable fields. denoted names beginning \"cl\", followed identifying number may 6 digits long. fields based shapefiles, contain names regions layers record lies . strongly recommend using search_fields() check whether contextual layer already exists ALA matches require proceeding methods spatial filtering. fields able queried galah_filter()generally easier use. Suppose interested querying records Red-Necked Avocet (Recurvirostra novaehollandiae) particular protected wetlands, Coorong wetlands South Australia. can search ALA fields wetlands. search identifies layer cl901 seems match looking . can either view possible values field show_values(), search particular field. can filter occurrences exact matches value, \"Lake Eyre\". galah query can built follows:","code":"library(galah) library(tidyverse) library(gt) library(sf) galah_config(email = \"your_email_here\", verbose = FALSE) search_fields(\"wetlands\") ## # A tibble: 1 × 3 ## id description type ## ## 1 cl901 Directory of Important Wetlands fields search_fields(\"cl901\") |> search_values(\"coorong\") ## • Showing values for 'cl901'. ## # A tibble: 1 × 1 ## cl901 ## ## 1 The Coorong, Lake Alexandrina & Lake Albert galah_call() |> galah_identify(\"Recurvirostra novaehollandiae\") |> galah_filter(cl901 == \"The Coorong, Lake Alexandrina & Lake Albert\") |> atlas_occurrences() |> head(5) |> gt::gt() ## Retrying in 1 seconds. ## Retrying in 2 seconds. ## Retrying in 4 seconds."},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"galah_geolocate","dir":"Articles","previous_headings":"","what":"galah_geolocate()","title":"Spatial filtering","text":"server-side spatial information useful, likely cases shapefile region wish query pre-loaded contextual layer ALA. case, shapefiles can introduced filtering process using {sf} package galah_geolocate() function. Shapefiles can provided sf object, whether importing sf::st_read() taking POLYGON MULTIPOLYGON character string transforming sf::st_as_sfc(). instance, might interested species occurrences King George Square, Brisbane. can take MULTIPOLYGON object square (sourced Brisbane City Council) transform sfc sf objects. can provide MULTIPOLYGON filter argument galah_geolocate() assess species recorded King George Square. second argument galah_geolocate() called type, defaults value \"polygon\". setting type argument \"bbox\", provided POLYGON MULTIPOLYGON converted smallest bounding box (rectangle) contains POLYGON. case, records included may exactly lie inside provided shape.","code":"king_george_sq <- \"MULTIPOLYGON(((153.0243 -27.46886, 153.0242 -27.46896, 153.0236 -27.46837, 153.0239 -27.46814, 153.0239 -27.46813, 153.0242 -27.46789, 153.0244 -27.46805, 153.0245 -27.46821, 153.0246 -27.46828, 153.0247 -27.46835, 153.0248 -27.46848, 153.0246 -27.4686, 153.0246 -27.46862, 153.0245 -27.46871, 153.0243 -27.46886)))\" |> sf::st_as_sfc() |> sf::st_as_sf() galah_call() |> galah_filter() |> galah_geolocate(king_george_sq) |> galah_select(decimalLatitude, decimalLongitude, eventDate, scientificName, vernacularName) |> atlas_occurrences() |> head(10) |> gt::gt() galah_call() |> galah_filter() |> galah_geolocate(king_george_sq, type = \"bbox\") |> galah_select(decimalLatitude, decimalLongitude, eventDate, scientificName, vernacularName) |> atlas_occurrences() |> head(10) |> gt::gt() ## Data returned for bounding box: ## xmin = 153.0236 xmax = 153.0248 ymin = -27.46896 ymax = -27.46789 ## Retrying in 1 seconds."},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"large-shapefiles","dir":"Articles","previous_headings":"galah_geolocate()","what":"Large shapefiles","title":"Spatial filtering","text":"type argument option \"bbox\" provided sf objects >500 vertices accepted ALA. event large shapefile, using type = \"bbox\" least enable initial reduction data downloaded, finer filtering actual shapefile obtain desired set occurrences. Alternatively, one can also perform \"bbox\" reduction passing shape galah_geolocate() using sf::st_bbox(). common situation occur shapefile multiple shapes provided, interested grouping results shape. mock workflow using subset shapefile 2,184 Brisbane parks. Let’s say interested knowing parks Brisbane postcode 4075 occurrences Scaly-Breasted Lorikeet, Trichoglossus chlorolepidotus, since 2020. can download entire shapefile link, perform filtering summarising follows: shapefiles cover large geographic areas caveat even bounding box doesn’t restrict number records value can downloaded easily. case, recommend nuances detailed methods can performed using looping techniques. One ALA Labs blog posts, Hex maps species occurrence data, written detailing approach larger problems .","code":"brisbane_parks <- sf::st_read(\"path/to/Park___Locations.shp\") |> sf::st_make_valid() |> filter(POST_CODE == 4075) # Convert shapefile to a bounding box brisbane_parks_bbox <- brisbane_parks |> sf::st_bbox() # Find all occurrences of Trichoglossus chlorolepidotus in the bounding box in 2022 lorikeet_brisbane <- galah_call() |> galah_filter(scientificName == \"Trichoglossus chlorolepidotus\", year >= 2020) |> galah_geolocate(brisbane_parks_bbox, type = \"bbox\") |> atlas_occurrences() ## Data returned for bounding box: ## xmin = 152.96331 xmax = 152.99668 ymin = -27.57737 ymax = -27.51606 ## Retrying in 1 seconds. # Filter records down to only those in the shapefile polygons lorikeet_brisbane |> # Create a point geometry based on the occurrence coordinates sf::st_as_sf(coords = c(\"decimalLongitude\", \"decimalLatitude\"), crs = sf::st_crs(brisbane_parks), remove = FALSE) |> # identify which park each occurrence sits in with st_intersects() mutate(intersection = sf::st_intersects(geometry, brisbane_parks) |> as.integer(), park = ifelse(is.na(intersection), NA, brisbane_parks$PARK_NAME[intersection])) |> # Filter out occurrences that did not occur in a park filter(!is.na(park)) |> # Drop the geometry column sf::st_drop_geometry() |> # Summarise the top 10 parks for lorikeet sightings in 2022 group_by(park) |> summarise(counts = n()) |> arrange(desc(counts)) |> head(10) ## # A tibble: 10 × 2 ## park counts ## ## 1 SHERWOOD ARBORETUM 276 ## 2 NYUNDARE-BA PARK 271 ## 3 FAULKNER PARK 51 ## 4 STRICKLAND TERRACE PARK 33 ## 5 FORT ROAD BUSHLAND 31 ## 6 GRACEVILLE RIVERSIDE PARKLANDS 31 ## 7 BENARRAWA RESERVE 19 ## 8 NOSWORTHY PARK 16 ## 9 HORACE WINDOW RESERVE 9 ## 10 GRACEVILLE AVENUE PARK 6"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"search_taxa","dir":"Articles","previous_headings":"","what":"search_taxa()","title":"Taxonomic filtering","text":"search_taxa() enables users look taxonomic names downloading data, allows disambiguating homonyms checking search term matches taxon name ALA . search_taxa() returns scientific name, authorship, rank, full classification taxon matched provided search term.","code":"search_taxa(\"Petroica boodang\") |> gt::gt() # Muscicapa chrysoptera is a synonym for the Flame Robin, Petroica phoenicea # Guniibuu is the Yuwaalaraay Indigenous name for the Red-Capped Robin, Petroica goodenovii search_taxa(\"Muscicapa chrysoptera\", \"Guniibuu\") |> gt::gt() search_taxa(\"Morganella\") |> gt::gt() ## Warning: Search returned multiple taxa due to a homonym issue. ## ℹ Please provide another rank in your search to clarify taxa. ## ℹ Use a `tibble` to clarify taxa, see `?search_taxa`. ## ✖ Homonym issue with \"Morganella\". search_taxa(tibble(kingdom = \"Fungi\", genus = \"Morganella\")) |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_identify","dir":"Articles","previous_headings":"","what":"galah_identify()","title":"Taxonomic filtering","text":"galah_identify() similar search_taxa(), except can used within piped workflow retrieve counts, species, records e.g. recommend using search_taxa() prior calling galah_identify() workflow confirm validity provided search term. Setting search = TRUE passes results search_taxa() galah_identify(), also speeds query.","code":"galah_call() |> galah_identify(\"Petroica boodang\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 118909 galah_call() |> galah_identify(\"Muscicapa chrysoptera\", \"Guniibuu\") |> atlas_species() |> gt::gt() galah_call() |> galah_identify(tibble(kingdom = \"Fungi\", genus = \"Morganella\")) |> atlas_occurrences() |> head() |> gt::gt() robins <- search_taxa(\"Muscicapa chrysoptera\", \"Guniibuu\") galah_call() |> galah_identify(robins$taxon_concept_id, search = FALSE) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 191277"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_filter","dir":"Articles","previous_headings":"","what":"galah_filter()","title":"Taxonomic filtering","text":"galah_filter() subsets records searching exact matches expression, may also used taxonomic filtering e.g. can useful searching paraphyletic polyphyletic groups, done using galah_identify(). example, get counts non-chordates:","code":"galah_call() |> galah_filter(species == \"Petroica boodang\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 118909 aus_petroica <- c(\"Petroica boodang\", \"Petroica goodenovii\", \"Petroica phoenicea\", \"Petroica rosea\", \"Petroica rodinogaster\", \"Petroica multicolor\") galah_call() |> galah_filter(species == aus_petroica) |> galah_group_by(species, vernacularName) |> atlas_counts() |> gt::gt() galah_call() |> galah_filter(kingdom == \"Animalia\", phylum != \"Chordata\") |> galah_group_by(phylum) |> atlas_counts() |> head() |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_filter-galah_identify-and-taxonomic-ranks","dir":"Articles","previous_headings":"","what":"galah_filter(), galah_identify(), and taxonomic ranks","title":"Taxonomic filtering","text":"Deciding using galah_filter() galah_identify() query comes record classified, whether correct unique name classification taxa interest. ALA fields primary taxonomic ranks (kingdom, phylum, class, order, family, genus, species) secondary ranks (e.g. subfamily, subgenus), may used galah_filter() galah_identify(). Additionally, field named scientificName, refers lowest taxonomic rank record identified e.g. , instance, correct species subspecies name, searching matches species subspecies fields, respectively, provide precise results. field scientificName may include subgenera. ’ve used search_taxa() get ALA-matched name taxon want records identified particular level classification, searching matches scientificName recommended. Paraphyletic polyphyletic groups may contain taxa identified different taxonomic levels. case, simpler use search_taxa() galah_identify() rather galah_filter(). example , search_taxa() matches terms one genus, three species, two subspecies. can used piped workflow galah_identify().","code":"galah_call() |> galah_identify(tibble(genus = \"Pitta\")) |> galah_group_by(scientificName, taxonRank) |> atlas_counts() |> filter(!is.na(scientificName)) |> gt::gt() tas_endemic <- c(\"Sarcophilus\", # Tasmanian Devil \"Bettongia gaimardi\", # Tasmanian Bettong \"Melanodryas vittata\", # Dusky Robin \"Platycercus caledonicus\",# Green Rosella \"Aquila audax fleayi\", # Tasmanian Wedge-Tailed Eagle \"Tyto novaehollandiae castanops\") # Tasmanian Masked Owl search_taxa(tas_endemic) |> gt::gt() galah_call() |> galah_identify(tas_endemic) |> galah_group_by(scientificName) |> atlas_counts() |> arrange(scientificName) |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"year-month-and-day","dir":"Articles","previous_headings":"","what":"Year, Month and Day","title":"Temporal filtering","text":"ALA contains -built year, month day fields every record. queried numeric fields (.e. July = 7) can used quick data exploration filtering. date limits desired query can easily defined year, month /day deliminations, fields useful. can, instance, use year month fields group 2022 amphibian records ALA month (noting months labelled number). also important observe outputted month column type character even though values numeric. case year, month day fields. However, can queried either numeric character values within galah_filter(). important fact fields queried galah_filter() independence; used query complex windows two dates day month filters applied universally. instance, consider native perennial Australian wildflower Chamaescilla corymbosa, whose known growth flowering times August–October. might interested number records species first week spring (.e. September) last 10 years. following query provide results 1/9/2013 7/9/2023. Rather, return results fall within 3 windows .","code":"library(galah) library(tidyverse) library(gt) library(lubridate) galah_config(email = \"your_email_here\", verbose = FALSE) galah_call() |> galah_filter(class == \"Amphibia\", year == 2021) |> galah_group_by(month) |> atlas_counts() ## # A tibble: 12 × 2 ## month count ## ## 1 October 52075 ## 2 September 41920 ## 3 January 32805 ## 4 August 26175 ## 5 March 25396 ## 6 February 23456 ## 7 November 22758 ## 8 July 12302 ## 9 April 9841 ## 10 June 9217 ## 11 May 8081 ## 12 December 3813 galah_call() |> galah_filter(species == \"Chamaescilla corymbosa\", year >= 2013, year <= 2023, month == 9, day >= 1, day <= 7) |> galah_group_by(year) |> atlas_counts() |> arrange(year) ## # A tibble: 10 × 2 ## year count ## ## 1 2013 8 ## 2 2014 13 ## 3 2015 8 ## 4 2016 7 ## 5 2018 9 ## 6 2019 5 ## 7 2020 20 ## 8 2021 36 ## 9 2022 25 ## 10 2023 48"},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"occurrence-dates","dir":"Articles","previous_headings":"","what":"Occurrence dates","title":"Temporal filtering","text":"bespoke way query exact dates records, users can use eventDate field. field contains exact date time information records enables specific time windows queried easily. caveat time/date must provided specific format galah_filter() ALA query work. required format dates eventDate ISO 8601 International Date Standard format. requires dates times form “YYYY-MM-DDTHH:MM:SSZ”. Note T middle actual letter “T” delimit date time components, “Z” officially denotes time queried UTC (Greenwich Meridian) time. Timezones can confusing best times, however easiest remember ALA records recorded local time location, times treated effectively UTC times. upshot specific formatting , instance, time writing paragraph, 4:26pm 2nd August 2023, represented \"2023-08-02T16:26:44Z\" ALA, even though officially timezone \"+0930\". eventDate specifies time seconds, recommended greater less queries used rather exact matches. used galah_filter(), can easily identify many records humpback whale (Megaptera novaeangliae) occurred since species removed Australian threatened species list 26/02/2022. can unintuitive provide dates format. Luckily, simple convert standard R dates {lubridate} dates format already required “YYYY-MM-DD” form. took date (26/02/2022), converted form using base R lubridate follows: sending query, outputted eventDate values returned galah query date class \"POSIXct\".","code":"galah_call() |> galah_filter(species == \"Megaptera novaeangliae\", eventDate >= \"2022-02-26T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 515 humpback_date <- \"26/02/2022\" # Base R paste0(as.Date(humpback_date, format = \"%d/%m/%Y\"), \"T00:00:00Z\") ## [1] \"2022-02-26T00:00:00Z\" # lubridate paste0(dmy(humpback_date), \"T00:00:00Z\") ## [1] \"2022-02-26T00:00:00Z\""},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"upload-dates","dir":"Articles","previous_headings":"","what":"Upload dates","title":"Temporal filtering","text":"important date field present ALA pertains date record provided ALA. field called firstLoadedDate formatted exactly manner eventDate. Different data providers provide batches records ALA different intervals. iNaturalist Australia provide weekly uploads data, eBird provides yearly uploads. firstLoadedDate can especially useful finding new records ALA provided since last checked. instance, can use see many observations Sulphur-Crested Cockatoos recorded first week 2023 actually loaded ALA following week: Note lower bound required firstLoadedDate eventDate imposes proxy (records can’t uploaded ’ve occurred).","code":"# Total records of Cactua galerita in Jan 1-7 galah_call() |> galah_filter(species == \"Cacatua galerita\", eventDate >= \"2023-01-07T00:00:00Z\", eventDate < \"2023-01-08T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 388 # Records of Cactua galerita uploaded in Jan 1-14 galah_call() |> galah_filter(species == \"Cacatua galerita\", eventDate >= \"2023-01-07T00:00:00Z\", eventDate < \"2023-01-08T00:00:00Z\", firstLoadedDate < \"2023-01-15T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 6"},{"path":"https://galah.ala.org.au/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martin Westgate. Author, maintainer. Matilda Stevenson. Author. Dax Kellie. Author. Peggy Newman. Author.","code":""},{"path":"https://galah.ala.org.au/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Westgate M, Stevenson M, Kellie D, Newman P (2023). galah: Biodiversity Data GBIF Node Network. R package version 2.0.0, https://CRAN.R-project.org/package=galah.","code":"@Manual{, title = {galah: Biodiversity Data from the GBIF Node Network}, author = {Martin Westgate and Matilda Stevenson and Dax Kellie and Peggy Newman}, year = {2023}, note = {R package version 2.0.0}, url = {https://CRAN.R-project.org/package=galah}, }"},{"path":[]},{"path":"https://galah.ala.org.au/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Biodiversity Data from the GBIF Node Network","text":"galah R interface biodiversity data hosted Global Biodiversity Information Facility (GBIF) members GBIF node network maintain APIs (.e. ‘living atlases’). organisations collate store observations individual life forms, using ‘Darwin Core’ data standard. galah built maintained Science & Decision Support Team Atlas Living Australia (ALA). galah enables users locate download species occurrence records (observations, specimens, eDNA records, etc.), taxonomic information, associated media images sounds, restrict queries particular taxa locations. Users can specify columns returned query, restrict results occurrences meet particular data-quality criteria. functions return tibble standard format. package named bird name (Eolophus roseicapilla), widely-distributed endemic Australian species. logo designed Ian Brennan. comments, questions suggestions, please contact us.","code":""},{"path":"https://galah.ala.org.au/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Biodiversity Data from the GBIF Node Network","text":"quick start guide provides introduction package functions. outline package structure, list available functions, run ?galah view reference page.","code":""},{"path":"https://galah.ala.org.au/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Biodiversity Data from the GBIF Node Network","text":"Install CRAN: Install development version GitHub: galah depends sf location-based searches. install galah need make sure system meets sf system requirements, specified .","code":"install.packages(\"galah\") install.packages(\"remotes\") remotes::install_github(\"AtlasOfLivingAustralia/galah-R\")"},{"path":[]},{"path":"https://galah.ala.org.au/index.html","id":"citations","dir":"","previous_headings":"","what":"Citations","title":"Biodiversity Data from the GBIF Node Network","text":"generate citation package version using, can run ’re using occurrence data downloaded galah publication, please generate DOI cite . request DOI download occurrence record, set mint_doi = TRUE call atlas_occurrences(). generate citation downloaded occurrence records, pass tibble generated atlas_citation().","code":"citation(package = \"galah\") # Download occurrence records with a DOI occ <- atlas_occurrences(..., mint_doi = TRUE) # See DOI attr(occ, \"doi\") # Generate citation atlas_citation(occ)"},{"path":"https://galah.ala.org.au/reference/arrange.html","id":null,"dir":"Reference","previous_headings":"","what":"Arrange rows of a query — arrange.data_request","title":"Arrange rows of a query — arrange.data_request","text":"arrange.data_request() arranges rows query server side, meaning prior sending query, query constructed way information arranged query processed. data returned query rows already pre-arranged. benefit using arrange() within galah_call() faster process arranging rows server side arranging rows locally downloaded data, especially dataset large complex. arrange() can used within galah_call() pipe, queries type = \"occurrences-count\". galah_call() pipe must include count() finish collect() (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Arrange rows of a query — arrange.data_request","text":"","code":"# S3 method for data_request arrange(.data, ...) # S3 method for metadata_request arrange(.data, ...)"},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Arrange rows of a query — arrange.data_request","text":".data object class data_request ... Either count index","code":""},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Arrange rows of a query — arrange.data_request","text":"","code":"# Arrange grouped counts by ascending year galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(year) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2020 78197 #> 2 2021 82170 #> 3 2022 3033 #> 4 2023 1193 # Arrange grouped counts by ascending record count galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(count) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2023 1193 #> 2 2022 3033 #> 3 2020 78197 #> 4 2021 82170 # Arrange grouped counts by descending year galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(desc(year)) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2023 1193 #> 2 2022 3033 #> 3 2021 82170 #> 4 2020 78197"},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a citation for occurrence data — atlas_citation","title":"Generate a citation for occurrence data — atlas_citation","text":"data.frame generated using atlas_occurrences(), mint_doi argument set TRUE, DOI associated dataset appended resulting data.frame attribute. function simply formats DOI citation can included scientific publication. Please also consider citing package, using information citation(\"galah\").","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a citation for occurrence data — atlas_citation","text":"","code":"atlas_citation(data)"},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a citation for occurrence data — atlas_citation","text":"data data.frame: occurrence data generated atlas_occurrences()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a citation for occurrence data — atlas_citation","text":"string containing citation dataset.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate a citation for occurrence data — atlas_citation","text":"","code":"if (FALSE) { atlas_citation(doi) }"},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Return a count of records — atlas_counts","title":"Return a count of records — atlas_counts","text":"Prior downloading data often valuable estimate many records available, deciding query feasible, estimating long take download. Alternatively, kinds reporting, count observations may required, example understanding observations growing shrinking particular locations, particular taxa. end, atlas_counts() takes arguments format atlas_occurrences(), provides either total count records matching criteria, data.frame counts matching criteria supplied group_by argument.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return a count of records — atlas_counts","text":"","code":"atlas_counts( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL, group_by = NULL, limit = NULL, type = c(\"occurrences\", \"species\") ) # S3 method for data_request count(x, ..., wt, sort, name)"},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return a count of records — atlas_counts","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile() group_by data.frame: object class galah_group_by, returned galah_group_by(). Alternatively vector field names (see search_all(fields) show_all(fields). limit numeric: maximum number categories return, defaulting 100. limit NULL, results returned. categories take . type string: one c(\"occurrences-count\", \"species-count\"). Defaults \"occurrences-count\", returns number records match selected criteria; alternatively returns number species. Formerly accepted arguments (\"records\" \"species\") deprecated remain functional. x object class data_request, created using galah_call() ... currently ignored wt currently ignored sort currently ignored name currently ignored","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return a count of records — atlas_counts","text":"object class tbl_df data.frame (aka tibble) returning: single number, group_by specified , summary counts grouped field(s), group_by specified","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Return a count of records — atlas_counts","text":"","code":"if (FALSE) { # classic syntax: galah_call() |> galah_filter(year == 2015) |> atlas_counts() # synonymous with: request_data() |> filter(year == 2015) |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":null,"dir":"Reference","previous_headings":"","what":"Get metadata on images, sounds and videos — atlas_media","title":"Get metadata on images, sounds and videos — atlas_media","text":"addition text data describing individual occurrences attributes, ALA stores images, sounds videos associated given record. atlas_media displays metadata media types.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get metadata on images, sounds and videos — atlas_media","text":"","code":"atlas_media( request = NULL, identify = NULL, filter = NULL, select = NULL, geolocate = NULL, data_profile = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get metadata on images, sounds and videos — atlas_media","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() select list: generated call galah_select() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get metadata on images, sounds and videos — atlas_media","text":"object class tbl_df data.frame (aka tibble) metadata requested media.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get metadata on images, sounds and videos — atlas_media","text":"atlas_media() works first finding occurrence records matching filter contain media, downloading metadata media. actually download files , use collect_media(). may beneficial requesting large number records show progress bar setting verbose = TRUE galah_config().","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get metadata on images, sounds and videos — atlas_media","text":"","code":"if (FALSE) { # Download Regent Honeyeater records with multimedia attached galah_call() |> galah_identify(\"Regent Honeyeater\") |> galah_filter(year == 2011) |> atlas_media() # Download multimedia galah_call() |> galah_identify(\"Regent Honeyeater\") |> galah_filter(year == 2011) |> atlas_media() |> collect_media(path = \"folder/your-directory\") # Specify a single media type to download galah_call() |> galah_identify(\"Eolophus Roseicapilla\") |> galah_filter(multimedia == \"Sound\") |> atlas_media() # It's good to check how many records have media files before downloading galah_call() |> galah_filter(multimedia == c(\"Image\", \"Sound\", \"Video\")) |> galah_group_by(multimedia) |> atlas_counts() # post version 2.0, it is possible to run all steps in sequence # first, get occurrences, making sure to include media fields: occurrences_df <- request_data() |> identify(\"Regent Honeyeater\") |> filter(!is.na(images), year == 2011) |> select(group = \"media\") |> collect() # second, get media metadata media_info <- request_metadata() |> filter(media == occurrences_df) |> collect() # the two steps above + `right_join()` are synonmous with `atlas_media()` # third, get images request_files() |> filter(media == media_df) |> collect(thumbnail = TRUE) # step three is synonymous with `collect_media()` }"},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect a set of occurrences — atlas_occurrences","title":"Collect a set of occurrences — atlas_occurrences","text":"common form data stored living atlases observations individual life forms, known 'occurrences'. function allows user search occurrence records match specific criteria, return tibble analysis. Optionally, user can also request DOI given download facilitate citation re-use specific data resources.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect a set of occurrences — atlas_occurrences","text":"","code":"atlas_occurrences( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL, select = NULL, mint_doi = FALSE, doi = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect a set of occurrences — atlas_occurrences","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile() select data.frame: generated call galah_select() mint_doi logical: default DOI generated. Set TRUE intend use data publication similar. doi string: (optional) DOI download. provided overrides arguments. available ALA.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect a set of occurrences — atlas_occurrences","text":"object class tbl_df data.frame (aka tibble) occurrences, containing columns specified galah_select().","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Collect a set of occurrences — atlas_occurrences","text":"Note unless care taken, queries can particularly large. cases simply take long time process, number requested records >50 million, call return data. Users can test whether threshold reached first calling atlas_counts() using arguments intend pass atlas_occurrences(). may also beneficial requesting large number records show progress bar setting verbose = TRUE galah_config(), use compute() run call collecting later collect().","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect a set of occurrences — atlas_occurrences","text":"","code":"if (FALSE) { # Download occurrence records for a specific taxon galah_config(email = \"your_email_here\") galah_call() |> galah_identify(\"Reptilia\") |> atlas_occurrences() # Download occurrence records in a year range galah_call() |> galah_identify(\"Litoria\") |> galah_filter(year >= 2010 & year <= 2020) |> atlas_occurrences() # Or identically with alternative syntax request_data() |> identify(\"Litoria\") |> filter(year >= 2010 & year <= 2020) |> collect() # Download occurrences records in a WKT-specified area polygon <- \"POLYGON((146.24960 -34.05930, 146.37045 -34.05930, 146.37045 -34.152549, 146.24960 -34.15254, 146.24960 -34.05930))\" galah_call() |> galah_identify(\"Reptilia\") |> galah_filter(year >= 2010, year <= 2020) |> galah_geolocate(polygon) |> atlas_occurrences() }"},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect the set of species observed within the specified filters — atlas_species","title":"Collect the set of species observed within the specified filters — atlas_species","text":"reasons users may need check every record meeting search criteria (.e. using atlas_occurrences()), common use case simply identify species occur specified region, time period, taxonomic group. function returns data.frame one row per species, columns giving associated taxonomic information.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect the set of species observed within the specified filters — atlas_species","text":"","code":"atlas_species( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect the set of species observed within the specified filters — atlas_species","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect the set of species observed within the specified filters — atlas_species","text":"object class tbl_df data.frame (aka tibble), returning matching species data.frame object attributes listing user-supplied arguments data_request (.e., identify, filter, geolocate, columns)","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Collect the set of species observed within the specified filters — atlas_species","text":"primary use case function extract species-level information given set criteria defined search_taxa(), galah_filter() galah_geolocate(). purpose simply get taxonomic information restricted filtering, search_taxa() efficient. Similarly, counts required include filter without returning taxonomic detail, atlas_counts() efficient (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect the set of species observed within the specified filters — atlas_species","text":"","code":"if (FALSE) { # First register a valid email address galah_config(email = \"ala4r@ala.org.au\") # Get a list of species within genus \"Heleioporus\" # (every row is a species with associated taxonomic data) galah_call() |> galah_identify(\"Heleioporus\") |> atlas_species() # Get a list of species within family \"Peramelidae\" galah_call() |> galah_identify(\"peramelidae\") |> atlas_species() # Or alternatively request_data(type = \"species\") |> identify(\"peramelidae\") |> collect() # It's good idea to find how many species there are before downloading galah_call() |> galah_identify(\"Heleioporus\") |> atlas_counts(type = \"species\") # Or alternatively request_data(type = \"species\") |> identify(\"Heleioporus\") |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":null,"dir":"Reference","previous_headings":"","what":"Search taxonomic trees — atlas_taxonomy","title":"Search taxonomic trees — atlas_taxonomy","text":"ALA ' internal taxonomy derived authoritative sources. atlas_taxonomy provides means query taxonomy, returning tibble showing child nodes parent derived .","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Search taxonomic trees — atlas_taxonomy","text":"","code":"atlas_taxonomy( request = NULL, identify = NULL, filter = NULL, constrain_ids = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Search taxonomic trees — atlas_taxonomy","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter(rank == \"chosen_rank\"). identity clade downwards search stop. constrain_ids string: Optional string limit taxon_concept_id's returned. useful restricting taxonomy particular authoritative sources. Default \"biodiversity.org.au\" Australia (can overridded setting constrain_ids = NULL) NULL otherwise. Powered grepl() meaning supports regular expressions.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Search taxonomic trees — atlas_taxonomy","text":"tibble containing taxon names, ranks parent/child IDs","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Search taxonomic trees — atlas_taxonomy","text":"approach used function recursive, meaning becomes slow large queries atlas_taxonomy(search_taxa(\"Plantae\"), down_to = galah_down_to(species)). Although inputs search_taxa down_to case-insensitive, node names always returned title case.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Search taxonomic trees — atlas_taxonomy","text":"","code":"if (FALSE) { # Get a taxonomic tree of *Chordata* down to the class level galah_call() |> galah_identify(\"chordata\") |> galah_filter(rank == class) |> atlas_taxonomy() }"},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a query — collapse_galah","title":"Generate a query — collapse_galah","text":"collapse() constructs valid query can inspected sent. typically occurs end pipe, traditionally begun galah_call(), used define query. version 2.0, objects class data_request (created using request_data()), metadata_request (request_metadata()) files_request (request_files()) supported collapse(). objects can created using galah_call() via method argument.","code":""},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a query — collapse_galah","text":"","code":"# S3 method for data_request collapse(x, ..., mint_doi) # S3 method for metadata_request collapse(x, ...) # S3 method for files_request collapse(x, ..., thumbnail = FALSE)"},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a query — collapse_galah","text":"x object class data_request, metadata_request files_request ... Arguments passed methods mint_doi Logical: DOI minted download? applies type = \"occurrences\" atlas chosen \"ALA\". thumbnail Logical: thumbnail-size images returned? Defaults FALSE, indicating full-size images required.","code":""},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a query — collapse_galah","text":"object class query_set, list containing one objects class query. valuable shows set queries required correctly retrieve requested data. Objects within query_set listed sequence enacted.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve a database query — collect_galah","title":"Retrieve a database query — collect_galah","text":"collect() attempts retrieve result query selected API.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve a database query — collect_galah","text":"","code":"# S3 method for data_request collect(x, ..., wait = TRUE, file = NULL) # S3 method for metadata_request collect(x, ...) # S3 method for files_request collect(x, ...) # S3 method for query_set collect(x, ..., wait = TRUE, file = NULL) # S3 method for query collect(x, ..., wait = TRUE, file = NULL)"},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve a database query — collect_galah","text":"x object class data_request, metadata_request files_request (galah_call()); oject class query_set query (collapse() compute()) ... Arguments passed methods wait logical; galah wait response? Defaults FALSE. applies type = \"occurrences\" \"species\". file (optional) file name. given data date time added. File path always given galah_config()$package$directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve a database query — collect_galah","text":"cases, collect() returns tibble containing requested data. requested data yet ready (.e. occurrences wait set FALSE), function returns object class query can used recheck download later time.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect media files — collect_media","title":"Collect media files — collect_media","text":"function downloads full-sized thumbnail images media files using information atlas_media local directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect media files — collect_media","text":"","code":"collect_media(df, thumbnail = FALSE, path)"},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect media files — collect_media","text":"df tibble: returned atlas_media() pipe starting request_data(type = \"media\"). thumbnail logical: TRUE download small thumbnail-sized images, rather full size images (default). path string: Use galah_config(directory = \"path--directory)\" instead. Supply path local folder/directory downloaded media saved .","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect media files — collect_media","text":"Invisibly returns tibble listing number files downloaded, grouped HTML status codes. Primarily called side effect downloading available image & media files user local directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect media files — collect_media","text":"","code":"if (FALSE) { # Use `atlas_media()` to return a `tibble` of records that contain media x <- galah_call() |> galah_identify(\"perameles\") |> galah_filter(year == 2015) |> atlas_media() # To download media files, add `collect_media()` to the end of a query galah_config(directory = \"media_files\") collect_media(x) }"},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute a query — compute_galah","title":"Compute a query — compute_galah","text":"compute() useful several purposes. original purpose send request data, can processed server retrieved later time (via collect()). However, query-altering functions (filter() select()) evaluated lazily galah version 2.0 onwards, compute() also function objects within query_set evaluated, checks run using information. Therefore possible invalid queries built using collapse(), fail compute().","code":""},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute a query — compute_galah","text":"","code":"# S3 method for data_request compute(x, ...) # S3 method for metadata_request compute(x, ...) # S3 method for files_request compute(x, ...) # S3 method for query_set compute(x, ...) # S3 method for query compute(x, ...)"},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute a query — compute_galah","text":"x object class data_request, metadata_request files_request (.e. constructed using pipe) query query_set (.e. constructed collapse()) ... Arguments passed methods","code":""},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute a query — compute_galah","text":"object class query containing checked, valid query selected atlas. case occurrence data, also contains information status request.","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — galah_down_to","title":"Deprecated functions — galah_down_to","text":"include: galah_down_to() favour galah_filter()","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — galah_down_to","text":"","code":"galah_down_to(...)"},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Deprecated functions — galah_down_to","text":"... name single taxonomic rank","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Deprecated functions — galah_down_to","text":"string named rank","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Deprecated functions — galah_down_to","text":"","code":"if (FALSE) { # Return a taxonomic tree of *Chordata* down to the class level galah_call() |> galah_identify(\"Vertebrata\") |> galah_down_to(class) |> atlas_taxonomy() }"},{"path":"https://galah.ala.org.au/reference/galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Biodiversity Data from the GBIF Node Network — galah","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Global Biodiversity Information Facility (GBIF; https://www.gbif.org) provides tools enable users find, access, combine visualise biodiversity data. galah enables R community directly access data resources hosted GBIF several subsidiary organisations, known 'nodes'. basic unit observation stored infrastructures occurrence record, based Darwin Core' data standard (https://dwc.tdwg.org); however galah also enables users locate download taxonomic information, associated media images sounds, restricting queries particular taxa locations. Users can specify columns returned query, restrict results observations meet particular quality-control criteria. outside Australia, 'galah' common name Eolophus roseicapilla, widely-distributed Australian bird species.","code":""},{"path":"https://galah.ala.org.au/reference/galah.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Piping functions galah_call() request_() et al. Start build data query collapse() Generate query compute() Compute query collect() Retrieve database query Lazy data manipulation identify() galah_identify() Search taxonomic identifiers filter() galah_filter()Filter records select() galah_select()Fields report information group_by() galah_group_by() Fields group counts st_crop() galah_geolocate() Specify location apply_profile() galah_apply_profile() Restrict data pass predefined checks (ALA ) slice_head() Choose first n rows download arrange() Arrange rows query server side Download data atlas_occurrences() Download occurrence records atlas_counts() count() Count number records species returned query atlas_species() Download species lists atlas_taxonomy() Return section ALA taxonomic tree atlas_media() View images sounds available download collect_media() Download images sounds Look information search_taxa() Search taxa using text-search search_identifiers() Search taxa using taxonomic identifiers show_all() & search_all() Data generating filter queries show_values() & search_values() Show search values within fields, profiles, lists, collections, datasets providers Configure session galah_config() Package configuration options Cite atlas_citation() Citation dataset","code":""},{"path":"https://galah.ala.org.au/reference/galah.html","id":"terminology","dir":"Reference","previous_headings":"","what":"Terminology","title":"Biodiversity Data from the GBIF Node Network — galah","text":"get value galah, helpful understand terminology. occurrence record contains taxonomic information, usually information observation , location. addition record-specific information, living atlases append contextual information record, particularly data spatial layers reflecting climate gradients political boundaries. also run number quality checks record, resulting assertions attached record. piece information associated given occurrence record stored field, corresponds column imported R data.frame. See show_all(fields) view valid fields, layers assertions, conduct search using search_all(fields). Data fields important provide means filter occurrence records; .e. return information need, . Consequently, much architecture galah designed make filtering simple possible. easiest way start pipe galah_call() follow relevant dplyr function; starting filter(), also including select(), group_by() others. Functions without relevant dplyr synonym include galah_identify()/identify() choosing taxon, galah_geolocate()/ st_crop() choosing specific location. combining different filters, possible build complex queries return valuable information given problem. notable extension filtering approach remove records low 'quality'. living atlases perform quality control checks records store. checks used generate new fields, can used filter records unsuitable particular applications. However, many possible data quality checks, always clear appropriate given instance. Therefore, galah supports data quality profiles, can passed galah_apply_profile() quickly remove undesirable records. full list data quality profiles returned show_all(profiles). Note service currently available Australian atlas (ALA).","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Maintainer: Martin Westgate martin.westgate@csiro.au Authors: Matilda Stevenson Dax Kellie dax.kellie@csiro.au Peggy Newman peggy.newman@csiro.au","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a data quality profile — galah_apply_profile","title":"Apply a data quality profile — galah_apply_profile","text":"'profile' group filters pre-applied ALA. Using data profile allows query filtered quickly relevant quality-assured data fit--purpose. example, \"ALA\" profile designed exclude lower quality records, whereas profiles apply filters specific species distribution modelling (e.g. CDSM).","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a data quality profile — galah_apply_profile","text":"","code":"galah_apply_profile(...) apply_profile(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a data quality profile — galah_apply_profile","text":"... profile name. string - name abbreviation data quality profile apply query. Valid values can seen using show_all(profiles) .data object class data_request","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apply a data quality profile — galah_apply_profile","text":"tibble containing valid data profile value.","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apply a data quality profile — galah_apply_profile","text":"Note one profile can loaded time; multiple profiles given, first valid profile used. bespoke editing filters within profile, use galah_filter()","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apply a data quality profile — galah_apply_profile","text":"","code":"if (FALSE) { # Apply a data quality profile to a query galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 2021) |> galah_apply_profile(ALA) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":null,"dir":"Reference","previous_headings":"","what":"Start building a query — galah_call","title":"Start building a query — galah_call","text":"download data selected atlas, one must construct query. query tells atlas API data download return, well filtered. Using galah_call() allows build piped query download data, way wrangle data dplyr tidyverse. Since version 2.0, galah_call() wrapper group underlying request_ functions. functions can begin piped query end collapse(), compute() collect(). underlying request_ #' functions useful allow galah separate different types requests perform better. example, filter.data_request translates filters R solr, whereas filter.metadata_request searches using search term. details see object-oriented programming vignette: vignette(\"object_oriented_programming\", package = \"galah\")","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Start building a query — galah_call","text":"","code":"galah_call(method = c(\"data\", \"metadata\", \"files\"), type, ...) request_data( type = c(\"occurrences\", \"occurrences-count\", \"occurrences-doi\", \"species\", \"species-count\"), ... ) request_metadata(type) request_files(type = c(\"media\"))"},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Start building a query — galah_call","text":"method string: request function called. one \"data\" (default), \"metadata\" \"files\" type string: form data returned? Acceptable values specified corresponding request function ... Zero arguments alter query. See 'details'.","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Start building a query — galah_call","text":"sub-function returns different object class: request_data() returns data_request. request_metadata returns metadata_request, request_files() returns files_request.","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Start building a query — galah_call","text":"atlas several types data can chosen. Currently supported \"occurrences\" (default), \"species\" \"media\" (latter currently ALA). also possible use type = \"occurrences-count\" type = \"species-count\"; practice synonymous galah_call() |> count(), therefore practically useful debugging (via collapse() compute()). named arguments supported via .... practice, functions galah_ prefix S3 methods ported dplyr assign information correct slots internally. Overwriting user-defined alternatives possible, advised. Accepted arguments : filter (accepts galah_filter() filter()) select (accepts galah_select() select) group_by (accepts galah_group_by() group_by()) identify (accepts galah_identify() identify()) geolocate (accepts galah_geolocate(), galah_polygon() galah_bbox() st_crop()) limit (accepts slice_head()) doi (accepts sting listing valid DOI, specific collect() type = \"doi\") Unrecognised names ignored collect() related functions.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Start building a query — galah_call","text":"","code":"if (FALSE) { # Begin your query with `galah_call()`, then pipe using `%>%` or `|>` # Get number of records of *Aves* from 2001 to 2004 by year galah_call() |> galah_identify(\"Aves\") |> galah_filter(year > 2000 & year < 2005) |> galah_group_by(year) |> atlas_counts() # Get information for all species in *Cacatuidae* family galah_call() |> galah_identify(\"Cacatuidae\") |> atlas_species() # Download records of genus *Eolophus* from 2001 to 2004 galah_config(email = \"your-email@email.com\") galah_call() |> galah_identify(\"Eolophus\") |> galah_filter(year > 2000 & year < 2005) |> atlas_occurrences() # ---------- # Since galah 2.0.0, a pipe can start with a `request_` function. # This allows users to use `collapse()`, `compute()` and `collect()`. # Get number of records of *Aves* from 2001 to 2004 by year request_data(type = \"occurrences-count\") |> galah_identify(\"Aves\") |> galah_filter(year > 2000 & year < 2005) |> galah_group_by(year) |> collect() # Get information for all species in *Cacatuidae* family request_data(type = \"species\") |> galah_identify(\"Cacatuidae\") |> collect() # Get metadata information about supported atlases in galah request_metadata(type = \"atlases\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":null,"dir":"Reference","previous_headings":"","what":"Get or set configuration options that control galah behaviour — galah_config","title":"Get or set configuration options that control galah behaviour — galah_config","text":"galah package supports large data downloads, also interfaces ALA requires users services provide registered email address reason downloading data. galah_config function provides way manage issues simply possible.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get or set configuration options that control galah behaviour — galah_config","text":"","code":"galah_config(...)"},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get or set configuration options that control galah behaviour — galah_config","text":"... Options can defined using form name = \"value\". Valid arguments : api-key string: registered API key (currently unused). atlas string: Living Atlas point , Australia default. Can organisation name, acronym, region (see show_all_atlases() admissible values) directory string: directory use cache. default temporary directory, means results cached within R session cleared automatically user exits R. user may wish set non-temporary directory caching across sessions. directory must exist file system. download_reason_id numeric string: \"download reason\" required. ALA services, either numeric ID (currently 0--13) string (see show_all(reasons) list valid ID codes names). default NA. ALA services require valid download_reason_id code, either specified directly associated R function. email string: email address registered chosen atlas. ALA, can register address. password string: registered password (GBIF ) run_checks logical: galah run checks filters columns. making lots requests sequentially, checks can slow process lead HTTP 500 errors, turned . Defaults TRUE. send_email logical: receive email query atlas_occurrences()? Defaults FALSE; can useful instances, example tracking DOIs assigned specific downloads later citation. username string: registered username (GBIF ) verbose logical: galah give verbose progress bars? Defaults FALSE.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get or set configuration options that control galah behaviour — galah_config","text":"galah_config(), list options. galah_config(...) called arguments, nothing returned configuration set.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get or set configuration options that control galah behaviour — galah_config","text":"","code":"if (FALSE) { # To download occurrence records, enter your email in `galah_config()`. # This email should be registered with the atlas in question. galah_config(email = \"your-email@email.com\") # Turn on caching in your session galah_config(caching = TRUE) # Some ALA services require that you add a reason for downloading data. # Add your selected reason using the option `download_reason_id` galah_config(download_reason_id = 0) # To look up all valid reasons to enter, use `show_all(reasons)` show_all(reasons) # Make debugging in your session easier by setting `verbose = TRUE` galah_config(verbose = TRUE) }"},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query by specifying filters — galah_filter","title":"Narrow a query by specifying filters — galah_filter","text":"\"Filters\" arguments form field logical value used narrow number records returned specific query. example, common users request records particular year (year == 2020), return records except fossils (basisOfRecord != \"FossilSpecimen\"). result galah_filter() can passed filter argument atlas_occurrences(), atlas_species(), atlas_counts() atlas_media().","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query by specifying filters — galah_filter","text":"","code":"galah_filter(..., profile = NULL) # S3 method for data_request filter(.data, ...) # S3 method for metadata_request filter(.data, ...) # S3 method for files_request filter(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query by specifying filters — galah_filter","text":"... filters, form field logical value profile Use galah_apply_profile instead. .data object class files_request, created using request_files()","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query by specifying filters — galah_filter","text":"tibble containing filter values.","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query by specifying filters — galah_filter","text":"galah_filter uses non-standard evaluation (NSE), designed compatible possible dplyr::filter() syntax. statements passed galah_filter() (except profile argument) take form field - logical - value. Permissible examples include: = == (e.g. year = 2020) !=, e.g. year != 2020) > >= (e.g. year >= 2020) < <= (e.g. year <= 2020) statements (e.g. year == 2018 | year == 2020) statements (e.g. year >= 2000 & year <= 2020) cases R fail parse inputs single equals sign (=), particularly statements separated & |. problem can avoided using double-equals (==) instead. Notes behaviour Separating statements comma equivalent statement; Ergo galah_filter(year >= 2010 & year < 2020) galah_filter(year >= 2010, year < 2020). statements must include field name; galah_filter(year == 2010 | year == 2021) works, galah_filter(year == c(2010, 2021)), galah_filter(year == 2010 | 2021) fails. possible use object specify required values, e.g. year_value <- 2010; galah_filter(year > year_value) solr supports range queries text well numbers; valid: galah_filter(cl22 >= \"Tasmania\")","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query by specifying filters — galah_filter","text":"","code":"if (FALSE) { # Filter query results to return records of interest galah_call() |> galah_filter(year >= 2019, basisOfRecord == \"HumanObservation\") |> atlas_counts() # Alternatively, the same call using `dplyr` functions: request_data() |> filter(year >= 2019, basisOfRecord == \"HumanObservation\") |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query to within a specified area — galah_bbox","title":"Narrow a query to within a specified area — galah_bbox","text":"Restrict results specified area using galah_geolocate(). Areas can specified either polygons bounding boxes, depending type. Alternatively, users can call underlying functions directly via galah_bbox() galah_polygon(). Finally, possible use sf syntax calling st_crop(), synonymous galah_polygon(). calling galah_geolocate(), default type \"polygon\", narrows queries within area supplied POLYGON. Polygons must specified either sf object, 'well-known text' (WKT) string, shapefile. Shapefiles must simple accepted ALA. Alternatively, set type = \"bbox\" narrow queries within bounding box. Bounding boxes can extracted supplied sf object shapefile. bounding box can also supplied bbox object (via sf::st_bbox()) tibble/data.frame.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query to within a specified area — galah_bbox","text":"","code":"galah_bbox(...) galah_geolocate(..., type = c(\"polygon\", \"bbox\")) galah_polygon(...) # S3 method for data_request st_crop(x, y, ...)"},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query to within a specified area — galah_bbox","text":"... single sf object, WKT string shapefile. Bounding boxes can supplied tibble/data.frame bbox type string: one c(\"polygon\", \"bbox\"). Defaults \"polygon\". type = \"polygon\", multipolygon built via galah_polygon(). type = \"bbox\", multipolygon built via galah_bbox(). multipolygon used narrow query ALA. x object class data_request, created using galah_call() y valid Well-Known Text string (wkt), POLYGON MULTIPOLYGON","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query to within a specified area — galah_bbox","text":"length-1 string (class character) containing multipolygon WKT string representing area provided.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query to within a specified area — galah_bbox","text":"type = \"polygon\", WKT strings longer 10000 characters sf objects 500 vertices accepted ALA. polygons may need simplified. type = \"bbox\", sf objects shapefiles converted bounding box query ALA.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query to within a specified area — galah_bbox","text":"","code":"if (FALSE) { # Search for records within a polygon using a shapefile location <- sf::st_read(\"path/to/shapefile.shp\") galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location) |> atlas_counts() # Search for records within the bounding box of a shapefile location <- sf::st_read(\"path/to/shapefile.shp\") galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location, type = \"bbox\") |> atlas_counts() # Search for records within a polygon using an `sf` object location <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" |> sf::st_as_sfc() galah_call() |> galah_identify(\"reptilia\") |> galah_polygon(location) |> atlas_counts() # Alternatively, we can use `st_crop()` as a synonym for `galah_polygon()`. # Hence the above example can be rewritten as: request_data() |> identify(\"reptilia\") |> st_crop(location) |> count() |> collect() # Search for records using a Well-known Text string (WKT) wkt <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(wkt) |> atlas_counts() # Search for records within the bounding box extracted from an `sf` object location <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" |> sf::st_as_sfc() galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location, type = \"bbox\") |> atlas_counts() # Search for records using a bounding box of coordinates b_box <- sf::st_bbox(c(xmin = 143, xmax = 148, ymin = -29, ymax = -28), crs = sf::st_crs(\"WGS84\")) galah_call() |> galah_identify(\"reptilia\") |> galah_geolocate(b_box, type = \"bbox\") |> atlas_counts() # Search for records using a bounding box in a `tibble` or `data.frame` b_box <- tibble::tibble(xmin = 148, ymin = -29, xmax = 143, ymax = -21) galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(b_box, type = \"bbox\") |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify fields to group when downloading record counts — galah_group_by","title":"Specify fields to group when downloading record counts — galah_group_by","text":"count.data_request() atlas_counts() support server-side grouping data. Grouping can used return record counts grouped multiple, valid fields (found search_all(fields)).","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify fields to group when downloading record counts — galah_group_by","text":"","code":"galah_group_by(...) # S3 method for data_request group_by(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify fields to group when downloading record counts — galah_group_by","text":"... zero individual column names include .data object class data_request","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify fields to group when downloading record counts — galah_group_by","text":"arguments provided, returns data.frame columns name type, per select.data_request().","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify fields to group when downloading record counts — galah_group_by","text":"","code":"if (FALSE) { galah_call() |> galah_group_by(basisOfRecord) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query by passing taxonomic identifiers — galah_identify","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"conducting search creating data query, common identify known taxon group taxa narrow records results returned.","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"","code":"galah_identify(..., search = NULL) # S3 method for data_request identify(x, ...) # S3 method for metadata_request identify(x, ...)"},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"... One scientific names. search galah_identify() now always search verify search terms; ergo argument ignored. x object class metadata_request, created using request_metadata()","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"tibble containing identified taxa.","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"galah_identify() used identify taxa want returned search data query. Users pass scientific names taxonomic identifiers pipes provide data biological group interest. good use search_taxa() search_identifiers() first check taxa provide galah_identify() return correct results.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"","code":"if (FALSE) { # Specify a taxon. A valid taxon will return an identifier. galah_identify(\"reptilia\") # Specify more than one taxon at a time. galah_identify(\"reptilia\", \"mammalia\", \"aves\", \"pisces\") # Use `galah_identify()` to narrow your queries galah_call() |> galah_identify(\"Eolophus\") |> atlas_counts() # Within a pipe, `identify()` and `galah_identify()` are synonymous. # hence the following is identical to the previous example: request_data() |> identify(\"Eolophus\") |> count() |> collect() # If you know a valid taxon identifier, use `galah_filter()` instead. # (This was formerly supported by `galah_identify()` with `search = FALSE`) id <- \"https://biodiversity.org.au/afd/taxa/009169a9-a916-40ee-866c-669ae0a21c5c\" galah_call() |> galah_filter(lsid == id) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify fields for occurrence download — galah_select","title":"Specify fields for occurrence download — galah_select","text":"GBIF partner nodes store content hundreds different fields, users often require thousands millions records time. reduce time taken download data, limit complexity resulting tibble, sensible restrict fields returned atlas_occurrences(). function allows easy selection fields, commonly-requested groups columns, following syntax shared dplyr::select(). full list available fields can viewed show_all(fields). Note select() galah_select() supported atlases allow downloads, exception GBIF, columns returned.","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify fields for occurrence download — galah_select","text":"","code":"galah_select(..., group) # S3 method for data_request select(.data, ..., group)"},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify fields for occurrence download — galah_select","text":"... zero individual column names include group string: (optional) name one column groups include. Valid options \"basic\", \"event\" \"assertions\" .data object class data_request, created using galah_call()","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify fields for occurrence download — galah_select","text":"tibble specifying name type column include call atlas_counts() atlas_occurrences().","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify fields for occurrence download — galah_select","text":"Calling argument group = \"basic\" returns following columns: decimalLatitude decimalLongitude eventDate scientificName taxonConceptID recordID dataResourceName occurrenceStatus Using group = \"event\" returns following columns: eventRemarks eventTime eventID eventDate samplingEffort samplingProtocol Using group = \"media\" returns following columns: multimedia multimediaLicence images videos sounds Using group = \"assertions\" returns quality assertion-related columns. list assertions shown show_all_assertions().","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify fields for occurrence download — galah_select","text":"","code":"if (FALSE) { # Download occurrence records of *Perameles*, # Only return scientificName and eventDate columns galah_config(email = \"your-email@email.com\") galah_call() |> galah_identify(\"perameles\")|> galah_select(scientificName, eventDate) |> atlas_occurrences() # Only return the \"basic\" group of columns and the basisOfRecord column galah_call() |> galah_identify(\"perameles\") |> galah_select(basisOfRecord, group = \"basic\") |> atlas_occurrences() # When used in a pipe, `galah_select()` and `select()` are synonymous. # Hence the previous example can be rewritten as: request_data() |> identify(\"perameles\") |> select(basisOfRecord, group = \"basic\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":null,"dir":"Reference","previous_headings":"","what":"Print galah objects — print_galah_objects","title":"Print galah objects — print_galah_objects","text":"version 2.0, galah supports several bespoke object types. Classes data_request, metadata_request files_request starting pipes download different types information. objects parsed using collapse() query_set object, contains set query objects, describing one API call. enacted using compute() /collect(). Finally, galah_config() creates object class galah_config (unsurprisingly) stores configuration information.","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print galah objects — print_galah_objects","text":"","code":"# S3 method for data_request print(x, ...) # S3 method for files_request print(x, ...) # S3 method for metadata_request print(x, ...) # S3 method for query print(x, ...) # S3 method for query_set print(x, ...) # S3 method for galah_config print(x, ...)"},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print galah objects — print_galah_objects","text":"x object appropriate class ... Arguments passed methods","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print galah objects — print_galah_objects","text":"Print return object; instead prints description object console","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print galah objects — print_galah_objects","text":"","code":"# The most common way to start a pipe is with `galah_call()` # later functions update the `data_request` object galah_call() |> # same as calling `request_data()` filter(year >= 2020) |> group_by(year) |> count() #> Object of type `data_request` containing: #> • type occurrences-count #> • filter year >= 2020 #> • group_by year # Metadata requests are formatted in a similar way request_metadata() |> filter(field == basisOfRecord) |> unnest() #> Object of type `metadata_request` containing: #> • type fields-unnest #> • filter field == basisOfRecord # Queries are converted into a `query_set` by `collapse()` x <- galah_call() |> # same as calling `request_data()` filter(year >= 2020) |> group_by(year) |> count() |> collapse() print(x) #> Object of class `query_set` containing 3 queries: #> • metadata/fields data: galah:::check_internal_cache()$fields #> • metadata/assertions data: galah:::check_internal_cache()$assertions #> • data/occurrences-count-groupby url: https://biocache-ws.ala.org.au/ws/occurre... # Each `query_set` contains one or more `query` objects x[[3]] #> Object of class query with type data/occurrences-count-groupby #> url: https://biocache-ws.ala.org.au/ws/occurrences/facets?fq=%28year%3A%5B2... #> arrange: count (descending)"},{"path":"https://galah.ala.org.au/reference/reexports.html","id":null,"dir":"Reference","previous_headings":"","what":"Objects exported from other packages — reexports","title":"Objects exported from other packages — reexports","text":"objects imported packages. Follow links see documentation. dplyr arrange, collapse, collect, compute, count, filter, group_by, select, slice_head graphics identify sf st_crop","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":null,"dir":"Reference","previous_headings":"","what":"Search for record information — search_all","title":"Search for record information — search_all","text":"living atlases store huge amount information, beyond occurrence records main output. galah, one way users can investigate information searching specific option category type information interested . Functions prefixed search_ , displaying matches search term within valid options information specified suffix. search_all() helper function can searches within multiple types information search_ sub-functions. See Details () accepted values.","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Search for record information — search_all","text":"","code":"search_all(type, query) search_assertions(query) search_apis(query) search_atlases(query) search_collections(query) search_datasets(query) search_fields(query) search_identifiers(...) search_licences(query) search_lists(query) search_profiles(query) search_providers(query) search_ranks(query) search_reasons(query) search_taxa(...)"},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Search for record information — search_all","text":"type string specify type parameters searched. query string specifying search term. Searches case-sensitive. ... set strings tibble queried","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Search for record information — search_all","text":"object class tbl_df data.frame (aka tibble) containing data match search query.","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Search for record information — search_all","text":"five categories information, specific sub-functions look-type information. available types information search_all() :","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Search for record information — search_all","text":"Darwin Core terms https://dwc.tdwg.org/terms/","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Search for record information — search_all","text":"","code":"if (FALSE) { # Search for fields that include the word \"date\" search_all(fields, \"date\") # Search for fields that include the word \"marine\" search_all(fields, \"marine\") # Search using a single taxonomic term # (see `?search_taxa()` for more information) search_all(taxa, \"Reptilia\") # equivalent # Look up a unique taxon identifier # (see `?search_identifiers()` for more information) search_all(identifiers, \"https://id.biodiversity.org.au/node/apni/2914510\") # Search for species lists that match \"endangered\" search_all(lists, \"endangered\") # equivalent # Search for a valid taxonomic rank, \"subphylum\" search_all(ranks, \"subphylum\") # An alternative is to download the data and then `filter` it. This is # largely synonymous, and allows greater control over which fields are searched. request_metadata(type = \"fields\") |> collect() |> dplyr::filter(grepl(\"date\", id)) }"},{"path":"https://galah.ala.org.au/reference/show_all.html","id":null,"dir":"Reference","previous_headings":"","what":"Show valid record information — show_all","title":"Show valid record information — show_all","text":"living atlases store huge amount information, beyond occurrence records main output. galah, one way users can investigate information showing available options categories type information interested . Functions prefixed show_all_ , displaying valid options information specified suffix. show_all() helper function can display multiple types information show_all_ sub-functions.","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show valid record information — show_all","text":"","code":"show_all(..., limit = NULL) show_all_apis(limit = NULL) show_all_assertions(limit = NULL) show_all_atlases(limit = NULL) show_all_collections(limit = NULL) show_all_datasets(limit = NULL) show_all_fields(limit = NULL) show_all_licences(limit = NULL) show_all_lists(limit = NULL) show_all_profiles(limit = NULL) show_all_providers(limit = NULL) show_all_ranks(limit = NULL) show_all_reasons(limit = NULL)"},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show valid record information — show_all","text":"... String showing type information requested. See Details () accepted values. limit Optional number values return. Defaults NULL, .e. records","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show valid record information — show_all","text":"object class tbl_df data.frame (aka tibble) containing data interest.","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Show valid record information — show_all","text":"five categories information, specific sub-functions look-type information. available types information show_all_ :","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Show valid record information — show_all","text":"Darwin Core terms https://dwc.tdwg.org/terms/","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show valid record information — show_all","text":"","code":"if (FALSE) { # See all supported atlases show_all(atlases) # Show a list of all available data quality profiles show_all(profiles) # Show a listing of all accepted reasons for downloading occurrence data show_all(reasons) # Show a listing of all taxonomic ranks show_all(ranks) # `show_all()` is synonymous with `request_metadata() |> collect()` request_metadata(type = \"fields\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/show_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Show or search for values within a specified field — show_values","title":"Show or search for values within a specified field — show_values","text":"Users may wish see specific values within chosen field, profile list narrow queries understand information interest. show_values() provides users values. search_values() allows users search specific values within specified field.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show or search for values within a specified field — show_values","text":"","code":"show_values(df) search_values(df, query)"},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show or search for values within a specified field — show_values","text":"df search result search_fields(), search_profiles() search_lists(). query string specifying search term. case sensitive.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show or search for values within a specified field — show_values","text":"tibble values specified field, profile list.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Show or search for values within a specified field — show_values","text":"Field contains categorical numeric values. example: field \"year\" contains values 2021, 2020, 2019, etc. field \"stateProvince\" contains values New South Wales, Victoria, Queensland, etc. used narrow queries galah_filter(). Profile consists many individual quality filters. example, \"ALA\" profile consists values: Exclude records spatial validity FALSE Exclude records latitude value zero Exclude records longitude value zero List contains list species, usually taxonomic name. example, Endangered Plant species list contains values: Acacia curranii (Curly-bark Wattle) Brachyscome papillosa (Mossgiel Daisy) Solanum karsense (Menindee Nightshade)","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show or search for values within a specified field — show_values","text":"","code":"if (FALSE) { # Show values in field 'cl22' search_fields(\"cl22\") |> show_values() # This is synonymous with `request_metadata() |> unnest()`. # For example, the previous example can be run using: request_metadata() |> filter(field == \"cl22\") |> unnest() |> collect() # Search for any values in field 'cl22' that match 'tas' search_fields(\"cl22\") |> search_values(\"tas\") # See items within species list \"dr19257\" search_lists(\"dr19257\") |> show_values() }"},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":null,"dir":"Reference","previous_headings":"","what":"Subset first rows of data_request — slice_head.data_request","title":"Subset first rows of data_request — slice_head.data_request","text":"simple function set limit argument atlas_counts() using dplyr syntax. galah 2.0.0, slice_head() supported queries type occurrences-count(), metadata requests. Note also slice_head() lazily evaluated; affects query run compute() (likely) collect().","code":""},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Subset first rows of data_request — slice_head.data_request","text":"","code":"# S3 method for data_request slice_head(.data, ..., n, prop, by = NULL) # S3 method for metadata_request slice_head(.data, ..., n, prop, by = NULL)"},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Subset first rows of data_request — slice_head.data_request","text":".data object class data_request, created using galah_call() ... currently ignored n number rows returned. data grouped (using group_by), operation performed group. prop currently ignored, added later currently ignored","code":""},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Subset first rows of data_request — slice_head.data_request","text":"","code":"if (FALSE) { # Limit number of rows returned to 3. # In this case, our query returns the top 3 years with most records. galah_call() |> identify(\"perameles\") |> filter(year > 2010) |> group_by(year) |> count() |> slice_head(n = 3) |> collect() }"},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Non-generic tidyverse functions — tidyverse_functions","title":"Non-generic tidyverse functions — tidyverse_functions","text":"Several useful functions tidyverse packages generic, meaning can define class-specific versions functions implement galah; examples include filter(), select() group_by(). However, also functions defined within tidyverse packages generic. cases re-implemented functions galah. consequence supporting consistent syntax tidyverse, cost potentially introducing conflicts. can avoided using :: operator required (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Non-generic tidyverse functions — tidyverse_functions","text":"","code":"desc(...) unnest(.query)"},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Non-generic tidyverse functions — tidyverse_functions","text":"... column order .query object class metadata_request","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Non-generic tidyverse functions — tidyverse_functions","text":"galah::desc() returns tibble used arrange.data_request() arrange rows query. galah::unnest() returns object class metadata_request.","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Non-generic tidyverse functions — tidyverse_functions","text":"following functions included: desc() (dplyr): Use within arrange() specify arrangement descending unnest() (tidyr): Use 'drill ' nested information fields, lists, profiles, taxa galah versions use lazy evaluation.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Non-generic tidyverse functions — tidyverse_functions","text":"","code":"if (FALSE) { # Arrange grouped record counts by descending year galah_call() |> identify(\"perameles\") |> filter(year > 2019) |> count() |> arrange(galah::desc(year)) |> collect() # Return values of field `basisOfRecord` request_metadata() |> galah::unnest() |> filter(field == basisOfRecord) |> collect() # Using `galah::unnest()` in this way is equivalent to: show_all(fields, \"basisOfRecord\") |> show_values() }"},{"path":[]},{"path":"https://galah.ala.org.au/news/index.html","id":"object-oriented-programming-2-0-0","dir":"Changelog","previous_headings":"","what":"Object-oriented programming","title":"galah 2.0.0","text":"galah 2.0.0 now built around object-oriented programming principles. architectural change makes query building galah modular transparent. result, galah 2.0.0 allows easier debugging gives users options advanced query building (information, see “Object-oriented programming” vignette galah website) (#183).","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"collapse-compute-collect-2-0-0","dir":"Changelog","previous_headings":"","what":"collapse(), compute(), collect()","title":"galah 2.0.0","text":"New underlying architecture behind every function pings API galah separates query building 3 stages: Convert object query_set lists APIs pinged (collapse()), send queries required APIs (compute()), return data tibble (collect()) (#183). New architecture solves timing-issue downloading large numbers records (#180, #192) galah_filter(), galah_select() related functions now evaluated lazily; API calls made compute() called, meaning earlier programming stages faster easier debug.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"major-improvements-to-galah_filter-2-0-0","dir":"Changelog","previous_headings":"","what":"Major improvements to galah_filter()","title":"galah 2.0.0","text":"galah_filter() upgraded use hierarchical parsing architecture suggested Advanced R. result, galah_filter() faster evaluates expressions consistently (#196, #169) galah_filter() now supports .na, !, c() & %% (#196)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-2-0-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 2.0.0","text":"potions package underlies galah_config() better options management (#193) Addition slice_head() desc() masked functions use galah atlas_counts() query. New vignettes added advanced taxonomic, spatial temporal filtering (#42)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-2-0-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 2.0.0","text":"Fixed parsing | galah_filter() (#169) show_values() errors nicely API (#184) Sporadic atlas$region error loading galah fixed potions package implementation (#178) DOI longer missing attribute atlas_occurrences(mint_doi = TRUE) (#182) Fixed bug order fields group_by() sometimes caused error (#201) Fixed parsing ampersands (&) query results (#203) galah builds correct data_request object wrapped function (#207)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-154","dir":"Changelog","previous_headings":"","what":"galah 1.5.4","title":"galah 1.5.4","text":"CRAN release: 2023-10-14 Patch release fix minor issues devel systems CRAN.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-153","dir":"Changelog","previous_headings":"","what":"galah 1.5.3","title":"galah 1.5.3","text":"CRAN release: 2023-07-01 Minor release address CRAN issues. Last release 2.0.0.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-152","dir":"Changelog","previous_headings":"","what":"galah 1.5.2","title":"galah 1.5.2","text":"CRAN release: 2023-03-10 Minor release resolve issues CRAN, recent bugs.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.5.2","text":"Prevent error providing tibble input search_taxa() (e.g., resolve homonyms, #168) Better error message email address required, given (#179) Add informative message users call galah_select() atlas = GBIF (supported; #181) Ensure DOIs added downloads requested (#182) Improve tests avoid flagging issues CRAN one atlases (#184) Resolve problem queries replaced ... galah_filter() (#186)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-151","dir":"Changelog","previous_headings":"","what":"galah 1.5.1","title":"galah 1.5.1","text":"CRAN release: 2023-01-13","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"mask-function-names-from-other-packages-1-5-1","dir":"Changelog","previous_headings":"","what":"Mask function names from other packages","title":"galah 1.5.1","text":"experimental feature version 1.5.1 ability call functions packages (#161), synonyms galah_ functions. : identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() count() (dplyr) synonym atlas_counts() implemented S3 methods objects class data_request, created galah_call(). Hence new function names work piped galah_call().","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"experimental-support-for-gbif-queries-1-5-1","dir":"Changelog","previous_headings":"","what":"Experimental support for GBIF queries","title":"galah 1.5.1","text":"Global Biodiversity Information Facility (GBIF) umbrella organisation atlases supply data. Hence logical able query GBIF ’s “nodes” (.e. living atlases) via common API. Supported functions : search_taxa galah_identify name matching show_all(fields) show_all(assertions) show_all() calls give ‘collections’ information limited 20 records default, GBIF datasets often huge. search_all() generally reliable show_values() GBIF field galah_filter galah_group_by (therefore filter group_by(), see ), galah_select. atlas_counts() (therefore count(), see ) atlas_occurrences() & atlas_species(); implemented via ‘downloads’ system, meaning queries can larger, may slow current implementation experimental back-end changes expected future. Users require stable implementation use {rgbif} package.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-5-1","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.5.1","text":"galah_config() gains print function, now uses fuzzy matching atlas field match region, organisation acronym (defined show_all(atlases)). example use case match organisations via acronyms, e.g. galah_config(atlas = \"ALA\"). Improved support data Spain via gbif.es (name-matching, lists, spatial) Swapped provider data France; formerly gbif.fr, now OpenObs, per advice maintainers Reading data disk now uses readr::read_csv place utils::read.csv improved speed show_all (associated sub-functions) gain limit argument, set NULL (.e. limit) default galah longer imports data.table, since function previously used package (rbindlist) duplicated dplyr::bind_rows Help files now built without markdown improved speed (mainly building)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-1","dir":"Changelog","previous_headings":"","what":"Bug fixes:","title":"galah 1.5.1","text":"New function url_paginate() handle cases pagination needed, total data length unknown (e.g. show_all_lists(), #170). galah_select(group = \"assertions\") always enacted properly atlas_occurrences, won’t lead overly long urls (#137). called without field names, recordID added avoid triggering ‘default’ set columns. atlas_species works minor changes API; requires registered email function","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-150","dir":"Changelog","previous_headings":"","what":"galah 1.5.0","title":"galah 1.5.0","text":"CRAN release: 2022-10-27","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"expanded-support-for-querying-other-international-living-atlases-1-5-0","dir":"Changelog","previous_headings":"","what":"Expanded support for querying other International Living Atlases","title":"galah 1.5.0","text":"Support complex queries 10 Living Atlases, including France, Guatemala Sweden. Complex queries can constructed using galah_call(), filtered galah_ functions, downloaded atlas_ functions. Previously, functionality possible queries ALA (#126)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"collect_media-1-5-0","dir":"Changelog","previous_headings":"","what":"collect_media()","title":"galah 1.5.0","text":"Show available media: atlas_media() returns tibble available media files Download media: collect_media() downloads list media atlas_media() local machine Download image thumbnails specifying type = \"thumbnails\" collect_media() (#140)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"updates-to-galah_geolocate-1-5-0","dir":"Changelog","previous_headings":"","what":"Updates to galah_geolocate()","title":"galah 1.5.0","text":"galah_geolocate() now supports filtering queries using polygons bounding boxes. Overall improvements bug fixes galah_geolocate() new internal functions galah_polygon() galah_bbox() (#125)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"show_all-search_all--show_values-search_values-1-5-0","dir":"Changelog","previous_headings":"","what":"show_all(), search_all() & show_values(), search_values()","title":"galah 1.5.0","text":"Experimental functions show_all() search_all() flexible look-functions can search information {galah}, rather separate search_/show_all_ functions (e.g. search_fields(), search_atlases(), show_all_fields(), show_all_reasons(), etc) (#127, #132) Added look-support collections, data providers, data resources, licenses, APIs species lists (e.g. list endangered species) (#126, #127, #132, #151) Checking valid values within fields, profiles species lists improved functions show_values() & search_values() (#131)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-5-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.5.0","text":"Apply data quality profiles pipe galah_apply_profile() function (#130) Improved internal consistency galah_ functions (#133) galah_geolocate() longer depends archived {wellknown} package (#141) Added support queries exclude/include missing values (e.g. galah_filter(species != \"\") galah_filter(species == \"\") (#143) Re-download previously-minted DOI collect_doi() (#140) checks ensure galah fails gracefully API fails (#157)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.5.0","text":"galah_select() longer adds “basic” group columns automatically (#128) galah_config() doesn’t display incorrect preserve = TRUE message (#136) Fixes error selecting assertion columns galah_select() (#137) atlas_counts() atlas_occurrences() longer return different record numbers field empty (#138) atlas_media() results longer differ results returned galah_filter() & atlas_counts() (#151)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-140","dir":"Changelog","previous_headings":"","what":"galah 1.4.0","title":"galah 1.4.0","text":"CRAN release: 2022-01-24","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"revamped-syntax-1-4-0","dir":"Changelog","previous_headings":"","what":"Revamped syntax","title":"galah 1.4.0","text":"ala_ functions renamed use prefix atlas_. change reflects functionality international atlases (.e., atlas_occurrences, atlas_counts, atlas_species, atlas_media, atlas_taxonomy, atlas_citation) (#103) select_taxa replaced 3 functions: galah_identify, search_taxa search_identifiers. galah_identify used building data queries, whereas search_taxa search_identifiers now exclusively used search taxonomic information. Syntax changes intended reflect usage expected output (#112, #122) select_ functions renamed use prefix galah_. Specifically, galah_filter, galah_select galah_geolocate replace select_filters, select_columns select_locations. syntax changes reflect move towards consistency dplyr naming functionality (#101, #108) find_ functions provide listing possible values renamed show_all_ (.e., show_all_profiles, show_all_ranks, show_all_atlases, show_all_cached_files, show_all_fields, show_all_reasons). find_ functions require input return specific results renamed search_ (.e., search_field_values, search_profile_attributes) (#112, #113)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_group_by-1-4-0","dir":"Changelog","previous_headings":"","what":"galah_group_by","title":"galah 1.4.0","text":"Group fields using galah_group_by(), groups summarises record counts based categorical field values, similar dplyr::group_by() (#90, #95)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_down_to-1-4-0","dir":"Changelog","previous_headings":"","what":"galah_down_to","title":"galah 1.4.0","text":"Select taxonomic level taxonomic tree go galah_down_to() + atlas_taxonomy(), uses tidy evaluation like galah_ functions (#101, #120)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"pipe-queries-using-galah_call-1-4-0","dir":"Changelog","previous_headings":"","what":"Pipe queries using galah_call","title":"galah 1.4.0","text":"Build data queries using piping syntax (.e., |>, %>%) first using galah_call(), narrowing queries galah_ functions finishing queries atlas_ function (#60, #120). S3 methods now implemented functions allow piping (#40)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-4-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.4.0","text":"Improved error messages using {glue} {rlang} (#117) Revamped syntax functions return output tibbles (#110, #118) Pass vectors galah_filter (#91, #92) Cache valid fields faster field look (#73, #116) New vignettes updated syntax (#104, #105), plus improvements previous vignettes. Updated R Markdown-style documentation added warnings deprecated functions (#113, #121)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-4-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.4.0","text":"galah longer returns error ALA system /API fails (#102, #119) search_taxa returns correct IDs search terms parentheses (#96) search_taxa returns best-fit taxonomic result ranks specified data.frame tibble (#115)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-131","dir":"Changelog","previous_headings":"","what":"galah 1.3.1","title":"galah 1.3.1","text":"CRAN release: 2021-08-21","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"search_taxonomy-renamed-to-ala_taxonomy-1-3-1","dir":"Changelog","previous_headings":"","what":"search_taxonomy() renamed to ala_taxonomy()","title":"galah 1.3.1","text":"bug fix: ala_taxonomy longer fails nodes ranked informal unranked (#86) function now returns tree built using data.tree package change function name required greater consistency data-providing functions galah","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"vignettes-1-3-1","dir":"Changelog","previous_headings":"","what":"Vignettes","title":"galah 1.3.1","text":"vignettes now pre-compiled avoid failing CRAN (#85) expanded vignette navigating taxonomic information (#42)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-130","dir":"Changelog","previous_headings":"","what":"galah 1.3.0","title":"galah 1.3.0","text":"CRAN release: 2021-08-06","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_config-1-3-0","dir":"Changelog","previous_headings":"","what":"galah_config()","title":"galah 1.3.0","text":"ala_config() renamed galah_config() improve internal consistency (#68)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"search_taxonomy-1-3-0","dir":"Changelog","previous_headings":"","what":"search_taxonomy()","title":"galah 1.3.0","text":"search_taxonomy() provides means search taxonomic names check results ‘correct’ proceeding download data via ala_occurrences(), ala_species() ala_counts() (e.g., ambiguous homonymous) (#64 #75) search_taxonomy() returns information author authority taxonomic names (#79) search_taxonomy() consistently orders column names, including correct taxonomic order rank (#81)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"caching-helper-functions-1-3-0","dir":"Changelog","previous_headings":"","what":"Caching helper functions","title":"galah 1.3.0","text":"find_cached_files() lists user cached files stored metadata (#57) clear_cached_files() removes previously cached files stored metadata (#71) ala_counts(), ala_occurrences(), ala_media() ala_species() now refresh_cache argument remove previously cached files replace current query (#71)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-3-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.3.0","text":"Cache files saved RDS format, making query attributes easier find, including data DOI, search url (#55, #32, #28) ala_media() caches media metadata galah_config(caching = TRUE) search_fields() allows user pass qid argument (#59) Users can now optionally skip filter count validation checks spatial biocache web services setting galah_config(run_checks = FALSE). helps users avoid slowing data request download speeds many requests made quick succession via galah_filter() ala_occurrences() (#61, #80) ala_counts(), select_columns() search_fields() now use match.arg approximate strings fuzzy matching (#66) Better handling cache errors improved error messages (#70)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-3-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.3.0","text":"select_columns(group = 'assertions') now sends qa = includeall ALA web service API return assertion columns (#48) ala_occurrences() returns data DOI ala_occurrences(mint_doi = TRUE) re-downloads data called multiple times (#56) ala_occurrences() longer converts field names -CAPS camelCase (#62)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-120","dir":"Changelog","previous_headings":"","what":"galah 1.2.0","title":"galah 1.2.0","text":"CRAN release: 2021-07-02","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"living-atlases-1-2-0","dir":"Changelog","previous_headings":"","what":"Living Atlases","title":"galah 1.2.0","text":"ala_config() allows users specify international Atlas download data (#21)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-2-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.2.0","text":"ala_media() includes file path downloaded media returned metadata (#22) Data returned ala_occurrences() contains search_url used download records; takes user website search page (#32) ala_species() provides helpful error species found (#39) Data quality filters created using specific web service argument, rather constructing filters attributes (#37) select_taxa() optional all_ranks argument return intermediate rank information (#35)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-2-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.2.0","text":"R > 4.0.0 now required (#43, #45) select_taxa() behaves expected character strings 32 36 characters provided (#23) Caching functionality ala_occurrences() uses columns expected (#30) galah_filter() negates assertion filters required, fixing issue assertion values ignored (#27) select_taxa() longer throws error queries one term differing number columns return value (#41) ala_counts() returns data.frame consistent column classes group_by parameter called multiple times ala_config(caching = TRUE) (#47) ala_ functions fail gracefully non-id character string passed (#49)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-110","dir":"Changelog","previous_headings":"","what":"galah 1.1.0","title":"galah 1.1.0","text":"CRAN release: 2021-05-05","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"downloading-media-1-1-0","dir":"Changelog","previous_headings":"","what":"Downloading media","title":"galah 1.1.0","text":"ala_media() now takes select_ arguments ala_ functions (#18) Filtering media metadata e.g. licence type possible (#19) search_fields now media type argument option Performance improvement download times (#13) Progress bar displayed downloads verbose == TRUE (#8) media download types supported","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"select_-functions-1-1-0","dir":"Changelog","previous_headings":"","what":"select_ functions","title":"galah 1.1.0","text":"galah_location auto-detects type argument provided takes single argument, query, place sf wkt (#17) select_taxa auto-detects type argument provided takes single argument, query, place term term_type (#16)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-1-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.1.0","text":"Provide useful error message empty occurrence download (#7) ala_counts uses group_by field name returned data.frame column name (#6) ala_occurrences sends sourceId parameter ALA (#5) search_fields provides helpful error invalid types (#11)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-100","dir":"Changelog","previous_headings":"","what":"galah 1.0.0","title":"galah 1.0.0","text":"CRAN release: 2021-04-06 First version galah, built earlier functionality ALA4R package.","code":""}] +[{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"set-organisation","dir":"Articles","previous_headings":"","what":"Set Organisation","title":"Choosing an atlas","text":"Set atlas want use changing atlas argument galah_config(). atlas argument can accept full name, acronym, region select given atlas, available via show_all(atlases). value provided, automatically update galah’s server configuration selected atlas. default atlas Australia. intend download records, may need register user profile relevant atlas first.","code":"galah_config(atlas = \"GBIF.es\", email = \"your_email_here\")"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"look-up-information","dir":"Articles","previous_headings":"","what":"Look up Information","title":"Choosing an atlas","text":"can use look-functions find useful information Atlas set. Available information may vary Living Atlas.","code":"galah_config(atlas = \"Guatemala\") ## Atlas selected: Sistema Nacional de Información sobre Diversidad Biológica de Guatemala ## (SNIBgt) [Guatemala] show_all(datasets) ## # A tibble: 1,283 × 3 ## id name uri ## ## 1 dr1440 A catalogue of the Heteroptera (Hemiptera) or true bugs of Argentina http… ## 2 dr1436 A cybercatalogue of American sand fly types (Diptera, Psychodidae, Phleboto… http… ## 3 dr1226 A distinctive new species of biting midge in the subgenus Euprojoannisia Br… http… ## 4 dr321 A Distribution and Taxonomic Reference Dataset of Geranium (Geraniaceae) in… http… ## 5 dr1285 A geographic distribution database of the cassava whitefly complex (Hemipte… http… ## 6 dr12 A global database for the distributions of crop wild relatives http… ## 7 dr467 A matrix-based revision of the genus Hypogena Dejean, 1834 (Coleoptera Tene… http… ## 8 dr1061 A Monographic Revision of the Genus Hoplopyga Thomson, 1880 (Coleoptera: Sc… http… ## 9 dr1570 A new Anomiopus Westwood (Coleoptera: Scarabaeidae: Scarabaeinae) from the … http… ## 10 dr1177 A new Central American genus of pleasing fungus beetles (Coleoptera: Erotyl… http… ## # ℹ 1,273 more rows show_all(fields) ## # A tibble: 128 × 3 ## id description type ## ## 1 all_image_url fields ## 2 assertion_user_id Assertions by user fields ## 3 assertions Record issues fields ## 4 assertions_missing fields ## 5 assertions_passed fields ## 6 assertions_unchecked fields ## 7 basis_of_record Record type fields ## 8 catalogue_number Catalogue Number fields ## 9 cl10011 fields ## 10 class Class fields ## # ℹ 118 more rows search_all(fields, \"year\") ## # A tibble: 2 × 3 ## id description type ## ## 1 year Year fields ## 2 occurrence_year Date (by decade) fields search_taxa(\"lagomorpha\") ## # A tibble: 1 × 8 ## search_term scientific_name taxon_concept_id rank kingdom phylum class order ## ## 1 lagomorpha Lagomorpha 785 order Animalia Chordata Mammalia Lagomorpha"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"download-data","dir":"Articles","previous_headings":"","what":"Download data","title":"Choosing an atlas","text":"can build queries normally galah. taxonomic queries, use search_taxa() make sure searches returning correct taxonomic data. Download species occurrence records atlases atlas_occurrences()","code":"galah_config(atlas = \"United Kingdom\") ## Atlas selected: National Biodiversity Network (NBN) [United Kingdom] search_taxa(\"vlps\") # Returns no data due to misspelling ## # A tibble: 0 × 0 search_taxa(\"vulpes\") # Returns data ## # A tibble: 1 × 12 ## search_term scientific_name scientific_name_author…¹ taxon_concept_id rank kingdom phylum ## ## 1 vulpes Vulpes Frisch, 1775 NBNSYS0000138878 genus Animal… Chord… ## # ℹ abbreviated name: ¹​scientific_name_authorship ## # ℹ 5 more variables: class , order , family , genus , superclass galah_call() |> galah_identify(\"vulpes\") |> galah_filter(year > 2010) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 123736 galah_config(atlas = \"Guatemala\") ## Atlas selected: Sistema Nacional de Información sobre Diversidad Biológica de Guatemala ## (SNIBgt) [Guatemala] galah_call() |> galah_identify(\"Lagomorpha\") |> galah_filter(year <= 1980) |> galah_select(taxon_name, year) |> atlas_occurrences() ## # A tibble: 4 × 2 ## scientificName year ## ## 1 Erinnyis ello subsp. ello 1973 ## 2 Aellopos titan Burmeister, 1856 1971 ## 3 Manduca rustica Fabricius, 1775 1930 ## 4 Manduca rustica Fabricius, 1775 1930"},{"path":"https://galah.ala.org.au/articles/choosing_an_atlas.html","id":"complex-queries-with-multiple-atlases","dir":"Articles","previous_headings":"","what":"Complex queries with multiple Atlases","title":"Choosing an atlas","text":"also possible create complex queries return data multiple Living Atlases. example, setting atlases within loop galah_config() purrr::map() allows us return total number species records Living Atlas one table.","code":"library(purrr) library(tibble) library(dplyr) library(gt) atlases <- show_all(atlases) counts <- map(atlases$region, function(x){ galah_config(atlas = x) atlas_counts() }) atlases |> select(region, institution) |> bind_cols(bind_rows(counts)) |> arrange(desc(count)) |> gt() |> fmt_number(column = count)"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"record-counts","dir":"Articles","previous_headings":"","what":"Record counts","title":"Download data","text":"atlas_counts() provides summary counts records specified atlas, without needing download records. addition filter arguments, optional group_by argument, provides counts binned requested field.","code":"galah_config(atlas = \"Australia\") # Total number of records in the ALA atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 131963195 galah_call() |> galah_group_by(kingdom) |> atlas_counts() ## # A tibble: 11 × 2 ## kingdom count ## ## 1 Animalia 101176164 ## 2 Plantae 26026027 ## 3 Fungi 2285235 ## 4 Chromista 1020325 ## 5 Protista 352282 ## 6 Bacteria 113165 ## 7 Eukaryota 8821 ## 8 Protozoa 4716 ## 9 Archaea 4120 ## 10 Virus 2306 ## 11 Viroid 103"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"species-lists","dir":"Articles","previous_headings":"","what":"Species lists","title":"Download data","text":"common use case atlas data identify species occur specified region, time period, taxonomic group. atlas_species() similar search_taxa, returns taxonomic information unique identifiers tibble. differs able return information taxonomic levels species; also flexible supporting filtering:","code":"species <- galah_call() |> galah_identify(\"Rodentia\") |> galah_filter(stateProvince == \"Northern Territory\") |> atlas_species() species |> head() ## # A tibble: 6 × 10 ## kingdom phylum class order family genus species author species_guid vernacular_name ## ## 1 Animalia Chordata Mammalia Roden… Murid… Pseu… Pseudo… (Goul… https://bio… Delicate Mouse ## 2 Animalia Chordata Mammalia Roden… Murid… Mese… Mesemb… (J.E.… https://bio… Black-footed T… ## 3 Animalia Chordata Mammalia Roden… Murid… Zyzo… Zyzomy… (Thom… https://bio… Common Rock-rat ## 4 Animalia Chordata Mammalia Roden… Murid… Pseu… Pseudo… (Wait… https://bio… Sandy Inland M… ## 5 Animalia Chordata Mammalia Roden… Murid… Melo… Melomy… (Rams… https://bio… Grassland Melo… ## 6 Animalia Chordata Mammalia Roden… Murid… Noto… Notomy… Thoma… https://bio… Spinifex Hoppi…"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"occurrence-data","dir":"Articles","previous_headings":"","what":"Occurrence data","title":"Download data","text":"download occurrence data need specify email galah_config(). email must associated active ALA account. See information config section Download occurrence records Eolophus roseicapilla","code":"galah_config(email = \"your_email@email.com\", atlas = \"Australia\") occ <- galah_call() |> galah_identify(\"Eolophus roseicapilla\") |> galah_filter( stateProvince == \"Australian Capital Territory\", year >= 2010, profile = \"ALA\" ) |> galah_select(institutionID, group = \"basic\") |> atlas_occurrences() ## Retrying in 1 seconds. ## Retrying in 2 seconds. ## Retrying in 4 seconds. occ |> head() ## # A tibble: 6 × 9 ## recordID scientificName taxonConceptID decimalLatitude decimalLongitude ## ## 1 0000a928-d756-42eb-8058-6f… Eolophus rose… https://biodi… -35.6 149. ## 2 0001bc78-d2e9-48aa-8b9d-d6… Eolophus rose… https://biodi… -35.2 149. ## 3 0002064f-08ea-425b-97c5-26… Eolophus rose… https://biodi… -35.3 149. ## 4 00022dd2-9f85-4802-b837-7f… Eolophus rose… https://biodi… -35.3 149. ## 5 0002cc35-8d5a-4d20-8012-12… Eolophus rose… https://biodi… -35.3 149. ## 6 00030a8c-082f-44f0-898a-ad… Eolophus rose… https://biodi… -35.3 149. ## # ℹ 4 more variables: eventDate , occurrenceStatus , dataResourceName , ## # institutionID "},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"media-metadata","dir":"Articles","previous_headings":"","what":"Media metadata","title":"Download data","text":"addition text data describing individual occurrences attributes, ALA stores images, sounds videos associated given record. Metadata records can downloaded R using atlas_media() set filters data download functions. actually download media files computer, use [collect_media()].","code":"media_data <- galah_call() |> galah_identify(\"Eolophus roseicapilla\") |> galah_filter( year == 2020, cl22 == \"Australian Capital Territory\") |> atlas_media() ## Retrying in 1 seconds. media_data |> head() ## # A tibble: 6 × 19 ## media_id recordID scientificName taxonConceptID decimalLatitude decimalLongitude ## ## 1 ff8322d0-f44c-47a… 003a192… Eolophus rose… https://biodi… -35.3 149. ## 2 c66fc819-7022-44f… 015ee7c… Eolophus rose… https://biodi… -35.4 149. ## 3 fe6d7b94-9e61-4ac… 05e86b7… Eolophus rose… https://biodi… -35.4 149. ## 4 2f4d32c0-a084-4bb… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## 5 73407414-0707-429… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## 6 89171c49-5a64-423… 063bb0f… Eolophus rose… https://biodi… -35.6 149. ## # ℹ 13 more variables: eventDate , occurrenceStatus , dataResourceName , ## # multimedia , images , videos , sounds , creator , ## # license , mimetype , width , height , image_url "},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"taxonomic-trees","dir":"Articles","previous_headings":"","what":"Taxonomic trees","title":"Download data","text":"atlas_taxonomy provides way build taxonomic trees one clade another using service’s internal taxonomy. Specify taxonomic level tree go galah_filter() using rank argument.","code":"galah_call() |> galah_identify(\"chordata\") |> galah_filter(rank == class) |> atlas_taxonomy() ## # A tibble: 19 × 4 ## name rank parent_taxon_concept_id taxon_concept_id ## ## 1 Chordata phylum https://biodive… ## 2 Cephalochordata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 3 Tunicata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 4 Appendicularia class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 5 Ascidiacea class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 6 Thaliacea class https://biodiversity.org.au/afd/taxa/1c20ed62… https://biodive… ## 7 Vertebrata subphylum https://biodiversity.org.au/afd/taxa/065f1da4… https://biodive… ## 8 Agnatha informal https://biodiversity.org.au/afd/taxa/5d6076b1… https://biodive… ## 9 Myxini informal https://biodiversity.org.au/afd/taxa/66db22c8… https://biodive… ## 10 Petromyzontida informal https://biodiversity.org.au/afd/taxa/66db22c8… https://biodive… ## 11 Gnathostomata informal https://biodiversity.org.au/afd/taxa/5d6076b1… https://biodive… ## 12 Amphibia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 13 Aves class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 14 Mammalia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 15 Pisces informal https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive… ## 16 Actinopterygii class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 17 Chondrichthyes class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 18 Sarcopterygii class https://biodiversity.org.au/afd/taxa/e22efeb4… https://biodive… ## 19 Reptilia class https://biodiversity.org.au/afd/taxa/ef5515fd… https://biodive…"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"configuring-galah","dir":"Articles","previous_headings":"","what":"Configuring galah","title":"Download data","text":"Various aspects galah package can customized.","code":""},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"email","dir":"Articles","previous_headings":"Configuring galah","what":"Email","title":"Download data","text":"download occurrence records, need provide email address registered service want use (e.g. ALA can create account ). email registered, stored config:","code":"galah_config(email = \"myemail@gmail.com\")"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"setting-your-directory","dir":"Articles","previous_headings":"Configuring galah","what":"Setting your directory","title":"Download data","text":"default, galah stores downloads temporary folder, meaning local files automatically deleted R session ended. behaviour can altered downloaded files preserved setting directory non-temporary location.","code":"galah_config(directory = \"example/dir\")"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"setting-the-download-reason","dir":"Articles","previous_headings":"Configuring galah","what":"Setting the download reason","title":"Download data","text":"ALA requires provide reason downloading occurrence data (via galah atlas_occurrences() function). reason set “scientific research” default, can change using galah_config(). See show_all_reasons() valid download reasons.","code":"galah_config(download_reason_id = your_reason_id)"},{"path":"https://galah.ala.org.au/articles/download_data.html","id":"debugging","dir":"Articles","previous_headings":"Configuring galah","what":"Debugging","title":"Download data","text":"things aren’t working expected, detail (particularly web requests caching behaviour) can obtained setting verbose configuration option:","code":"galah_config(verbose = TRUE)"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_all-search_all","dir":"Articles","previous_headings":"","what":"show_all() & search_all()","title":"Look up information","text":"galah 1.5.0, two simplified functions look information: show_all() search_all(). individual functions able return types information one place, rather using specific sub-functions look information. example, show available Living Atlases supported: search specific available Living Atlas: show fields: search specific field: list information types can used show_all() search_all():","code":"show_all(atlases) ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA http… ## 2 Austria Biodiversitäts-Atlas Österreich BAO http… ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr http… ## 4 Estonia eElurikkus http… ## 5 France Portail français d'accès aux données d'observation sur les … OpenObs http… ## 6 Global Global Biodiversity Information Facility GBIF http… ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica … SNIBgt http… ## 8 Portugal GBIF Portugal GBIF.pt http… ## 9 Spain GBIF Spain GBIF.es http… ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI http… ## 11 United Kingdom National Biodiversity Network NBN http… search_all(atlases, \"Spain\") ## # A tibble: 1 × 4 ## region institution acronym url ## ## 1 Spain GBIF Spain GBIF.es https://www.gbif.es show_all(fields) ## # A tibble: 646 × 3 ## id description type ## ## 1 _nest_parent_ fields ## 2 _nest_path_ fields ## 3 _root_ fields ## 4 abcdTypeStatus fields ## 5 acceptedNameUsage Accepted name fields ## 6 acceptedNameUsageID Accepted name fields ## 7 accessRights Access rights fields ## 8 annotationsDoi fields ## 9 annotationsUid Referenced by publication fields ## 10 assertionUserId Assertions by user fields ## # ℹ 636 more rows search_all(fields, \"australian states\") ## # A tibble: 2 × 3 ## id description type ## ## 1 cl2013 ASGS Australian States and Territories fields ## 2 cl22 Australian States and Territories fields"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_all_-subfunctions","dir":"Articles","previous_headings":"","what":"show_all_ subfunctions","title":"Look up information","text":"show_all useful variety cases, can still call underlying subfunctions prefer. functions - prefix show_all_ - return tibble exactly ; showing possible values category specified. functions include: show_all_fields show_all_atlases show_all_ranks show_all_profiles show_all_reasons show_all_ functions require arguments. Simply call function return accepted values tibble:","code":"show_all_atlases() ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA http… ## 2 Austria Biodiversitäts-Atlas Österreich BAO http… ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr http… ## 4 Estonia eElurikkus http… ## 5 France Portail français d'accès aux données d'observation sur les … OpenObs http… ## 6 Global Global Biodiversity Information Facility GBIF http… ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica … SNIBgt http… ## 8 Portugal GBIF Portugal GBIF.pt http… ## 9 Spain GBIF Spain GBIF.es http… ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI http… ## 11 United Kingdom National Biodiversity Network NBN http… show_all_reasons() ## # A tibble: 13 × 2 ## id name ## ## 1 1 biosecurity management/planning ## 2 11 citizen science ## 3 5 collection management ## 4 0 conservation management/planning ## 5 7 ecological research ## 6 3 education ## 7 2 environmental assessment ## 8 12 restoration/remediation ## 9 4 scientific research ## 10 8 systematic research/taxonomy ## 11 13 species modelling ## 12 6 other ## 13 10 testing"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"search_-subfunctions","dir":"Articles","previous_headings":"","what":"search_ subfunctions","title":"Look up information","text":"second subset lookup subfunctions use search_ prefix, differ show_all_ require query work. used search detailed information can’t summarised across whole atlas, include: search_taxa search_identifiers search_fields show_values Search single taxon multiple taxa name search_taxa. Alternatively, search_identifiers partner function search_taxa. already know taxonomic identifier, can search taxa identifier belongs search_identifiers: Sifting output show_all_fields find specific field can inefficient. Instead, might wish use search_fields look specific fields match search. search_taxa, search_fields requires query work.","code":"search_taxa(\"reptilia\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_taxa(\"reptilia\", \"aves\", \"mammalia\", \"pisces\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_identifiers(\"urn:lsid:biodiversity.org.au:afd.taxon:682e1228-5b3c-45ff-833b-550efd40c399\") ## # A tibble: 1 × 15 ## search_term success scientific_name taxon_concept_id rank rank_id lft rgt match_type ## ## 1 urn:lsid:bi… TRUE REPTILIA https://biodive… class 3000 46718 49924 taxonIdMa… ## # ℹ 6 more variables: kingdom , kingdom_id , phylum , phylum_id , ## # class , class_id search_fields(\"date\") |> head() ## # A tibble: 6 × 3 ## id description type ## ## 1 eventDate Event Date fields ## 2 lastLoadDate lastLoadDate fields ## 3 datePrecision Date precision fields ## 4 eventDateEnd fields ## 5 dateIdentified Date Identified fields ## 6 raw_eventDate fields"},{"path":"https://galah.ala.org.au/articles/look_up_information.html","id":"show_values-search_values","dir":"Articles","previous_headings":"","what":"show_values() & search_values()","title":"Look up information","text":"desired field found, can use show_values understand information contained within field, e.g. provides information need pass meaningful queries galah_filter. works types query, data profiles:","code":"search_all(fields, \"basis\") |> show_values() ## ! Search returned 2 matched fields. ## • Showing values for 'basisOfRecord'. ## # A tibble: 9 × 1 ## basisOfRecord ## ## 1 Human observation ## 2 Preserved specimen ## 3 Observation ## 4 Occurrence ## 5 Machine observation ## 6 Material Sample ## 7 Living specimen ## 8 Material Citation ## 9 Fossil specimen galah_call() |> galah_filter(basisOfRecord == \"LIVING_SPECIMEN\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 126135 search_all(profiles, \"ALA\") |> show_values() |> head() ## • Showing values for 'ALA'. ## # A tibble: 6 × 5 ## id enabled description filter displayOrder ## ## 1 94 TRUE \"Exclude all records where spatial validity is \\\"false\\… \"-spa… 1 ## 2 96 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 1 ## 3 97 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 2 ## 4 98 TRUE \"Exclude all records with an assertion that the name an… \"-ass… 3 ## 5 99 TRUE \"Exclude all records with an assertion that kingdom pro… \"-ass… 4 ## 6 100 TRUE \"Exclude all records with an assertion that the scienti… \"-ass… 5"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_identify-search_taxa","dir":"Articles","previous_headings":"","what":"galah_identify & search_taxa","title":"Narrow your results","text":"Perhaps unsurprisingly, search_taxa searches taxonomic information. uses fuzzy matching work lot like search bar Atlas Living Australia website, can use search taxa scientific name. Finding desired taxon search_taxa important step using taxonomic information download data galah. example, search reptiles, first need identify whether correct query: want specific providing additional taxonomic information search_taxa, can provide tibble (data.frame) containing levels taxonomic hierarchy: know search matches correct taxon taxa, can use galah_identify narrow results queries: ’re using international atlas, search_taxa automatically switch using local name-matching service. example, Portugal uses GBIF taxonomic backbone, integrates seamlessly standard workflow. Conversely, UK’s National Biodiversity Network (NBN), ’ taxonomic backbone, supported using function call.","code":"search_taxa(\"Reptilia\") ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 Reptilia REPTILIA https://biodiver… class exactMatch Animal… Chord… Rept… noIss… search_taxa(tibble(genus = \"Eolophus\", kingdom = \"Aves\")) ## # A tibble: 1 × 13 ## search_term scientific_name scientific_name_authorship taxon_concept_id rank match_type ## ## 1 Eolophus_Aves Eolophus Bonaparte, 1854 https://biodive… genus exactMatch ## # ℹ 7 more variables: kingdom , phylum , class , order , family , ## # genus , issues galah_call() |> galah_identify(\"Reptilia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 1673906 taxa <- search_taxa(tibble(genus = \"Eolophus\", kingdom = \"Aves\")) galah_call() |> galah_identify(taxa) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 1092638 galah_config(atlas = \"Portugal\") ## Atlas selected: GBIF Portugal (GBIF.pt) [Portugal] galah_call() |> galah_identify(\"Lepus\") |> galah_group_by(species) |> atlas_counts() ## # A tibble: 5 × 2 ## species count ## ## 1 Lepus granatensis 1378 ## 2 Lepus microtis 64 ## 3 Lepus europaeus 10 ## 4 Lepus saxatilis 2 ## 5 Lepus capensis 1 galah_config(atlas = \"United Kingdom\") ## Atlas selected: National Biodiversity Network (NBN) [United Kingdom] galah_call() |> galah_filter(genus == \"Bufo\") |> galah_group_by(species) |> atlas_counts() ## # A tibble: 3 × 2 ## species count ## ## 1 Bufo bufo 94054 ## 2 Bufo spinosus 87 ## 3 Bufo marinus 1"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_filter","dir":"Articles","previous_headings":"","what":"galah_filter","title":"Narrow your results","text":"Perhaps important function galah galah_filter, used filter rows queries: find available fields corresponding valid values, use field lookup functions show_all(fields), search_all(fields) & show_values(). Finally, special case galah_filter make complex taxonomic queries possible using search_taxa. using taxonConceptID field, possible build queries exclude certain taxa, example. can useful paraphyletic concepts invertebrates:","code":"galah_config(atlas = \"Australia\") ## Atlas selected: Atlas of Living Australia (ALA) [Australia] # Get total record count since 2000 galah_call() |> galah_filter(year > 2000) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 90503179 # Get total record count for iNaturalist in 2021 galah_call() |> galah_filter( year > 2000, dataResourceName == \"iNaturalist Australia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 5600557 galah_call() |> galah_filter( taxonConceptID == search_taxa(\"Animalia\")$taxon_concept_id, taxonConceptID != search_taxa(\"Chordata\")$taxon_concept_id ) |> galah_group_by(class) |> atlas_counts() ## # A tibble: 30 × 2 ## class count ## ## 1 Insecta 5806340 ## 2 Gastropoda 957271 ## 3 Maxillopoda 793194 ## 4 Arachnida 689708 ## 5 Malacostraca 651658 ## 6 Polychaeta 276272 ## 7 Bivalvia 234110 ## 8 Anthozoa 216343 ## 9 Cephalopoda 145929 ## 10 Demospongiae 118375 ## # ℹ 20 more rows"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_apply_profile","dir":"Articles","previous_headings":"","what":"galah_apply_profile","title":"Narrow your results","text":"working ALA, notable feature ability specify profile remove records suspect way. see full list data quality profiles, use show_all(profiles).","code":"galah_call() |> galah_filter(year > 2000) |> galah_apply_profile(ALA) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 81471797"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_group_by","dir":"Articles","previous_headings":"","what":"galah_group_by","title":"Narrow your results","text":"Use galah_group_by group record counts summarise counts specified fields:","code":"# Get record counts since 2010, grouped by year and basis of record galah_call() |> galah_filter(year > 2015 & year <= 2020) |> galah_group_by(year, basisOfRecord) |> atlas_counts() ## # A tibble: 36 × 3 ## year basisOfRecord count ## ## 1 2020 Human observation 6551035 ## 2 2020 Occurrence 419842 ## 3 2020 Preserved specimen 84136 ## 4 2020 Machine observation 38906 ## 5 2020 Observation 24887 ## 6 2020 Material Sample 1677 ## 7 2020 Living specimen 62 ## 8 2019 Human observation 5730445 ## 9 2019 Occurrence 290610 ## 10 2019 Preserved specimen 165391 ## # ℹ 26 more rows"},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_select","dir":"Articles","previous_headings":"","what":"galah_select","title":"Narrow your results","text":"Use galah_select choose columns returned downloading records: can also use dplyr functions work dplyr::select() galah_select()","code":"# Get *Reptilia* records from 1930, but only 'eventDate' and 'kingdom' columns occurrences <- galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 1930) |> galah_select(kingdom, species, eventDate) |> atlas_occurrences() ## Retrying in 1 seconds. occurrences |> head() ## # A tibble: 6 × 3 ## kingdom species eventDate ## ## 1 Animalia Drysdalia coronoides 1930-06-16 00:00:00 ## 2 Animalia Intellagama lesueurii 1930-01-01 00:00:00 ## 3 Animalia 1930-04-23 00:00:00 ## 4 Animalia 1930-01-01 00:00:00 ## 5 Animalia Oxyuranus scutellatus 1930-01-01 00:00:00 ## 6 Animalia Tympanocryptis centralis 1930-11-30 00:00:00 occurrences <- galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 1930) |> galah_select(starts_with(\"accepted\") | ends_with(\"record\")) |> atlas_occurrences() ## Retrying in 1 seconds. occurrences |> head() ## # A tibble: 6 × 6 ## acceptedNameUsage acceptedNameUsageID basisOfRecord raw_basisOfRecord ## ## 1 NA PRESERVED_SPECIMEN Museum specimen ## 2 NA HUMAN_OBSERVATION HumanObservation ## 3 NA PRESERVED_SPECIMEN PreservedSpecimen ## 4 NA HUMAN_OBSERVATION HumanObservation ## 5 NA PRESERVED_SPECIMEN PreservedSpecimen ## 6 NA HUMAN_OBSERVATION HumanObservation ## # ℹ 2 more variables: OCCURRENCE_STATUS_INFERRED_FROM_BASIS_OF_RECORD , ## # userDuplicateRecord "},{"path":"https://galah.ala.org.au/articles/narrow_your_results.html","id":"galah_geolocate","dir":"Articles","previous_headings":"","what":"galah_geolocate","title":"Narrow your results","text":"Use galah_geolocate specify geographic area region limit search:","code":"# Get list of perameles species only in area specified: # (Note: This can also be specified by a shapefile) wkt <- \"POLYGON((131.36328125 -22.506468769126,135.23046875 -23.396716654542,134.17578125 -27.287832521411,127.40820312499 -26.661206402316,128.111328125 -21.037340349154,131.36328125 -22.506468769126))\" galah_call() |> galah_identify(\"perameles\") |> galah_geolocate(wkt) |> atlas_species() ## # A tibble: 1 × 10 ## kingdom phylum class order family genus species author species_guid vernacular_name ## ## 1 Animalia Chordata Mammalia Peram… Peram… Pera… Perame… Spenc… https://bio… Desert Bandico…"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"masked-functions","dir":"Articles","previous_headings":"","what":"Masked functions","title":"Object-Oriented Programming in galah","text":"default method building queries galah first use galah_call() create query object called data_request. object class specific galah. object class data_request, galah can trigger functions use specific methods object class, even function name used another package. example, users can use filter() group_by() functions dplyr instead galah_filter() galah_group_by() construct query. Consequently, following queries synonymous: Thanks object-oriented programming, galah “masks” filter() group_by() functions use methods defined data_request objects instead. full list masked functions : arrange() (dplyr) count() (dplyr) identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() Note functions evaluated lazily; amend underlying object, amend nature data call evaluated. actually build run query, ’ll need use one different set dplyr verbs: collapse(), compute() collect().","code":"galah_call() |> galah_filter(genus == \"Crinia\") |> class() ## [1] \"data_request\" galah_call() |> galah_filter(genus == \"Crinia\", year == 2020) |> galah_group_by(species) |> atlas_counts() galah_call() |> filter(genus == \"Crinia\", year == 2020) |> group_by(species) |> atlas_counts() ## # A tibble: 16 × 2 ## species count ## ## 1 Crinia signifera 57878 ## 2 Crinia parinsignifera 12478 ## 3 Crinia glauerti 3090 ## 4 Crinia georgiana 1490 ## 5 Crinia remota 784 ## 6 Crinia sloanei 644 ## 7 Crinia insignifera 536 ## 8 Crinia tinnula 417 ## 9 Crinia deserticola 278 ## 10 Crinia pseudinsignifera 235 ## 11 Crinia tasmaniensis 189 ## 12 Crinia bilingua 75 ## 13 Crinia subinsignifera 45 ## 14 Crinia riparia 10 ## 15 Crinia flindersensis 3 ## 16 Crinia nimba 1"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"advanced-query-building","dir":"Articles","previous_headings":"","what":"Advanced query building","title":"Object-Oriented Programming in galah","text":"usual way begin query request data galah using galah_call(). version 2.0, make galah flexible modular, underlying architecture galah_call() divided several types request_ functions. can begin pipe one dedicated request_ functions (rather galah_call()) depending type data want collect. example, want download occurrences, use request_data(): ’ll notice query differs slightly typical query structure users galah familiar . desired data type, \"occurrences\", specified beginning query within request_data() rather end using atlas_occurrences(). Specifying data type start allows users make use advanced query building using three newly implemented stages query building: collapse(), compute() collect(). stages mirror existing functions dplyr querying databases, act following way collapse() converts object query. allows users inspect API calls sent compute() sends queries required APIs. includes sending query data, determining whether field names valid, finding much data requested (necessary pagination) collect() retrieves requested data workspace can use sequence, just leap ahead stage want: benefit using collapse(), compute() collect() queries modular. particularly useful large data requests galah. Users can send query using compute(), download data query finished — downloading collect() later — rather waiting request finish within R. Additionally, functions modular generally easier interrogate debug. Previously functions several different things, making difficult know APIs called, , purpose. Partitioning queries three distinct stages much transparent, allows users check query construction prior sending request. example, query constructed following information, returned collapse(). collapse() stage displays useful information APIs pinged query galah sent using compute().","code":"x <- request_data(\"occurrences\") |> # note that \"occurrences\" is the default `type` filter(species == \"Crinia tinnula\", year == 2010) |> collect() x <- request_data() |> filter(genus == \"Crinia\", year == 2020) |> group_by(species) |> arrange(species) |> count() collapse(x) ## Object of class `query_set` containing 3 queries: ## • metadata/fields data: galah:::check_internal_cache()$fields ## • metadata/assertions data: galah:::check_internal_cache()$assertions ## • data/occurrences-count-groupby url: https://biocache-ws.ala.org.au/ws/occurre... compute(x) ## Object of class query with type data/occurrences-count-groupby ## url: https://biocache-ws.ala.org.au/ws/occurrences/facets?fq=%28genus%3A%22... ## arrange: species (ascending) collect(x) |> head() ## # A tibble: 6 × 2 ## species count ## ## 1 Crinia bilingua 75 ## 2 Crinia deserticola 278 ## 3 Crinia flindersensis 3 ## 4 Crinia georgiana 1490 ## 5 Crinia glauerti 3090 ## 6 Crinia insignifera 536 # Create and send query to be calculated server-side request <- request_data() |> identify(\"perameles\") |> filter(year > 1900) |> compute() # Download data request |> collect() request_data() |> identify(\"perameles\") |> filter(year > 1900) |> collapse() ## Object of class `query_set` containing 5 queries: ## • metadata/fields data: galah:::check_internal_cache()$fields ## • metadata/assertions data: galah:::check_internal_cache()$assertions ## • metadata/reasons url: https://api.ala.org.au/logger/service/logger/reasons ## • metadata/taxa-single url: https://api.ala.org.au/namematching/api/search?q=pe... ## • data/occurrences url: https://biocache-ws.ala.org.au/ws/occurrences/offline/d..."},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"new-object-classes","dir":"Articles","previous_headings":"","what":"New object classes","title":"Object-Oriented Programming in galah","text":"hood, different query-building verbs amend object new class: collapse() returns class query_set, list one query objects compute() returns single object class query collect() doesn’t add new data class (returns class tibble) can called directly, via method type arguments galah_call(), specify dedicated request_ function data type return. demonstrate mean, take following calls, despite using different syntax, return number records available year 2020: Another example list available fields selected atlas: show values states territories: Although little reason use request_metadata() rather show_all() time, cases larger databases like GBIF return huge data.frames metadata. galah allows users use collapse(), compute() collect() types requests, meaning users able download large metadata queries using process detailed “Advanced query building” get around issue.","code":"# new syntax request_data() |> filter(year == 2020) |> count() |> collect() # similar, but using `galah_call()` galah_call(method = \"data\", type = \"occurrences-count\") |> filter(year == 2020) |> collect() # original syntax galah_call() |> galah_filter(year == 2020) |> atlas_counts() request_metadata(type = \"fields\") |> collect() galah_call(method = \"metadata\", type = \"fields\") |> collect() show_all(fields) request_metadata() |> filter(field == \"cl22\") |> unnest() |> collect() galah_call(method = \"metadata\", type = \"fields-unnest\") |> galah_filter(id == \"cl22\") |> collect() search_all(fields, \"cl22\") |> show_values()"},{"path":"https://galah.ala.org.au/articles/object_oriented_programming.html","id":"do-i-need-to-use-advanced-query-building","dir":"Articles","previous_headings":"","what":"Do I need to use advanced query building?","title":"Object-Oriented Programming in galah","text":"Despite benefits, plans require new syntax; functions prefixed galah_ atlas_ going away. Indeed, perfect redundancy old new syntax cases, others serve different purposes. atlas_media() example, several calls made joined way reduces number steps required user. hood, however, atlas_ functions now entirely built using syntax.","code":""},{"path":"https://galah.ala.org.au/articles/piping.html","id":"piping-with-galah_call","dir":"Articles","previous_headings":"","what":"Piping with galah_call()","title":"Piping in galah","text":"may noticed examples dplyr pipes begin data, galah pipes begin galah_call() (sure add parentheses!). function tells galah using pipes construct query. Follow preferred pipe (|> base %>% magrittr). can narrow query line--line using galah_ functions. Finally, end atlas_ function identify type data want query. example using counts bandicoot records: second example, download occurrence records bandicoots 2021, also include information records zero coordinates: Note order galah_ functions added doesn’t matter, long galah_call() goes first, atlas_ function comes last.","code":"galah_call() |> galah_identify(\"perameles\") |> galah_filter(year >= 2020) |> galah_group_by(species, year) |> atlas_counts() ## # A tibble: 15 × 3 ## species year count ## ## 1 Perameles nasuta 2021 3337 ## 2 Perameles nasuta 2020 1573 ## 3 Perameles nasuta 2022 1515 ## 4 Perameles nasuta 2023 625 ## 5 Perameles gunnii 2023 95 ## 6 Perameles gunnii 2021 72 ## 7 Perameles gunnii 2022 64 ## 8 Perameles gunnii 2020 49 ## 9 Perameles bougainville 2021 84 ## 10 Perameles bougainville 2022 72 ## 11 Perameles bougainville 2020 1 ## 12 Perameles pallescens 2022 30 ## 13 Perameles pallescens 2021 25 ## 14 Perameles pallescens 2023 20 ## 15 Perameles pallescens 2020 11 galah_call() |> galah_identify(\"perameles\") |> galah_filter(year == 2021) |> galah_select(group = \"basic\", ZERO_COORDINATE) |> atlas_occurrences() |> head() ## Retrying in 1 seconds. ## # A tibble: 6 × 8 ## recordID decimalLatitude decimalLongitude eventDate scientificName taxonConceptID dataResourceName occurrenceStatus ## ## 1 00108221-afc6-4246-a… -28.8 153. 2021-09-29 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 2 001e914d-0281-41cb-b… -33.8 151. 2021-04-19 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 3 00233c1e-66df-4d9c-8… -33.8 151. 2021-02-27 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 4 003064b3-490a-49b5-a… -27.5 152. 2021-11-05 12:06:00 Perameles nas… https://biodi… iNaturalist Aus… PRESENT ## 5 004fd28b-a899-4a97-8… -33.8 151. 2021-07-24 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT ## 6 0068547b-b091-4a86-8… -33.8 151. 2021-01-28 00:00:00 Perameles nas… https://biodi… NSW BioNet Atlas PRESENT"},{"path":"https://galah.ala.org.au/articles/piping.html","id":"using-dplyr-functions-in-galah","dir":"Articles","previous_headings":"","what":"Using dplyr functions in galah","title":"Piping in galah","text":"version 1.5.1, possible call dplyr functions natively within galah amend queries processed, .e.: full list masked functions : identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() count() (dplyr) synonym atlas_counts()","code":"# galah syntax galah_call() |> galah_filter(year >= 2020) |> galah_group_by(year) |> atlas_counts() ## # A tibble: 4 × 2 ## year count ## ## 1 2022 8353115 ## 2 2021 8204330 ## 3 2020 7116059 ## 4 2023 2997676 # dplyr syntax galah_call() |> filter(year >= 2020) |> group_by(year) |> count() ## Object of type `data_request` containing: ## • type occurrences-count ## • filter year >= 2020 ## • group_by year"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"about","dir":"Articles","previous_headings":"","what":"About","title":"Quick start guide","text":"galah R interface biodiversity data hosted ‘living atlases’; set organisations share common codebase, act nodes Global Biodiversity Information Facility (GBIF). organisations collate store observations individual life forms, using ‘Darwin Core’ data standard. galah enables users locate download species observations, taxonomic information, record counts, associated media images sounds. Users can restrict queries particular taxa locations specifying columns rows returned query, restricting results observations meet particular quality-control criteria. functions return tibble standard format.","code":""},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Quick start guide","text":"install CRAN: install development version GitHub: Load package","code":"install.packages(\"galah\") install.packages(\"remotes\") remotes::install_github(\"AtlasOfLivingAustralia/galah\") library(galah)"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"choosing-an-atlas","dir":"Articles","previous_headings":"","what":"Choosing an atlas","title":"Quick start guide","text":"default, galah downloads information Atlas Living Australia (ALA). show full list Atlases currently supported galah, use show_all(atlases). Use galah_config() set Atlas use. automatically populate server configuration selected Atlas. default, atlas Australia.","code":"show_all(atlases) ## # A tibble: 11 × 4 ## region institution acronym url ## ## 1 Australia Atlas of Living Australia ALA https://www.ala.org.au ## 2 Austria Biodiversitäts-Atlas Österreich BAO https://biodiversityatlas.at ## 3 Brazil Sistemas de Informações sobre a Biodiversidade Brasileira SiBBr https://sibbr.gov.br ## 4 Estonia eElurikkus https://elurikkus.ee ## 5 France Portail français d'accès aux données d'observation sur les espèces OpenObs https://openobs.mnhn.fr/ ## 6 Global Global Biodiversity Information Facility GBIF https://gbif.org ## 7 Guatemala Sistema Nacional de Información sobre Diversidad Biológica de Guatemala SNIBgt https://snib.conap.gob.gt ## 8 Portugal GBIF Portugal GBIF.pt https://www.gbif.pt ## 9 Spain GBIF Spain GBIF.es https://www.gbif.es ## 10 Sweden Swedish Biodiversity Data Infrastructure SBDI https://biodiversitydata.se ## 11 United Kingdom National Biodiversity Network NBN https://nbn.org.uk galah_config(atlas = \"United Kingdom\")"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"building-queries","dir":"Articles","previous_headings":"","what":"Building queries","title":"Quick start guide","text":"Functions return data chosen atlas prefix atlas_; e.g. find total number records atlas, use: pass complex queries, start galah_call() function pipe additional arguments modify query. modifying functions galah_ prefix support non-standard evaluation (NSE). Alternatively, can use subset dplyr verbs pipe queries, assuming start galah_call(). narrow search particular taxonomic group, use galah_identify() identify. Note function accepts scientific names case sensitive. ’s good practice first use search_taxa() check taxa provide returns correct taxonomic results.","code":"galah_config(atlas = \"ALA\") atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 130679056 galah_call() |> galah_filter(year >= 2020) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 26671180 galah_call() |> filter(year >= 2020) |> group_by(year) |> count() |> collect() ## # A tibble: 4 × 2 ## year count ## ## 1 2022 8353115 ## 2 2021 8204330 ## 3 2020 7116059 ## 4 2023 2997676 search_taxa(\"reptilia\") # Check whether taxonomic info is correct ## # A tibble: 1 × 9 ## search_term scientific_name taxon_concept_id rank match_type kingdom phylum class issues ## ## 1 reptilia REPTILIA https://biodiversity.org.au/afd/taxa/682e1228-5b3c-45ff-833b-550… class exactMatch Animal… Chord… Rept… noIss… galah_call() |> galah_filter(year >= 2020) |> galah_identify(\"reptilia\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 214842"},{"path":"https://galah.ala.org.au/articles/quick_start_guide.html","id":"downloading-records","dir":"Articles","previous_headings":"","what":"Downloading records","title":"Quick start guide","text":"common use case galah download ‘occurrence’ records; observations plants animals made contributors atlas. download, first register relevant atlas, provide registration email. GBIF queries, need provide email, username, password registered GBIF. can customise records require query atlas question: Check vignettes detail use functions.","code":"galah_config(email = \"email@email.com\") result <- galah_call() |> galah_identify(\"Litoria\") |> galah_filter(year >= 2020, cl22 == \"Tasmania\") |> galah_select(basisOfRecord, group = \"basic\") |> atlas_occurrences() result |> head() ## # A tibble: 6 × 9 ## recordID decimalLatitude decimalLongitude eventDate scientificName taxonConceptID dataResourceName occurrenceStatus ## ## 1 00250163-ec50-4eda-a… -41.2 147. 2023-08-23 01:49:28 Litoria https://biodi… iNaturalist Aus… PRESENT ## 2 003e0f63-9f95-4af9-b… -42.9 148. 2022-12-23 19:27:00 Litoria ewing… https://biodi… iNaturalist Aus… PRESENT ## 3 00410554-5289-416f-9… -41.7 147. 2021-05-06 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 4 0081e7ef-459b-42a9-8… -43.2 147. 2020-08-02 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 5 0086def1-8415-4bb3-8… -41.2 147. 2020-12-31 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## 6 00b40ee7-074b-4dae-9… -41.5 147. 2020-11-01 00:00:00 Litoria ewing… https://biodi… FrogID PRESENT ## # ℹ 1 more variable: basisOfRecord "},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"contextual-and-spatial-layers","dir":"Articles","previous_headings":"","what":"Contextual and spatial layers","title":"Spatial filtering","text":"Often want filter results commonly defined spatial regions, states, LGAs IBRA/IMCRA regions. ALA contains large range (>100) contextual spatial layers, -built searchable queriable fields. denoted names beginning \"cl\", followed identifying number may 6 digits long. fields based shapefiles, contain names regions layers record lies . strongly recommend using search_fields() check whether contextual layer already exists ALA matches require proceeding methods spatial filtering. fields able queried galah_filter()generally easier use. Suppose interested querying records Red-Necked Avocet (Recurvirostra novaehollandiae) particular protected wetlands, Coorong wetlands South Australia. can search ALA fields wetlands. search identifies layer cl901 seems match looking . can either view possible values field show_values(), search particular field. can filter occurrences exact matches value, \"Lake Eyre\". galah query can built follows:","code":"library(galah) library(tidyverse) library(gt) library(sf) galah_config(email = \"your_email_here\", verbose = FALSE) search_fields(\"wetlands\") ## # A tibble: 1 × 3 ## id description type ## ## 1 cl901 Directory of Important Wetlands fields search_fields(\"cl901\") |> search_values(\"coorong\") ## • Showing values for 'cl901'. ## # A tibble: 1 × 1 ## cl901 ## ## 1 The Coorong, Lake Alexandrina & Lake Albert galah_call() |> galah_identify(\"Recurvirostra novaehollandiae\") |> galah_filter(cl901 == \"The Coorong, Lake Alexandrina & Lake Albert\") |> atlas_occurrences() |> head(5) |> gt::gt() ## Retrying in 1 seconds. ## Retrying in 2 seconds. ## Retrying in 4 seconds."},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"galah_geolocate","dir":"Articles","previous_headings":"","what":"galah_geolocate()","title":"Spatial filtering","text":"server-side spatial information useful, likely cases shapefile region wish query pre-loaded contextual layer ALA. case, shapefiles can introduced filtering process using {sf} package galah_geolocate() function. Shapefiles can provided sf object, whether importing sf::st_read() taking POLYGON MULTIPOLYGON character string transforming sf::st_as_sfc(). instance, might interested species occurrences King George Square, Brisbane. can take MULTIPOLYGON object square (sourced Brisbane City Council) transform sfc sf objects. can provide MULTIPOLYGON filter argument galah_geolocate() assess species recorded King George Square. second argument galah_geolocate() called type, defaults value \"polygon\". setting type argument \"bbox\", provided POLYGON MULTIPOLYGON converted smallest bounding box (rectangle) contains POLYGON. case, records included may exactly lie inside provided shape.","code":"king_george_sq <- \"MULTIPOLYGON(((153.0243 -27.46886, 153.0242 -27.46896, 153.0236 -27.46837, 153.0239 -27.46814, 153.0239 -27.46813, 153.0242 -27.46789, 153.0244 -27.46805, 153.0245 -27.46821, 153.0246 -27.46828, 153.0247 -27.46835, 153.0248 -27.46848, 153.0246 -27.4686, 153.0246 -27.46862, 153.0245 -27.46871, 153.0243 -27.46886)))\" |> sf::st_as_sfc() |> sf::st_as_sf() galah_call() |> galah_filter() |> galah_geolocate(king_george_sq) |> galah_select(decimalLatitude, decimalLongitude, eventDate, scientificName, vernacularName) |> atlas_occurrences() |> head(10) |> gt::gt() galah_call() |> galah_filter() |> galah_geolocate(king_george_sq, type = \"bbox\") |> galah_select(decimalLatitude, decimalLongitude, eventDate, scientificName, vernacularName) |> atlas_occurrences() |> head(10) |> gt::gt() ## Data returned for bounding box: ## xmin = 153.0236 xmax = 153.0248 ymin = -27.46896 ymax = -27.46789 ## Retrying in 1 seconds."},{"path":"https://galah.ala.org.au/articles/spatial_filtering.html","id":"large-shapefiles","dir":"Articles","previous_headings":"galah_geolocate()","what":"Large shapefiles","title":"Spatial filtering","text":"type argument option \"bbox\" provided sf objects >500 vertices accepted ALA. event large shapefile, using type = \"bbox\" least enable initial reduction data downloaded, finer filtering actual shapefile obtain desired set occurrences. Alternatively, one can also perform \"bbox\" reduction passing shape galah_geolocate() using sf::st_bbox(). common situation occur shapefile multiple shapes provided, interested grouping results shape. mock workflow using subset shapefile 2,184 Brisbane parks. Let’s say interested knowing parks Brisbane postcode 4075 occurrences Scaly-Breasted Lorikeet, Trichoglossus chlorolepidotus, since 2020. can download entire shapefile link, perform filtering summarising follows: shapefiles cover large geographic areas caveat even bounding box doesn’t restrict number records value can downloaded easily. case, recommend nuances detailed methods can performed using looping techniques. One ALA Labs blog posts, Hex maps species occurrence data, written detailing approach larger problems .","code":"brisbane_parks <- sf::st_read(\"path/to/Park___Locations.shp\") |> sf::st_make_valid() |> filter(POST_CODE == 4075) # Convert shapefile to a bounding box brisbane_parks_bbox <- brisbane_parks |> sf::st_bbox() # Find all occurrences of Trichoglossus chlorolepidotus in the bounding box in 2022 lorikeet_brisbane <- galah_call() |> galah_filter(scientificName == \"Trichoglossus chlorolepidotus\", year >= 2020) |> galah_geolocate(brisbane_parks_bbox, type = \"bbox\") |> atlas_occurrences() ## Data returned for bounding box: ## xmin = 152.96331 xmax = 152.99668 ymin = -27.57737 ymax = -27.51606 ## Retrying in 1 seconds. # Filter records down to only those in the shapefile polygons lorikeet_brisbane |> # Create a point geometry based on the occurrence coordinates sf::st_as_sf(coords = c(\"decimalLongitude\", \"decimalLatitude\"), crs = sf::st_crs(brisbane_parks), remove = FALSE) |> # identify which park each occurrence sits in with st_intersects() mutate(intersection = sf::st_intersects(geometry, brisbane_parks) |> as.integer(), park = ifelse(is.na(intersection), NA, brisbane_parks$PARK_NAME[intersection])) |> # Filter out occurrences that did not occur in a park filter(!is.na(park)) |> # Drop the geometry column sf::st_drop_geometry() |> # Summarise the top 10 parks for lorikeet sightings in 2022 group_by(park) |> summarise(counts = n()) |> arrange(desc(counts)) |> head(10) ## # A tibble: 10 × 2 ## park counts ## ## 1 SHERWOOD ARBORETUM 276 ## 2 NYUNDARE-BA PARK 271 ## 3 FAULKNER PARK 51 ## 4 STRICKLAND TERRACE PARK 33 ## 5 FORT ROAD BUSHLAND 31 ## 6 GRACEVILLE RIVERSIDE PARKLANDS 31 ## 7 BENARRAWA RESERVE 19 ## 8 NOSWORTHY PARK 16 ## 9 HORACE WINDOW RESERVE 9 ## 10 GRACEVILLE AVENUE PARK 6"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"search_taxa","dir":"Articles","previous_headings":"","what":"search_taxa()","title":"Taxonomic filtering","text":"search_taxa() enables users look taxonomic names downloading data, allows disambiguating homonyms checking search term matches taxon name ALA . search_taxa() returns scientific name, authorship, rank, full classification taxon matched provided search term.","code":"search_taxa(\"Petroica boodang\") |> gt::gt() # Muscicapa chrysoptera is a synonym for the Flame Robin, Petroica phoenicea # Guniibuu is the Yuwaalaraay Indigenous name for the Red-Capped Robin, Petroica goodenovii search_taxa(\"Muscicapa chrysoptera\", \"Guniibuu\") |> gt::gt() search_taxa(\"Morganella\") |> gt::gt() ## Warning: Search returned multiple taxa due to a homonym issue. ## ℹ Please provide another rank in your search to clarify taxa. ## ℹ Use a `tibble` to clarify taxa, see `?search_taxa`. ## ✖ Homonym issue with \"Morganella\". search_taxa(tibble(kingdom = \"Fungi\", genus = \"Morganella\")) |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_identify","dir":"Articles","previous_headings":"","what":"galah_identify()","title":"Taxonomic filtering","text":"galah_identify() similar search_taxa(), except can used within piped workflow retrieve counts, species, records e.g. recommend using search_taxa() prior calling galah_identify() workflow confirm validity provided search term. Setting search = TRUE passes results search_taxa() galah_identify(), also speeds query.","code":"galah_call() |> galah_identify(\"Petroica boodang\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 118909 galah_call() |> galah_identify(\"Muscicapa chrysoptera\", \"Guniibuu\") |> atlas_species() |> gt::gt() galah_call() |> galah_identify(tibble(kingdom = \"Fungi\", genus = \"Morganella\")) |> atlas_occurrences() |> head() |> gt::gt() robins <- search_taxa(\"Muscicapa chrysoptera\", \"Guniibuu\") galah_call() |> galah_identify(robins$taxon_concept_id, search = FALSE) |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 191277"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_filter","dir":"Articles","previous_headings":"","what":"galah_filter()","title":"Taxonomic filtering","text":"galah_filter() subsets records searching exact matches expression, may also used taxonomic filtering e.g. can useful searching paraphyletic polyphyletic groups, done using galah_identify(). example, get counts non-chordates:","code":"galah_call() |> galah_filter(species == \"Petroica boodang\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 118909 aus_petroica <- c(\"Petroica boodang\", \"Petroica goodenovii\", \"Petroica phoenicea\", \"Petroica rosea\", \"Petroica rodinogaster\", \"Petroica multicolor\") galah_call() |> galah_filter(species == aus_petroica) |> galah_group_by(species, vernacularName) |> atlas_counts() |> gt::gt() galah_call() |> galah_filter(kingdom == \"Animalia\", phylum != \"Chordata\") |> galah_group_by(phylum) |> atlas_counts() |> head() |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/taxonomic_filtering.html","id":"galah_filter-galah_identify-and-taxonomic-ranks","dir":"Articles","previous_headings":"","what":"galah_filter(), galah_identify(), and taxonomic ranks","title":"Taxonomic filtering","text":"Deciding using galah_filter() galah_identify() query comes record classified, whether correct unique name classification taxa interest. ALA fields primary taxonomic ranks (kingdom, phylum, class, order, family, genus, species) secondary ranks (e.g. subfamily, subgenus), may used galah_filter() galah_identify(). Additionally, field named scientificName, refers lowest taxonomic rank record identified e.g. , instance, correct species subspecies name, searching matches species subspecies fields, respectively, provide precise results. field scientificName may include subgenera. ’ve used search_taxa() get ALA-matched name taxon want records identified particular level classification, searching matches scientificName recommended. Paraphyletic polyphyletic groups may contain taxa identified different taxonomic levels. case, simpler use search_taxa() galah_identify() rather galah_filter(). example , search_taxa() matches terms one genus, three species, two subspecies. can used piped workflow galah_identify().","code":"galah_call() |> galah_identify(tibble(genus = \"Pitta\")) |> galah_group_by(scientificName, taxonRank) |> atlas_counts() |> filter(!is.na(scientificName)) |> gt::gt() tas_endemic <- c(\"Sarcophilus\", # Tasmanian Devil \"Bettongia gaimardi\", # Tasmanian Bettong \"Melanodryas vittata\", # Dusky Robin \"Platycercus caledonicus\",# Green Rosella \"Aquila audax fleayi\", # Tasmanian Wedge-Tailed Eagle \"Tyto novaehollandiae castanops\") # Tasmanian Masked Owl search_taxa(tas_endemic) |> gt::gt() galah_call() |> galah_identify(tas_endemic) |> galah_group_by(scientificName) |> atlas_counts() |> arrange(scientificName) |> gt::gt()"},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"year-month-and-day","dir":"Articles","previous_headings":"","what":"Year, Month and Day","title":"Temporal filtering","text":"ALA contains -built year, month day fields every record. queried numeric fields (.e. July = 7) can used quick data exploration filtering. date limits desired query can easily defined year, month /day deliminations, fields useful. can, instance, use year month fields group 2022 amphibian records ALA month (noting months labelled number). also important observe outputted month column type character even though values numeric. case year, month day fields. However, can queried either numeric character values within galah_filter(). important fact fields queried galah_filter() independence; used query complex windows two dates day month filters applied universally. instance, consider native perennial Australian wildflower Chamaescilla corymbosa, whose known growth flowering times August–October. might interested number records species first week spring (.e. September) last 10 years. following query provide results 1/9/2013 7/9/2023. Rather, return results fall within 3 windows .","code":"library(galah) library(tidyverse) library(gt) library(lubridate) galah_config(email = \"your_email_here\", verbose = FALSE) galah_call() |> galah_filter(class == \"Amphibia\", year == 2021) |> galah_group_by(month) |> atlas_counts() ## # A tibble: 12 × 2 ## month count ## ## 1 October 52075 ## 2 September 41920 ## 3 January 32805 ## 4 August 26175 ## 5 March 25396 ## 6 February 23456 ## 7 November 22758 ## 8 July 12302 ## 9 April 9841 ## 10 June 9217 ## 11 May 8081 ## 12 December 3813 galah_call() |> galah_filter(species == \"Chamaescilla corymbosa\", year >= 2013, year <= 2023, month == 9, day >= 1, day <= 7) |> galah_group_by(year) |> atlas_counts() |> arrange(year) ## # A tibble: 10 × 2 ## year count ## ## 1 2013 8 ## 2 2014 13 ## 3 2015 8 ## 4 2016 7 ## 5 2018 9 ## 6 2019 5 ## 7 2020 20 ## 8 2021 36 ## 9 2022 25 ## 10 2023 48"},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"occurrence-dates","dir":"Articles","previous_headings":"","what":"Occurrence dates","title":"Temporal filtering","text":"bespoke way query exact dates records, users can use eventDate field. field contains exact date time information records enables specific time windows queried easily. caveat time/date must provided specific format galah_filter() ALA query work. required format dates eventDate ISO 8601 International Date Standard format. requires dates times form “YYYY-MM-DDTHH:MM:SSZ”. Note T middle actual letter “T” delimit date time components, “Z” officially denotes time queried UTC (Greenwich Meridian) time. Timezones can confusing best times, however easiest remember ALA records recorded local time location, times treated effectively UTC times. upshot specific formatting , instance, time writing paragraph, 4:26pm 2nd August 2023, represented \"2023-08-02T16:26:44Z\" ALA, even though officially timezone \"+0930\". eventDate specifies time seconds, recommended greater less queries used rather exact matches. used galah_filter(), can easily identify many records humpback whale (Megaptera novaeangliae) occurred since species removed Australian threatened species list 26/02/2022. can unintuitive provide dates format. Luckily, simple convert standard R dates {lubridate} dates format already required “YYYY-MM-DD” form. took date (26/02/2022), converted form using base R lubridate follows: sending query, outputted eventDate values returned galah query date class \"POSIXct\".","code":"galah_call() |> galah_filter(species == \"Megaptera novaeangliae\", eventDate >= \"2022-02-26T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 515 humpback_date <- \"26/02/2022\" # Base R paste0(as.Date(humpback_date, format = \"%d/%m/%Y\"), \"T00:00:00Z\") ## [1] \"2022-02-26T00:00:00Z\" # lubridate paste0(dmy(humpback_date), \"T00:00:00Z\") ## [1] \"2022-02-26T00:00:00Z\""},{"path":"https://galah.ala.org.au/articles/temporal_filtering.html","id":"upload-dates","dir":"Articles","previous_headings":"","what":"Upload dates","title":"Temporal filtering","text":"important date field present ALA pertains date record provided ALA. field called firstLoadedDate formatted exactly manner eventDate. Different data providers provide batches records ALA different intervals. iNaturalist Australia provide weekly uploads data, eBird provides yearly uploads. firstLoadedDate can especially useful finding new records ALA provided since last checked. instance, can use see many observations Sulphur-Crested Cockatoos recorded first week 2023 actually loaded ALA following week: Note lower bound required firstLoadedDate eventDate imposes proxy (records can’t uploaded ’ve occurred).","code":"# Total records of Cactua galerita in Jan 1-7 galah_call() |> galah_filter(species == \"Cacatua galerita\", eventDate >= \"2023-01-07T00:00:00Z\", eventDate < \"2023-01-08T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 388 # Records of Cactua galerita uploaded in Jan 1-14 galah_call() |> galah_filter(species == \"Cacatua galerita\", eventDate >= \"2023-01-07T00:00:00Z\", eventDate < \"2023-01-08T00:00:00Z\", firstLoadedDate < \"2023-01-15T00:00:00Z\") |> atlas_counts() ## # A tibble: 1 × 1 ## count ## ## 1 6"},{"path":"https://galah.ala.org.au/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martin Westgate. Author, maintainer. Matilda Stevenson. Author. Dax Kellie. Author. Peggy Newman. Author.","code":""},{"path":"https://galah.ala.org.au/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Westgate M, Stevenson M, Kellie D, Newman P (2023). galah: Biodiversity Data GBIF Node Network. R package version 2.0.0, https://CRAN.R-project.org/package=galah.","code":"@Manual{, title = {galah: Biodiversity Data from the GBIF Node Network}, author = {Martin Westgate and Matilda Stevenson and Dax Kellie and Peggy Newman}, year = {2023}, note = {R package version 2.0.0}, url = {https://CRAN.R-project.org/package=galah}, }"},{"path":[]},{"path":"https://galah.ala.org.au/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Biodiversity Data from the GBIF Node Network","text":"galah R interface biodiversity data hosted Global Biodiversity Information Facility (GBIF) members GBIF node network maintain APIs (.e. ‘living atlases’). organisations collate store observations individual life forms, using ‘Darwin Core’ data standard. galah built maintained Science & Decision Support Team Atlas Living Australia (ALA). galah enables users locate download species occurrence records (observations, specimens, eDNA records, etc.), taxonomic information, associated media images sounds, restrict queries particular taxa locations. Users can specify columns returned query, restrict results occurrences meet particular data-quality criteria. functions return tibble standard format. package named bird name (Eolophus roseicapilla), widely-distributed endemic Australian species. logo designed Ian Brennan. comments, questions suggestions, please contact us.","code":""},{"path":"https://galah.ala.org.au/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Biodiversity Data from the GBIF Node Network","text":"quick start guide provides introduction package functions. outline package structure, list available functions, run ?galah view reference page.","code":""},{"path":"https://galah.ala.org.au/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Biodiversity Data from the GBIF Node Network","text":"Install CRAN: Install development version GitHub: galah depends sf location-based searches. install galah need make sure system meets sf system requirements, specified .","code":"install.packages(\"galah\") install.packages(\"remotes\") remotes::install_github(\"AtlasOfLivingAustralia/galah-R\")"},{"path":[]},{"path":"https://galah.ala.org.au/index.html","id":"citations","dir":"","previous_headings":"","what":"Citations","title":"Biodiversity Data from the GBIF Node Network","text":"generate citation package version using, can run ’re using occurrence data downloaded galah publication, please generate DOI cite . request DOI download occurrence record, set mint_doi = TRUE call atlas_occurrences(). generate citation downloaded occurrence records, pass tibble generated atlas_citation().","code":"citation(package = \"galah\") # Download occurrence records with a DOI occ <- atlas_occurrences(..., mint_doi = TRUE) # See DOI attr(occ, \"doi\") # Generate citation atlas_citation(occ)"},{"path":"https://galah.ala.org.au/reference/arrange.html","id":null,"dir":"Reference","previous_headings":"","what":"Arrange rows of a query — arrange.data_request","title":"Arrange rows of a query — arrange.data_request","text":"arrange.data_request() arranges rows query server side, meaning prior sending query, query constructed way information arranged query processed. data returned query rows already pre-arranged. benefit using arrange() within galah_call() faster process arranging rows server side arranging rows locally downloaded data, especially dataset large complex. arrange() can used within galah_call() pipe, queries type = \"occurrences-count\". galah_call() pipe must include count() finish collect() (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Arrange rows of a query — arrange.data_request","text":"","code":"# S3 method for data_request arrange(.data, ...) # S3 method for metadata_request arrange(.data, ...)"},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Arrange rows of a query — arrange.data_request","text":".data object class data_request ... Either count index","code":""},{"path":"https://galah.ala.org.au/reference/arrange.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Arrange rows of a query — arrange.data_request","text":"","code":"# Arrange grouped counts by ascending year galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(year) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2020 78197 #> 2 2021 82170 #> 3 2022 3033 #> 4 2023 1193 # Arrange grouped counts by ascending record count galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(count) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2023 1193 #> 2 2022 3033 #> 3 2020 78197 #> 4 2021 82170 # Arrange grouped counts by descending year galah_call() |> identify(\"Crinia\") |> filter(year >= 2020) |> group_by(year) |> arrange(desc(year)) |> count() |> collect() #> # A tibble: 4 × 2 #> year count #> #> 1 2023 1193 #> 2 2022 3033 #> 3 2021 82170 #> 4 2020 78197"},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a citation for occurrence data — atlas_citation","title":"Generate a citation for occurrence data — atlas_citation","text":"data.frame generated using atlas_occurrences(), mint_doi argument set TRUE, DOI associated dataset appended resulting data.frame attribute. function simply formats DOI citation can included scientific publication. Please also consider citing package, using information citation(\"galah\").","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a citation for occurrence data — atlas_citation","text":"","code":"atlas_citation(data)"},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a citation for occurrence data — atlas_citation","text":"data data.frame: occurrence data generated atlas_occurrences()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a citation for occurrence data — atlas_citation","text":"string containing citation dataset.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_citation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate a citation for occurrence data — atlas_citation","text":"","code":"if (FALSE) { atlas_citation(doi) }"},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Return a count of records — atlas_counts","title":"Return a count of records — atlas_counts","text":"Prior downloading data often valuable estimate many records available, deciding query feasible, estimating long take download. Alternatively, kinds reporting, count observations may required, example understanding observations growing shrinking particular locations, particular taxa. end, atlas_counts() takes arguments format atlas_occurrences(), provides either total count records matching criteria, data.frame counts matching criteria supplied group_by argument.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return a count of records — atlas_counts","text":"","code":"atlas_counts( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL, group_by = NULL, limit = NULL, type = c(\"occurrences\", \"species\") ) # S3 method for data_request count(x, ..., wt, sort, name)"},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return a count of records — atlas_counts","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile() group_by data.frame: object class galah_group_by, returned galah_group_by(). Alternatively vector field names (see search_all(fields) show_all(fields). limit numeric: maximum number categories return, defaulting 100. limit NULL, results returned. categories take . type string: one c(\"occurrences-count\", \"species-count\"). Defaults \"occurrences-count\", returns number records match selected criteria; alternatively returns number species. Formerly accepted arguments (\"records\" \"species\") deprecated remain functional. x object class data_request, created using galah_call() ... currently ignored wt currently ignored sort currently ignored name currently ignored","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return a count of records — atlas_counts","text":"object class tbl_df data.frame (aka tibble) returning: single number, group_by specified , summary counts grouped field(s), group_by specified","code":""},{"path":"https://galah.ala.org.au/reference/atlas_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Return a count of records — atlas_counts","text":"","code":"if (FALSE) { # classic syntax: galah_call() |> galah_filter(year == 2015) |> atlas_counts() # synonymous with: request_data() |> filter(year == 2015) |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":null,"dir":"Reference","previous_headings":"","what":"Get metadata on images, sounds and videos — atlas_media","title":"Get metadata on images, sounds and videos — atlas_media","text":"addition text data describing individual occurrences attributes, ALA stores images, sounds videos associated given record. atlas_media displays metadata media types.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get metadata on images, sounds and videos — atlas_media","text":"","code":"atlas_media( request = NULL, identify = NULL, filter = NULL, select = NULL, geolocate = NULL, data_profile = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get metadata on images, sounds and videos — atlas_media","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() select list: generated call galah_select() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get metadata on images, sounds and videos — atlas_media","text":"object class tbl_df data.frame (aka tibble) metadata requested media.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get metadata on images, sounds and videos — atlas_media","text":"atlas_media() works first finding occurrence records matching filter contain media, downloading metadata media. actually download files , use collect_media(). may beneficial requesting large number records show progress bar setting verbose = TRUE galah_config().","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/atlas_media.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get metadata on images, sounds and videos — atlas_media","text":"","code":"if (FALSE) { # Download Regent Honeyeater records with multimedia attached galah_call() |> galah_identify(\"Regent Honeyeater\") |> galah_filter(year == 2011) |> atlas_media() # Download multimedia galah_call() |> galah_identify(\"Regent Honeyeater\") |> galah_filter(year == 2011) |> atlas_media() |> collect_media(path = \"folder/your-directory\") # Specify a single media type to download galah_call() |> galah_identify(\"Eolophus Roseicapilla\") |> galah_filter(multimedia == \"Sound\") |> atlas_media() # It's good to check how many records have media files before downloading galah_call() |> galah_filter(multimedia == c(\"Image\", \"Sound\", \"Video\")) |> galah_group_by(multimedia) |> atlas_counts() # post version 2.0, it is possible to run all steps in sequence # first, get occurrences, making sure to include media fields: occurrences_df <- request_data() |> identify(\"Regent Honeyeater\") |> filter(!is.na(images), year == 2011) |> select(group = \"media\") |> collect() # second, get media metadata media_info <- request_metadata() |> filter(media == occurrences_df) |> collect() # the two steps above + `right_join()` are synonmous with `atlas_media()` # third, get images request_files() |> filter(media == media_df) |> collect(thumbnail = TRUE) # step three is synonymous with `collect_media()` }"},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect a set of occurrences — atlas_occurrences","title":"Collect a set of occurrences — atlas_occurrences","text":"common form data stored living atlases observations individual life forms, known 'occurrences'. function allows user search occurrence records match specific criteria, return tibble analysis. Optionally, user can also request DOI given download facilitate citation re-use specific data resources.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect a set of occurrences — atlas_occurrences","text":"","code":"atlas_occurrences( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL, select = NULL, mint_doi = FALSE, doi = NULL, file = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect a set of occurrences — atlas_occurrences","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile() select data.frame: generated call galah_select() mint_doi logical: default DOI generated. Set TRUE intend use data publication similar. doi string: (optional) DOI download. provided overrides arguments. available ALA. file string: (Optional) file name. given, set data date time added. file path (directory) always given galah_config()$package$directory.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect a set of occurrences — atlas_occurrences","text":"object class tbl_df data.frame (aka tibble) occurrences, containing columns specified galah_select().","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Collect a set of occurrences — atlas_occurrences","text":"Note unless care taken, queries can particularly large. cases simply take long time process, number requested records >50 million, call return data. Users can test whether threshold reached first calling atlas_counts() using arguments intend pass atlas_occurrences(). may also beneficial requesting large number records show progress bar setting verbose = TRUE galah_config(), use compute() run call collecting later collect().","code":""},{"path":"https://galah.ala.org.au/reference/atlas_occurrences.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect a set of occurrences — atlas_occurrences","text":"","code":"if (FALSE) { # Download occurrence records for a specific taxon galah_config(email = \"your_email_here\") galah_call() |> galah_identify(\"Reptilia\") |> atlas_occurrences() # Download occurrence records in a year range galah_call() |> galah_identify(\"Litoria\") |> galah_filter(year >= 2010 & year <= 2020) |> atlas_occurrences() # Or identically with alternative syntax request_data() |> identify(\"Litoria\") |> filter(year >= 2010 & year <= 2020) |> collect() # Download occurrences records in a WKT-specified area polygon <- \"POLYGON((146.24960 -34.05930, 146.37045 -34.05930, 146.37045 -34.152549, 146.24960 -34.15254, 146.24960 -34.05930))\" galah_call() |> galah_identify(\"Reptilia\") |> galah_filter(year >= 2010, year <= 2020) |> galah_geolocate(polygon) |> atlas_occurrences() }"},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect the set of species observed within the specified filters — atlas_species","title":"Collect the set of species observed within the specified filters — atlas_species","text":"reasons users may need check every record meeting search criteria (.e. using atlas_occurrences()), common use case simply identify species occur specified region, time period, taxonomic group. function returns data.frame one row per species, columns giving associated taxonomic information.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect the set of species observed within the specified filters — atlas_species","text":"","code":"atlas_species( request = NULL, identify = NULL, filter = NULL, geolocate = NULL, data_profile = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect the set of species observed within the specified filters — atlas_species","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter() geolocate string: generated call galah_geolocate() data_profile string: generated call galah_apply_profile()","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect the set of species observed within the specified filters — atlas_species","text":"object class tbl_df data.frame (aka tibble), returning matching species data.frame object attributes listing user-supplied arguments data_request (.e., identify, filter, geolocate, columns)","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Collect the set of species observed within the specified filters — atlas_species","text":"primary use case function extract species-level information given set criteria defined search_taxa(), galah_filter() galah_geolocate(). purpose simply get taxonomic information restricted filtering, search_taxa() efficient. Similarly, counts required include filter without returning taxonomic detail, atlas_counts() efficient (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/atlas_species.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect the set of species observed within the specified filters — atlas_species","text":"","code":"if (FALSE) { # First register a valid email address galah_config(email = \"ala4r@ala.org.au\") # Get a list of species within genus \"Heleioporus\" # (every row is a species with associated taxonomic data) galah_call() |> galah_identify(\"Heleioporus\") |> atlas_species() # Get a list of species within family \"Peramelidae\" galah_call() |> galah_identify(\"peramelidae\") |> atlas_species() # Or alternatively request_data(type = \"species\") |> identify(\"peramelidae\") |> collect() # It's good idea to find how many species there are before downloading galah_call() |> galah_identify(\"Heleioporus\") |> atlas_counts(type = \"species\") # Or alternatively request_data(type = \"species\") |> identify(\"Heleioporus\") |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":null,"dir":"Reference","previous_headings":"","what":"Search taxonomic trees — atlas_taxonomy","title":"Search taxonomic trees — atlas_taxonomy","text":"ALA ' internal taxonomy derived authoritative sources. atlas_taxonomy provides means query taxonomy, returning tibble showing child nodes parent derived .","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Search taxonomic trees — atlas_taxonomy","text":"","code":"atlas_taxonomy( request = NULL, identify = NULL, filter = NULL, constrain_ids = NULL )"},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Search taxonomic trees — atlas_taxonomy","text":"request optional data_request object: generated call galah_call(). identify data.frame: generated call galah_identify(). filter data.frame: generated call galah_filter(rank == \"chosen_rank\"). identity clade downwards search stop. constrain_ids string: Optional string limit taxon_concept_id's returned. useful restricting taxonomy particular authoritative sources. Default \"biodiversity.org.au\" Australia (can overridded setting constrain_ids = NULL) NULL otherwise. Powered grepl() meaning supports regular expressions.","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Search taxonomic trees — atlas_taxonomy","text":"tibble containing taxon names, ranks parent/child IDs","code":""},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Search taxonomic trees — atlas_taxonomy","text":"approach used function recursive, meaning becomes slow large queries atlas_taxonomy(search_taxa(\"Plantae\"), down_to = galah_down_to(species)). Although inputs search_taxa down_to case-insensitive, node names always returned title case.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/atlas_taxonomy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Search taxonomic trees — atlas_taxonomy","text":"","code":"if (FALSE) { # Get a taxonomic tree of *Chordata* down to the class level galah_call() |> galah_identify(\"chordata\") |> galah_filter(rank == class) |> atlas_taxonomy() }"},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a query — collapse_galah","title":"Generate a query — collapse_galah","text":"collapse() constructs valid query can inspected sent. typically occurs end pipe, traditionally begun galah_call(), used define query. version 2.0, objects class data_request (created using request_data()), metadata_request (request_metadata()) files_request (request_files()) supported collapse(). objects can created using galah_call() via method argument.","code":""},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a query — collapse_galah","text":"","code":"# S3 method for data_request collapse(x, ..., mint_doi) # S3 method for metadata_request collapse(x, ...) # S3 method for files_request collapse(x, ..., thumbnail = FALSE)"},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a query — collapse_galah","text":"x object class data_request, metadata_request files_request ... Arguments passed methods mint_doi Logical: DOI minted download? applies type = \"occurrences\" atlas chosen \"ALA\". thumbnail Logical: thumbnail-size images returned? Defaults FALSE, indicating full-size images required.","code":""},{"path":"https://galah.ala.org.au/reference/collapse_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a query — collapse_galah","text":"object class query_set, list containing one objects class query. valuable shows set queries required correctly retrieve requested data. Objects within query_set listed sequence enacted.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve a database query — collect_galah","title":"Retrieve a database query — collect_galah","text":"collect() attempts retrieve result query selected API.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve a database query — collect_galah","text":"","code":"# S3 method for data_request collect(x, ..., wait = TRUE, file = NULL) # S3 method for metadata_request collect(x, ...) # S3 method for files_request collect(x, ...) # S3 method for query_set collect(x, ..., wait = TRUE, file = NULL) # S3 method for query collect(x, ..., wait = TRUE, file = NULL)"},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve a database query — collect_galah","text":"x object class data_request, metadata_request files_request (galah_call()); oject class query_set query (collapse() compute()) ... Arguments passed methods wait logical; galah wait response? Defaults FALSE. applies type = \"occurrences\" \"species\". file (Optional) file name. given, set data date time added. file path (directory) always given galah_config()$package$directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve a database query — collect_galah","text":"cases, collect() returns tibble containing requested data. requested data yet ready (.e. occurrences wait set FALSE), function returns object class query can used recheck download later time.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":null,"dir":"Reference","previous_headings":"","what":"Collect media files — collect_media","title":"Collect media files — collect_media","text":"function downloads full-sized thumbnail images media files using information atlas_media local directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collect media files — collect_media","text":"","code":"collect_media(df, thumbnail = FALSE, path)"},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collect media files — collect_media","text":"df tibble: returned atlas_media() pipe starting request_data(type = \"media\"). thumbnail logical: TRUE download small thumbnail-sized images, rather full size images (default). path string: Use galah_config(directory = \"path--directory)\" instead. Supply path local folder/directory downloaded media saved .","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collect media files — collect_media","text":"Invisibly returns tibble listing number files downloaded, grouped HTML status codes. Primarily called side effect downloading available image & media files user local directory.","code":""},{"path":"https://galah.ala.org.au/reference/collect_media.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collect media files — collect_media","text":"","code":"if (FALSE) { # Use `atlas_media()` to return a `tibble` of records that contain media x <- galah_call() |> galah_identify(\"perameles\") |> galah_filter(year == 2015) |> atlas_media() # To download media files, add `collect_media()` to the end of a query galah_config(directory = \"media_files\") collect_media(x) }"},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute a query — compute_galah","title":"Compute a query — compute_galah","text":"compute() useful several purposes. original purpose send request data, can processed server retrieved later time (via collect()). However, query-altering functions (filter() select()) evaluated lazily galah version 2.0 onwards, compute() also function objects within query_set evaluated, checks run using information. Therefore possible invalid queries built using collapse(), fail compute().","code":""},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute a query — compute_galah","text":"","code":"# S3 method for data_request compute(x, ...) # S3 method for metadata_request compute(x, ...) # S3 method for files_request compute(x, ...) # S3 method for query_set compute(x, ...) # S3 method for query compute(x, ...)"},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute a query — compute_galah","text":"x object class data_request, metadata_request files_request (.e. constructed using pipe) query query_set (.e. constructed collapse()) ... Arguments passed methods","code":""},{"path":"https://galah.ala.org.au/reference/compute_galah.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute a query — compute_galah","text":"object class query containing checked, valid query selected atlas. case occurrence data, also contains information status request.","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — galah_down_to","title":"Deprecated functions — galah_down_to","text":"include: galah_down_to() favour galah_filter()","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — galah_down_to","text":"","code":"galah_down_to(...)"},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Deprecated functions — galah_down_to","text":"... name single taxonomic rank","code":""},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Deprecated functions — galah_down_to","text":"string named rank","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/deprecated-functions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Deprecated functions — galah_down_to","text":"","code":"if (FALSE) { # Return a taxonomic tree of *Chordata* down to the class level galah_call() |> galah_identify(\"Vertebrata\") |> galah_down_to(class) |> atlas_taxonomy() }"},{"path":"https://galah.ala.org.au/reference/galah.html","id":null,"dir":"Reference","previous_headings":"","what":"Biodiversity Data from the GBIF Node Network — galah","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Global Biodiversity Information Facility (GBIF; https://www.gbif.org) provides tools enable users find, access, combine visualise biodiversity data. galah enables R community directly access data resources hosted GBIF several subsidiary organisations, known 'nodes'. basic unit observation stored infrastructures occurrence record, based Darwin Core' data standard (https://dwc.tdwg.org); however galah also enables users locate download taxonomic information, associated media images sounds, restricting queries particular taxa locations. Users can specify columns returned query, restrict results observations meet particular quality-control criteria. outside Australia, 'galah' common name Eolophus roseicapilla, widely-distributed Australian bird species.","code":""},{"path":"https://galah.ala.org.au/reference/galah.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Piping functions galah_call() request_() et al. Start build data query collapse() Generate query compute() Compute query collect() Retrieve database query Lazy data manipulation identify() galah_identify() Search taxonomic identifiers filter() galah_filter()Filter records select() galah_select()Fields report information group_by() galah_group_by() Fields group counts st_crop() galah_geolocate() Specify location apply_profile() galah_apply_profile() Restrict data pass predefined checks (ALA ) slice_head() Choose first n rows download arrange() Arrange rows query server side Download data atlas_occurrences() Download occurrence records atlas_counts() count() Count number records species returned query atlas_species() Download species lists atlas_taxonomy() Return section ALA taxonomic tree atlas_media() View images sounds available download collect_media() Download images sounds Look information search_taxa() Search taxa using text-search search_identifiers() Search taxa using taxonomic identifiers show_all() & search_all() Data generating filter queries show_values() & search_values() Show search values within fields, profiles, lists, collections, datasets providers Configure session galah_config() Package configuration options Cite atlas_citation() Citation dataset","code":""},{"path":"https://galah.ala.org.au/reference/galah.html","id":"terminology","dir":"Reference","previous_headings":"","what":"Terminology","title":"Biodiversity Data from the GBIF Node Network — galah","text":"get value galah, helpful understand terminology. occurrence record contains taxonomic information, usually information observation , location. addition record-specific information, living atlases append contextual information record, particularly data spatial layers reflecting climate gradients political boundaries. also run number quality checks record, resulting assertions attached record. piece information associated given occurrence record stored field, corresponds column imported R data.frame. See show_all(fields) view valid fields, layers assertions, conduct search using search_all(fields). Data fields important provide means filter occurrence records; .e. return information need, . Consequently, much architecture galah designed make filtering simple possible. easiest way start pipe galah_call() follow relevant dplyr function; starting filter(), also including select(), group_by() others. Functions without relevant dplyr synonym include galah_identify()/identify() choosing taxon, galah_geolocate()/ st_crop() choosing specific location. combining different filters, possible build complex queries return valuable information given problem. notable extension filtering approach remove records low 'quality'. living atlases perform quality control checks records store. checks used generate new fields, can used filter records unsuitable particular applications. However, many possible data quality checks, always clear appropriate given instance. Therefore, galah supports data quality profiles, can passed galah_apply_profile() quickly remove undesirable records. full list data quality profiles returned show_all(profiles). Note service currently available Australian atlas (ALA).","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Biodiversity Data from the GBIF Node Network — galah","text":"Maintainer: Martin Westgate martin.westgate@csiro.au Authors: Matilda Stevenson Dax Kellie dax.kellie@csiro.au Peggy Newman peggy.newman@csiro.au","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a data quality profile — galah_apply_profile","title":"Apply a data quality profile — galah_apply_profile","text":"'profile' group filters pre-applied ALA. Using data profile allows query filtered quickly relevant quality-assured data fit--purpose. example, \"ALA\" profile designed exclude lower quality records, whereas profiles apply filters specific species distribution modelling (e.g. CDSM).","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a data quality profile — galah_apply_profile","text":"","code":"galah_apply_profile(...) apply_profile(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a data quality profile — galah_apply_profile","text":"... profile name. string - name abbreviation data quality profile apply query. Valid values can seen using show_all(profiles) .data object class data_request","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apply a data quality profile — galah_apply_profile","text":"tibble containing valid data profile value.","code":""},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apply a data quality profile — galah_apply_profile","text":"Note one profile can loaded time; multiple profiles given, first valid profile used. bespoke editing filters within profile, use galah_filter()","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_apply_profile.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apply a data quality profile — galah_apply_profile","text":"","code":"if (FALSE) { # Apply a data quality profile to a query galah_call() |> galah_identify(\"reptilia\") |> galah_filter(year == 2021) |> galah_apply_profile(ALA) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":null,"dir":"Reference","previous_headings":"","what":"Start building a query — galah_call","title":"Start building a query — galah_call","text":"download data selected atlas, one must construct query. query tells atlas API data download return, well filtered. Using galah_call() allows build piped query download data, way wrangle data dplyr tidyverse. Since version 2.0, galah_call() wrapper group underlying request_ functions. functions can begin piped query end collapse(), compute() collect(). underlying request_ #' functions useful allow galah separate different types requests perform better. example, filter.data_request translates filters R solr, whereas filter.metadata_request searches using search term. details see object-oriented programming vignette: vignette(\"object_oriented_programming\", package = \"galah\")","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Start building a query — galah_call","text":"","code":"galah_call(method = c(\"data\", \"metadata\", \"files\"), type, ...) request_data( type = c(\"occurrences\", \"occurrences-count\", \"occurrences-doi\", \"species\", \"species-count\"), ... ) request_metadata(type) request_files(type = c(\"media\"))"},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Start building a query — galah_call","text":"method string: request function called. one \"data\" (default), \"metadata\" \"files\" type string: form data returned? Acceptable values specified corresponding request function ... Zero arguments alter query. See 'details'.","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Start building a query — galah_call","text":"sub-function returns different object class: request_data() returns data_request. request_metadata returns metadata_request, request_files() returns files_request.","code":""},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Start building a query — galah_call","text":"atlas several types data can chosen. Currently supported \"occurrences\" (default), \"species\" \"media\" (latter currently ALA). also possible use type = \"occurrences-count\" type = \"species-count\"; practice synonymous galah_call() |> count(), therefore practically useful debugging (via collapse() compute()). named arguments supported via .... practice, functions galah_ prefix S3 methods ported dplyr assign information correct slots internally. Overwriting user-defined alternatives possible, advised. Accepted arguments : filter (accepts galah_filter() filter()) select (accepts galah_select() select) group_by (accepts galah_group_by() group_by()) identify (accepts galah_identify() identify()) geolocate (accepts galah_geolocate(), galah_polygon() galah_bbox() st_crop()) limit (accepts slice_head()) doi (accepts sting listing valid DOI, specific collect() type = \"doi\") Unrecognised names ignored collect() related functions.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_call.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Start building a query — galah_call","text":"","code":"if (FALSE) { # Begin your query with `galah_call()`, then pipe using `%>%` or `|>` # Get number of records of *Aves* from 2001 to 2004 by year galah_call() |> galah_identify(\"Aves\") |> galah_filter(year > 2000 & year < 2005) |> galah_group_by(year) |> atlas_counts() # Get information for all species in *Cacatuidae* family galah_call() |> galah_identify(\"Cacatuidae\") |> atlas_species() # Download records of genus *Eolophus* from 2001 to 2004 galah_config(email = \"your-email@email.com\") galah_call() |> galah_identify(\"Eolophus\") |> galah_filter(year > 2000 & year < 2005) |> atlas_occurrences() # ---------- # Since galah 2.0.0, a pipe can start with a `request_` function. # This allows users to use `collapse()`, `compute()` and `collect()`. # Get number of records of *Aves* from 2001 to 2004 by year request_data(type = \"occurrences-count\") |> galah_identify(\"Aves\") |> galah_filter(year > 2000 & year < 2005) |> galah_group_by(year) |> collect() # Get information for all species in *Cacatuidae* family request_data(type = \"species\") |> galah_identify(\"Cacatuidae\") |> collect() # Get metadata information about supported atlases in galah request_metadata(type = \"atlases\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":null,"dir":"Reference","previous_headings":"","what":"Get or set configuration options that control galah behaviour — galah_config","title":"Get or set configuration options that control galah behaviour — galah_config","text":"galah package supports large data downloads, also interfaces ALA requires users services provide registered email address reason downloading data. galah_config function provides way manage issues simply possible.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get or set configuration options that control galah behaviour — galah_config","text":"","code":"galah_config(...)"},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get or set configuration options that control galah behaviour — galah_config","text":"... Options can defined using form name = \"value\". Valid arguments : api-key string: registered API key (currently unused). atlas string: Living Atlas point , Australia default. Can organisation name, acronym, region (see show_all_atlases() admissible values) directory string: directory use cache. default temporary directory, means results cached within R session cleared automatically user exits R. user may wish set non-temporary directory caching across sessions. directory must exist file system. download_reason_id numeric string: \"download reason\" required. ALA services, either numeric ID (currently 0--13) string (see show_all(reasons) list valid ID codes names). default NA. ALA services require valid download_reason_id code, either specified directly associated R function. email string: email address registered chosen atlas. ALA, can register address. password string: registered password (GBIF ) run_checks logical: galah run checks filters columns. making lots requests sequentially, checks can slow process lead HTTP 500 errors, turned . Defaults TRUE. send_email logical: receive email query atlas_occurrences()? Defaults FALSE; can useful instances, example tracking DOIs assigned specific downloads later citation. username string: registered username (GBIF ) verbose logical: galah give verbose progress bars? Defaults FALSE.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get or set configuration options that control galah behaviour — galah_config","text":"galah_config(), list options. galah_config(...) called arguments, nothing returned configuration set.","code":""},{"path":"https://galah.ala.org.au/reference/galah_config.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get or set configuration options that control galah behaviour — galah_config","text":"","code":"if (FALSE) { # To download occurrence records, enter your email in `galah_config()`. # This email should be registered with the atlas in question. galah_config(email = \"your-email@email.com\") # Turn on caching in your session galah_config(caching = TRUE) # Some ALA services require that you add a reason for downloading data. # Add your selected reason using the option `download_reason_id` galah_config(download_reason_id = 0) # To look up all valid reasons to enter, use `show_all(reasons)` show_all(reasons) # Make debugging in your session easier by setting `verbose = TRUE` galah_config(verbose = TRUE) }"},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query by specifying filters — galah_filter","title":"Narrow a query by specifying filters — galah_filter","text":"\"Filters\" arguments form field logical value used narrow number records returned specific query. example, common users request records particular year (year == 2020), return records except fossils (basisOfRecord != \"FossilSpecimen\"). result galah_filter() can passed filter argument atlas_occurrences(), atlas_species(), atlas_counts() atlas_media().","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query by specifying filters — galah_filter","text":"","code":"galah_filter(..., profile = NULL) # S3 method for data_request filter(.data, ...) # S3 method for metadata_request filter(.data, ...) # S3 method for files_request filter(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query by specifying filters — galah_filter","text":"... filters, form field logical value profile Use galah_apply_profile instead. .data object class files_request, created using request_files()","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query by specifying filters — galah_filter","text":"tibble containing filter values.","code":""},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query by specifying filters — galah_filter","text":"galah_filter uses non-standard evaluation (NSE), designed compatible possible dplyr::filter() syntax. statements passed galah_filter() (except profile argument) take form field - logical - value. Permissible examples include: = == (e.g. year = 2020) !=, e.g. year != 2020) > >= (e.g. year >= 2020) < <= (e.g. year <= 2020) statements (e.g. year == 2018 | year == 2020) statements (e.g. year >= 2000 & year <= 2020) cases R fail parse inputs single equals sign (=), particularly statements separated & |. problem can avoided using double-equals (==) instead. Notes behaviour Separating statements comma equivalent statement; Ergo galah_filter(year >= 2010 & year < 2020) galah_filter(year >= 2010, year < 2020). statements must include field name; galah_filter(year == 2010 | year == 2021) works, galah_filter(year == c(2010, 2021)), galah_filter(year == 2010 | 2021) fails. possible use object specify required values, e.g. year_value <- 2010; galah_filter(year > year_value) solr supports range queries text well numbers; valid: galah_filter(cl22 >= \"Tasmania\")","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_filter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query by specifying filters — galah_filter","text":"","code":"if (FALSE) { # Filter query results to return records of interest galah_call() |> galah_filter(year >= 2019, basisOfRecord == \"HumanObservation\") |> atlas_counts() # Alternatively, the same call using `dplyr` functions: request_data() |> filter(year >= 2019, basisOfRecord == \"HumanObservation\") |> count() |> collect() }"},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query to within a specified area — galah_bbox","title":"Narrow a query to within a specified area — galah_bbox","text":"Restrict results specified area using galah_geolocate(). Areas can specified either polygons bounding boxes, depending type. Alternatively, users can call underlying functions directly via galah_bbox() galah_polygon(). Finally, possible use sf syntax calling st_crop(), synonymous galah_polygon(). calling galah_geolocate(), default type \"polygon\", narrows queries within area supplied POLYGON. Polygons must specified either sf object, 'well-known text' (WKT) string, shapefile. Shapefiles must simple accepted ALA. Alternatively, set type = \"bbox\" narrow queries within bounding box. Bounding boxes can extracted supplied sf object shapefile. bounding box can also supplied bbox object (via sf::st_bbox()) tibble/data.frame.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query to within a specified area — galah_bbox","text":"","code":"galah_bbox(...) galah_geolocate(..., type = c(\"polygon\", \"bbox\")) galah_polygon(...) # S3 method for data_request st_crop(x, y, ...)"},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query to within a specified area — galah_bbox","text":"... single sf object, WKT string shapefile. Bounding boxes can supplied tibble/data.frame bbox type string: one c(\"polygon\", \"bbox\"). Defaults \"polygon\". type = \"polygon\", multipolygon built via galah_polygon(). type = \"bbox\", multipolygon built via galah_bbox(). multipolygon used narrow query ALA. x object class data_request, created using galah_call() y valid Well-Known Text string (wkt), POLYGON MULTIPOLYGON","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query to within a specified area — galah_bbox","text":"length-1 string (class character) containing multipolygon WKT string representing area provided.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query to within a specified area — galah_bbox","text":"type = \"polygon\", WKT strings longer 10000 characters sf objects 500 vertices accepted ALA. polygons may need simplified. type = \"bbox\", sf objects shapefiles converted bounding box query ALA.","code":""},{"path":"https://galah.ala.org.au/reference/galah_geolocate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query to within a specified area — galah_bbox","text":"","code":"if (FALSE) { # Search for records within a polygon using a shapefile location <- sf::st_read(\"path/to/shapefile.shp\") galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location) |> atlas_counts() # Search for records within the bounding box of a shapefile location <- sf::st_read(\"path/to/shapefile.shp\") galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location, type = \"bbox\") |> atlas_counts() # Search for records within a polygon using an `sf` object location <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" |> sf::st_as_sfc() galah_call() |> galah_identify(\"reptilia\") |> galah_polygon(location) |> atlas_counts() # Alternatively, we can use `st_crop()` as a synonym for `galah_polygon()`. # Hence the above example can be rewritten as: request_data() |> identify(\"reptilia\") |> st_crop(location) |> count() |> collect() # Search for records using a Well-known Text string (WKT) wkt <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(wkt) |> atlas_counts() # Search for records within the bounding box extracted from an `sf` object location <- \"POLYGON((142.3 -29.0,142.7 -29.1,142.7 -29.4,142.3 -29.0))\" |> sf::st_as_sfc() galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(location, type = \"bbox\") |> atlas_counts() # Search for records using a bounding box of coordinates b_box <- sf::st_bbox(c(xmin = 143, xmax = 148, ymin = -29, ymax = -28), crs = sf::st_crs(\"WGS84\")) galah_call() |> galah_identify(\"reptilia\") |> galah_geolocate(b_box, type = \"bbox\") |> atlas_counts() # Search for records using a bounding box in a `tibble` or `data.frame` b_box <- tibble::tibble(xmin = 148, ymin = -29, xmax = 143, ymax = -21) galah_call() |> galah_identify(\"vulpes\") |> galah_geolocate(b_box, type = \"bbox\") |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify fields to group when downloading record counts — galah_group_by","title":"Specify fields to group when downloading record counts — galah_group_by","text":"count.data_request() atlas_counts() support server-side grouping data. Grouping can used return record counts grouped multiple, valid fields (found search_all(fields)).","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify fields to group when downloading record counts — galah_group_by","text":"","code":"galah_group_by(...) # S3 method for data_request group_by(.data, ...)"},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify fields to group when downloading record counts — galah_group_by","text":"... zero individual column names include .data object class data_request","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify fields to group when downloading record counts — galah_group_by","text":"arguments provided, returns data.frame columns name type, per select.data_request().","code":""},{"path":"https://galah.ala.org.au/reference/galah_group_by.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify fields to group when downloading record counts — galah_group_by","text":"","code":"if (FALSE) { galah_call() |> galah_group_by(basisOfRecord) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":null,"dir":"Reference","previous_headings":"","what":"Narrow a query by passing taxonomic identifiers — galah_identify","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"conducting search creating data query, common identify known taxon group taxa narrow records results returned.","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"","code":"galah_identify(..., search = NULL) # S3 method for data_request identify(x, ...) # S3 method for metadata_request identify(x, ...)"},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"... One scientific names. search galah_identify() now always search verify search terms; ergo argument ignored. x object class metadata_request, created using request_metadata()","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"tibble containing identified taxa.","code":""},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"galah_identify() used identify taxa want returned search data query. Users pass scientific names taxonomic identifiers pipes provide data biological group interest. good use search_taxa() search_identifiers() first check taxa provide galah_identify() return correct results.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_identify.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Narrow a query by passing taxonomic identifiers — galah_identify","text":"","code":"if (FALSE) { # Specify a taxon. A valid taxon will return an identifier. galah_identify(\"reptilia\") # Specify more than one taxon at a time. galah_identify(\"reptilia\", \"mammalia\", \"aves\", \"pisces\") # Use `galah_identify()` to narrow your queries galah_call() |> galah_identify(\"Eolophus\") |> atlas_counts() # Within a pipe, `identify()` and `galah_identify()` are synonymous. # hence the following is identical to the previous example: request_data() |> identify(\"Eolophus\") |> count() |> collect() # If you know a valid taxon identifier, use `galah_filter()` instead. # (This was formerly supported by `galah_identify()` with `search = FALSE`) id <- \"https://biodiversity.org.au/afd/taxa/009169a9-a916-40ee-866c-669ae0a21c5c\" galah_call() |> galah_filter(lsid == id) |> atlas_counts() }"},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify fields for occurrence download — galah_select","title":"Specify fields for occurrence download — galah_select","text":"GBIF partner nodes store content hundreds different fields, users often require thousands millions records time. reduce time taken download data, limit complexity resulting tibble, sensible restrict fields returned atlas_occurrences(). function allows easy selection fields, commonly-requested groups columns, following syntax shared dplyr::select(). full list available fields can viewed show_all(fields). Note select() galah_select() supported atlases allow downloads, exception GBIF, columns returned.","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify fields for occurrence download — galah_select","text":"","code":"galah_select(..., group) # S3 method for data_request select(.data, ..., group)"},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify fields for occurrence download — galah_select","text":"... zero individual column names include group string: (optional) name one column groups include. Valid options \"basic\", \"event\" \"assertions\" .data object class data_request, created using galah_call()","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify fields for occurrence download — galah_select","text":"tibble specifying name type column include call atlas_counts() atlas_occurrences().","code":""},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify fields for occurrence download — galah_select","text":"Calling argument group = \"basic\" returns following columns: decimalLatitude decimalLongitude eventDate scientificName taxonConceptID recordID dataResourceName occurrenceStatus Using group = \"event\" returns following columns: eventRemarks eventTime eventID eventDate samplingEffort samplingProtocol Using group = \"media\" returns following columns: multimedia multimediaLicence images videos sounds Using group = \"assertions\" returns quality assertion-related columns. list assertions shown show_all_assertions().","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/galah_select.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify fields for occurrence download — galah_select","text":"","code":"if (FALSE) { # Download occurrence records of *Perameles*, # Only return scientificName and eventDate columns galah_config(email = \"your-email@email.com\") galah_call() |> galah_identify(\"perameles\")|> galah_select(scientificName, eventDate) |> atlas_occurrences() # Only return the \"basic\" group of columns and the basisOfRecord column galah_call() |> galah_identify(\"perameles\") |> galah_select(basisOfRecord, group = \"basic\") |> atlas_occurrences() # When used in a pipe, `galah_select()` and `select()` are synonymous. # Hence the previous example can be rewritten as: request_data() |> identify(\"perameles\") |> select(basisOfRecord, group = \"basic\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":null,"dir":"Reference","previous_headings":"","what":"Print galah objects — print_galah_objects","title":"Print galah objects — print_galah_objects","text":"version 2.0, galah supports several bespoke object types. Classes data_request, metadata_request files_request starting pipes download different types information. objects parsed using collapse() query_set object, contains set query objects, describing one API call. enacted using compute() /collect(). Finally, galah_config() creates object class galah_config (unsurprisingly) stores configuration information.","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print galah objects — print_galah_objects","text":"","code":"# S3 method for data_request print(x, ...) # S3 method for files_request print(x, ...) # S3 method for metadata_request print(x, ...) # S3 method for query print(x, ...) # S3 method for query_set print(x, ...) # S3 method for galah_config print(x, ...)"},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print galah objects — print_galah_objects","text":"x object appropriate class ... Arguments passed methods","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print galah objects — print_galah_objects","text":"Print return object; instead prints description object console","code":""},{"path":"https://galah.ala.org.au/reference/print_galah_objects.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print galah objects — print_galah_objects","text":"","code":"# The most common way to start a pipe is with `galah_call()` # later functions update the `data_request` object galah_call() |> # same as calling `request_data()` filter(year >= 2020) |> group_by(year) |> count() #> Object of type `data_request` containing: #> • type occurrences-count #> • filter year >= 2020 #> • group_by year # Metadata requests are formatted in a similar way request_metadata() |> filter(field == basisOfRecord) |> unnest() #> Object of type `metadata_request` containing: #> • type fields-unnest #> • filter field == basisOfRecord # Queries are converted into a `query_set` by `collapse()` x <- galah_call() |> # same as calling `request_data()` filter(year >= 2020) |> group_by(year) |> count() |> collapse() print(x) #> Object of class `query_set` containing 3 queries: #> • metadata/fields data: galah:::check_internal_cache()$fields #> • metadata/assertions data: galah:::check_internal_cache()$assertions #> • data/occurrences-count-groupby url: https://biocache-ws.ala.org.au/ws/occurre... # Each `query_set` contains one or more `query` objects x[[3]] #> Object of class query with type data/occurrences-count-groupby #> url: https://biocache-ws.ala.org.au/ws/occurrences/facets?fq=%28year%3A%5B2... #> arrange: count (descending)"},{"path":"https://galah.ala.org.au/reference/reexports.html","id":null,"dir":"Reference","previous_headings":"","what":"Objects exported from other packages — reexports","title":"Objects exported from other packages — reexports","text":"objects imported packages. Follow links see documentation. dplyr arrange, collapse, collect, compute, count, filter, group_by, select, slice_head graphics identify sf st_crop","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":null,"dir":"Reference","previous_headings":"","what":"Search for record information — search_all","title":"Search for record information — search_all","text":"living atlases store huge amount information, beyond occurrence records main output. galah, one way users can investigate information searching specific option category type information interested . Functions prefixed search_ , displaying matches search term within valid options information specified suffix. search_all() helper function can searches within multiple types information search_ sub-functions. See Details () accepted values.","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Search for record information — search_all","text":"","code":"search_all(type, query) search_assertions(query) search_apis(query) search_atlases(query) search_collections(query) search_datasets(query) search_fields(query) search_identifiers(...) search_licences(query) search_lists(query) search_profiles(query) search_providers(query) search_ranks(query) search_reasons(query) search_taxa(...)"},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Search for record information — search_all","text":"type string specify type parameters searched. query string specifying search term. Searches case-sensitive. ... set strings tibble queried","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Search for record information — search_all","text":"object class tbl_df data.frame (aka tibble) containing data match search query.","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Search for record information — search_all","text":"five categories information, specific sub-functions look-type information. available types information search_all() :","code":""},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Search for record information — search_all","text":"Darwin Core terms https://dwc.tdwg.org/terms/","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/search_all.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Search for record information — search_all","text":"","code":"if (FALSE) { # Search for fields that include the word \"date\" search_all(fields, \"date\") # Search for fields that include the word \"marine\" search_all(fields, \"marine\") # Search using a single taxonomic term # (see `?search_taxa()` for more information) search_all(taxa, \"Reptilia\") # equivalent # Look up a unique taxon identifier # (see `?search_identifiers()` for more information) search_all(identifiers, \"https://id.biodiversity.org.au/node/apni/2914510\") # Search for species lists that match \"endangered\" search_all(lists, \"endangered\") # equivalent # Search for a valid taxonomic rank, \"subphylum\" search_all(ranks, \"subphylum\") # An alternative is to download the data and then `filter` it. This is # largely synonymous, and allows greater control over which fields are searched. request_metadata(type = \"fields\") |> collect() |> dplyr::filter(grepl(\"date\", id)) }"},{"path":"https://galah.ala.org.au/reference/show_all.html","id":null,"dir":"Reference","previous_headings":"","what":"Show valid record information — show_all","title":"Show valid record information — show_all","text":"living atlases store huge amount information, beyond occurrence records main output. galah, one way users can investigate information showing available options categories type information interested . Functions prefixed show_all_ , displaying valid options information specified suffix. show_all() helper function can display multiple types information show_all_ sub-functions.","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show valid record information — show_all","text":"","code":"show_all(..., limit = NULL) show_all_apis(limit = NULL) show_all_assertions(limit = NULL) show_all_atlases(limit = NULL) show_all_collections(limit = NULL) show_all_datasets(limit = NULL) show_all_fields(limit = NULL) show_all_licences(limit = NULL) show_all_lists(limit = NULL) show_all_profiles(limit = NULL) show_all_providers(limit = NULL) show_all_ranks(limit = NULL) show_all_reasons(limit = NULL)"},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show valid record information — show_all","text":"... String showing type information requested. See Details () accepted values. limit Optional number values return. Defaults NULL, .e. records","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show valid record information — show_all","text":"object class tbl_df data.frame (aka tibble) containing data interest.","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Show valid record information — show_all","text":"five categories information, specific sub-functions look-type information. available types information show_all_ :","code":""},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Show valid record information — show_all","text":"Darwin Core terms https://dwc.tdwg.org/terms/","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/show_all.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show valid record information — show_all","text":"","code":"if (FALSE) { # See all supported atlases show_all(atlases) # Show a list of all available data quality profiles show_all(profiles) # Show a listing of all accepted reasons for downloading occurrence data show_all(reasons) # Show a listing of all taxonomic ranks show_all(ranks) # `show_all()` is synonymous with `request_metadata() |> collect()` request_metadata(type = \"fields\") |> collect() }"},{"path":"https://galah.ala.org.au/reference/show_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Show or search for values within a specified field — show_values","title":"Show or search for values within a specified field — show_values","text":"Users may wish see specific values within chosen field, profile list narrow queries understand information interest. show_values() provides users values. search_values() allows users search specific values within specified field.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show or search for values within a specified field — show_values","text":"","code":"show_values(df) search_values(df, query)"},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show or search for values within a specified field — show_values","text":"df search result search_fields(), search_profiles() search_lists(). query string specifying search term. case sensitive.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show or search for values within a specified field — show_values","text":"tibble values specified field, profile list.","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Show or search for values within a specified field — show_values","text":"Field contains categorical numeric values. example: field \"year\" contains values 2021, 2020, 2019, etc. field \"stateProvince\" contains values New South Wales, Victoria, Queensland, etc. used narrow queries galah_filter(). Profile consists many individual quality filters. example, \"ALA\" profile consists values: Exclude records spatial validity FALSE Exclude records latitude value zero Exclude records longitude value zero List contains list species, usually taxonomic name. example, Endangered Plant species list contains values: Acacia curranii (Curly-bark Wattle) Brachyscome papillosa (Mossgiel Daisy) Solanum karsense (Menindee Nightshade)","code":""},{"path":"https://galah.ala.org.au/reference/show_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show or search for values within a specified field — show_values","text":"","code":"if (FALSE) { # Show values in field 'cl22' search_fields(\"cl22\") |> show_values() # This is synonymous with `request_metadata() |> unnest()`. # For example, the previous example can be run using: request_metadata() |> filter(field == \"cl22\") |> unnest() |> collect() # Search for any values in field 'cl22' that match 'tas' search_fields(\"cl22\") |> search_values(\"tas\") # See items within species list \"dr19257\" search_lists(\"dr19257\") |> show_values() }"},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":null,"dir":"Reference","previous_headings":"","what":"Subset first rows of data_request — slice_head.data_request","title":"Subset first rows of data_request — slice_head.data_request","text":"simple function set limit argument atlas_counts() using dplyr syntax. galah 2.0.0, slice_head() supported queries type occurrences-count(), metadata requests. Note also slice_head() lazily evaluated; affects query run compute() (likely) collect().","code":""},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Subset first rows of data_request — slice_head.data_request","text":"","code":"# S3 method for data_request slice_head(.data, ..., n, prop, by = NULL) # S3 method for metadata_request slice_head(.data, ..., n, prop, by = NULL)"},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Subset first rows of data_request — slice_head.data_request","text":".data object class data_request, created using galah_call() ... currently ignored n number rows returned. data grouped (using group_by), operation performed group. prop currently ignored, added later currently ignored","code":""},{"path":"https://galah.ala.org.au/reference/slice_head.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Subset first rows of data_request — slice_head.data_request","text":"","code":"if (FALSE) { # Limit number of rows returned to 3. # In this case, our query returns the top 3 years with most records. galah_call() |> identify(\"perameles\") |> filter(year > 2010) |> group_by(year) |> count() |> slice_head(n = 3) |> collect() }"},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Non-generic tidyverse functions — tidyverse_functions","title":"Non-generic tidyverse functions — tidyverse_functions","text":"Several useful functions tidyverse packages generic, meaning can define class-specific versions functions implement galah; examples include filter(), select() group_by(). However, also functions defined within tidyverse packages generic. cases re-implemented functions galah. consequence supporting consistent syntax tidyverse, cost potentially introducing conflicts. can avoided using :: operator required (see examples).","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Non-generic tidyverse functions — tidyverse_functions","text":"","code":"desc(...) unnest(.query)"},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Non-generic tidyverse functions — tidyverse_functions","text":"... column order .query object class metadata_request","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Non-generic tidyverse functions — tidyverse_functions","text":"galah::desc() returns tibble used arrange.data_request() arrange rows query. galah::unnest() returns object class metadata_request.","code":""},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Non-generic tidyverse functions — tidyverse_functions","text":"following functions included: desc() (dplyr): Use within arrange() specify arrangement descending unnest() (tidyr): Use 'drill ' nested information fields, lists, profiles, taxa galah versions use lazy evaluation.","code":""},{"path":[]},{"path":"https://galah.ala.org.au/reference/tidyverse_functions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Non-generic tidyverse functions — tidyverse_functions","text":"","code":"if (FALSE) { # Arrange grouped record counts by descending year galah_call() |> identify(\"perameles\") |> filter(year > 2019) |> count() |> arrange(galah::desc(year)) |> collect() # Return values of field `basisOfRecord` request_metadata() |> galah::unnest() |> filter(field == basisOfRecord) |> collect() # Using `galah::unnest()` in this way is equivalent to: show_all(fields, \"basisOfRecord\") |> show_values() }"},{"path":[]},{"path":"https://galah.ala.org.au/news/index.html","id":"object-oriented-programming-2-0-0","dir":"Changelog","previous_headings":"","what":"Object-oriented programming","title":"galah 2.0.0","text":"galah 2.0.0 now built around object-oriented programming principles. architectural change makes query building galah modular transparent. result, galah 2.0.0 allows easier debugging gives users options advanced query building (information, see “Object-oriented programming” vignette galah website) (#183).","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"collapse-compute-collect-2-0-0","dir":"Changelog","previous_headings":"","what":"collapse(), compute(), collect()","title":"galah 2.0.0","text":"New underlying architecture behind every function pings API galah separates query building 3 stages: Convert object query_set lists APIs pinged (collapse()), send queries required APIs (compute()), return data tibble (collect()) (#183). New architecture solves timing-issue downloading large numbers records (#180, #192) galah_filter(), galah_select() related functions now evaluated lazily; API calls made compute() called, meaning earlier programming stages faster easier debug.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"major-improvements-to-galah_filter-2-0-0","dir":"Changelog","previous_headings":"","what":"Major improvements to galah_filter()","title":"galah 2.0.0","text":"galah_filter() upgraded use hierarchical parsing architecture suggested Advanced R. result, galah_filter() faster evaluates expressions consistently (#196, #169) galah_filter() now supports .na, !, c() & %% (#196)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-2-0-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 2.0.0","text":"potions package underlies galah_config() better options management (#193) Addition slice_head() desc() masked functions use galah atlas_counts() query. New vignettes added advanced taxonomic, spatial temporal filtering (#42)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-2-0-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 2.0.0","text":"Fixed parsing | galah_filter() (#169) show_values() errors nicely API (#184) Sporadic atlas$region error loading galah fixed potions package implementation (#178) DOI longer missing attribute atlas_occurrences(mint_doi = TRUE) (#182) Fixed bug order fields group_by() sometimes caused error (#201) Fixed parsing ampersands (&) query results (#203) galah builds correct data_request object wrapped function (#207)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-154","dir":"Changelog","previous_headings":"","what":"galah 1.5.4","title":"galah 1.5.4","text":"CRAN release: 2023-10-14 Patch release fix minor issues devel systems CRAN.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-153","dir":"Changelog","previous_headings":"","what":"galah 1.5.3","title":"galah 1.5.3","text":"CRAN release: 2023-07-01 Minor release address CRAN issues. Last release 2.0.0.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-152","dir":"Changelog","previous_headings":"","what":"galah 1.5.2","title":"galah 1.5.2","text":"CRAN release: 2023-03-10 Minor release resolve issues CRAN, recent bugs.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.5.2","text":"Prevent error providing tibble input search_taxa() (e.g., resolve homonyms, #168) Better error message email address required, given (#179) Add informative message users call galah_select() atlas = GBIF (supported; #181) Ensure DOIs added downloads requested (#182) Improve tests avoid flagging issues CRAN one atlases (#184) Resolve problem queries replaced ... galah_filter() (#186)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-151","dir":"Changelog","previous_headings":"","what":"galah 1.5.1","title":"galah 1.5.1","text":"CRAN release: 2023-01-13","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"mask-function-names-from-other-packages-1-5-1","dir":"Changelog","previous_headings":"","what":"Mask function names from other packages","title":"galah 1.5.1","text":"experimental feature version 1.5.1 ability call functions packages (#161), synonyms galah_ functions. : identify() ({graphics}) synonym galah_identify() select() (dplyr) synonym galah_select() group_by() (dplyr) synonym galah_group_by() slice_head() (dplyr) synonym limit argument atlas_counts() st_crop() (sf) synonym galah_polygon() count() (dplyr) synonym atlas_counts() implemented S3 methods objects class data_request, created galah_call(). Hence new function names work piped galah_call().","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"experimental-support-for-gbif-queries-1-5-1","dir":"Changelog","previous_headings":"","what":"Experimental support for GBIF queries","title":"galah 1.5.1","text":"Global Biodiversity Information Facility (GBIF) umbrella organisation atlases supply data. Hence logical able query GBIF ’s “nodes” (.e. living atlases) via common API. Supported functions : search_taxa galah_identify name matching show_all(fields) show_all(assertions) show_all() calls give ‘collections’ information limited 20 records default, GBIF datasets often huge. search_all() generally reliable show_values() GBIF field galah_filter galah_group_by (therefore filter group_by(), see ), galah_select. atlas_counts() (therefore count(), see ) atlas_occurrences() & atlas_species(); implemented via ‘downloads’ system, meaning queries can larger, may slow current implementation experimental back-end changes expected future. Users require stable implementation use {rgbif} package.","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-5-1","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.5.1","text":"galah_config() gains print function, now uses fuzzy matching atlas field match region, organisation acronym (defined show_all(atlases)). example use case match organisations via acronyms, e.g. galah_config(atlas = \"ALA\"). Improved support data Spain via gbif.es (name-matching, lists, spatial) Swapped provider data France; formerly gbif.fr, now OpenObs, per advice maintainers Reading data disk now uses readr::read_csv place utils::read.csv improved speed show_all (associated sub-functions) gain limit argument, set NULL (.e. limit) default galah longer imports data.table, since function previously used package (rbindlist) duplicated dplyr::bind_rows Help files now built without markdown improved speed (mainly building)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-1","dir":"Changelog","previous_headings":"","what":"Bug fixes:","title":"galah 1.5.1","text":"New function url_paginate() handle cases pagination needed, total data length unknown (e.g. show_all_lists(), #170). galah_select(group = \"assertions\") always enacted properly atlas_occurrences, won’t lead overly long urls (#137). called without field names, recordID added avoid triggering ‘default’ set columns. atlas_species works minor changes API; requires registered email function","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-150","dir":"Changelog","previous_headings":"","what":"galah 1.5.0","title":"galah 1.5.0","text":"CRAN release: 2022-10-27","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"expanded-support-for-querying-other-international-living-atlases-1-5-0","dir":"Changelog","previous_headings":"","what":"Expanded support for querying other International Living Atlases","title":"galah 1.5.0","text":"Support complex queries 10 Living Atlases, including France, Guatemala Sweden. Complex queries can constructed using galah_call(), filtered galah_ functions, downloaded atlas_ functions. Previously, functionality possible queries ALA (#126)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"collect_media-1-5-0","dir":"Changelog","previous_headings":"","what":"collect_media()","title":"galah 1.5.0","text":"Show available media: atlas_media() returns tibble available media files Download media: collect_media() downloads list media atlas_media() local machine Download image thumbnails specifying type = \"thumbnails\" collect_media() (#140)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"updates-to-galah_geolocate-1-5-0","dir":"Changelog","previous_headings":"","what":"Updates to galah_geolocate()","title":"galah 1.5.0","text":"galah_geolocate() now supports filtering queries using polygons bounding boxes. Overall improvements bug fixes galah_geolocate() new internal functions galah_polygon() galah_bbox() (#125)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"show_all-search_all--show_values-search_values-1-5-0","dir":"Changelog","previous_headings":"","what":"show_all(), search_all() & show_values(), search_values()","title":"galah 1.5.0","text":"Experimental functions show_all() search_all() flexible look-functions can search information {galah}, rather separate search_/show_all_ functions (e.g. search_fields(), search_atlases(), show_all_fields(), show_all_reasons(), etc) (#127, #132) Added look-support collections, data providers, data resources, licenses, APIs species lists (e.g. list endangered species) (#126, #127, #132, #151) Checking valid values within fields, profiles species lists improved functions show_values() & search_values() (#131)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-5-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.5.0","text":"Apply data quality profiles pipe galah_apply_profile() function (#130) Improved internal consistency galah_ functions (#133) galah_geolocate() longer depends archived {wellknown} package (#141) Added support queries exclude/include missing values (e.g. galah_filter(species != \"\") galah_filter(species == \"\") (#143) Re-download previously-minted DOI collect_doi() (#140) checks ensure galah fails gracefully API fails (#157)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-5-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.5.0","text":"galah_select() longer adds “basic” group columns automatically (#128) galah_config() doesn’t display incorrect preserve = TRUE message (#136) Fixes error selecting assertion columns galah_select() (#137) atlas_counts() atlas_occurrences() longer return different record numbers field empty (#138) atlas_media() results longer differ results returned galah_filter() & atlas_counts() (#151)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-140","dir":"Changelog","previous_headings":"","what":"galah 1.4.0","title":"galah 1.4.0","text":"CRAN release: 2022-01-24","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"revamped-syntax-1-4-0","dir":"Changelog","previous_headings":"","what":"Revamped syntax","title":"galah 1.4.0","text":"ala_ functions renamed use prefix atlas_. change reflects functionality international atlases (.e., atlas_occurrences, atlas_counts, atlas_species, atlas_media, atlas_taxonomy, atlas_citation) (#103) select_taxa replaced 3 functions: galah_identify, search_taxa search_identifiers. galah_identify used building data queries, whereas search_taxa search_identifiers now exclusively used search taxonomic information. Syntax changes intended reflect usage expected output (#112, #122) select_ functions renamed use prefix galah_. Specifically, galah_filter, galah_select galah_geolocate replace select_filters, select_columns select_locations. syntax changes reflect move towards consistency dplyr naming functionality (#101, #108) find_ functions provide listing possible values renamed show_all_ (.e., show_all_profiles, show_all_ranks, show_all_atlases, show_all_cached_files, show_all_fields, show_all_reasons). find_ functions require input return specific results renamed search_ (.e., search_field_values, search_profile_attributes) (#112, #113)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_group_by-1-4-0","dir":"Changelog","previous_headings":"","what":"galah_group_by","title":"galah 1.4.0","text":"Group fields using galah_group_by(), groups summarises record counts based categorical field values, similar dplyr::group_by() (#90, #95)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_down_to-1-4-0","dir":"Changelog","previous_headings":"","what":"galah_down_to","title":"galah 1.4.0","text":"Select taxonomic level taxonomic tree go galah_down_to() + atlas_taxonomy(), uses tidy evaluation like galah_ functions (#101, #120)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"pipe-queries-using-galah_call-1-4-0","dir":"Changelog","previous_headings":"","what":"Pipe queries using galah_call","title":"galah 1.4.0","text":"Build data queries using piping syntax (.e., |>, %>%) first using galah_call(), narrowing queries galah_ functions finishing queries atlas_ function (#60, #120). S3 methods now implemented functions allow piping (#40)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-4-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.4.0","text":"Improved error messages using {glue} {rlang} (#117) Revamped syntax functions return output tibbles (#110, #118) Pass vectors galah_filter (#91, #92) Cache valid fields faster field look (#73, #116) New vignettes updated syntax (#104, #105), plus improvements previous vignettes. Updated R Markdown-style documentation added warnings deprecated functions (#113, #121)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-4-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.4.0","text":"galah longer returns error ALA system /API fails (#102, #119) search_taxa returns correct IDs search terms parentheses (#96) search_taxa returns best-fit taxonomic result ranks specified data.frame tibble (#115)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-131","dir":"Changelog","previous_headings":"","what":"galah 1.3.1","title":"galah 1.3.1","text":"CRAN release: 2021-08-21","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"search_taxonomy-renamed-to-ala_taxonomy-1-3-1","dir":"Changelog","previous_headings":"","what":"search_taxonomy() renamed to ala_taxonomy()","title":"galah 1.3.1","text":"bug fix: ala_taxonomy longer fails nodes ranked informal unranked (#86) function now returns tree built using data.tree package change function name required greater consistency data-providing functions galah","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"vignettes-1-3-1","dir":"Changelog","previous_headings":"","what":"Vignettes","title":"galah 1.3.1","text":"vignettes now pre-compiled avoid failing CRAN (#85) expanded vignette navigating taxonomic information (#42)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-130","dir":"Changelog","previous_headings":"","what":"galah 1.3.0","title":"galah 1.3.0","text":"CRAN release: 2021-08-06","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah_config-1-3-0","dir":"Changelog","previous_headings":"","what":"galah_config()","title":"galah 1.3.0","text":"ala_config() renamed galah_config() improve internal consistency (#68)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"search_taxonomy-1-3-0","dir":"Changelog","previous_headings":"","what":"search_taxonomy()","title":"galah 1.3.0","text":"search_taxonomy() provides means search taxonomic names check results ‘correct’ proceeding download data via ala_occurrences(), ala_species() ala_counts() (e.g., ambiguous homonymous) (#64 #75) search_taxonomy() returns information author authority taxonomic names (#79) search_taxonomy() consistently orders column names, including correct taxonomic order rank (#81)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"caching-helper-functions-1-3-0","dir":"Changelog","previous_headings":"","what":"Caching helper functions","title":"galah 1.3.0","text":"find_cached_files() lists user cached files stored metadata (#57) clear_cached_files() removes previously cached files stored metadata (#71) ala_counts(), ala_occurrences(), ala_media() ala_species() now refresh_cache argument remove previously cached files replace current query (#71)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-3-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.3.0","text":"Cache files saved RDS format, making query attributes easier find, including data DOI, search url (#55, #32, #28) ala_media() caches media metadata galah_config(caching = TRUE) search_fields() allows user pass qid argument (#59) Users can now optionally skip filter count validation checks spatial biocache web services setting galah_config(run_checks = FALSE). helps users avoid slowing data request download speeds many requests made quick succession via galah_filter() ala_occurrences() (#61, #80) ala_counts(), select_columns() search_fields() now use match.arg approximate strings fuzzy matching (#66) Better handling cache errors improved error messages (#70)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-3-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.3.0","text":"select_columns(group = 'assertions') now sends qa = includeall ALA web service API return assertion columns (#48) ala_occurrences() returns data DOI ala_occurrences(mint_doi = TRUE) re-downloads data called multiple times (#56) ala_occurrences() longer converts field names -CAPS camelCase (#62)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-120","dir":"Changelog","previous_headings":"","what":"galah 1.2.0","title":"galah 1.2.0","text":"CRAN release: 2021-07-02","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"living-atlases-1-2-0","dir":"Changelog","previous_headings":"","what":"Living Atlases","title":"galah 1.2.0","text":"ala_config() allows users specify international Atlas download data (#21)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-2-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.2.0","text":"ala_media() includes file path downloaded media returned metadata (#22) Data returned ala_occurrences() contains search_url used download records; takes user website search page (#32) ala_species() provides helpful error species found (#39) Data quality filters created using specific web service argument, rather constructing filters attributes (#37) select_taxa() optional all_ranks argument return intermediate rank information (#35)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"bug-fixes-1-2-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"galah 1.2.0","text":"R > 4.0.0 now required (#43, #45) select_taxa() behaves expected character strings 32 36 characters provided (#23) Caching functionality ala_occurrences() uses columns expected (#30) galah_filter() negates assertion filters required, fixing issue assertion values ignored (#27) select_taxa() longer throws error queries one term differing number columns return value (#41) ala_counts() returns data.frame consistent column classes group_by parameter called multiple times ala_config(caching = TRUE) (#47) ala_ functions fail gracefully non-id character string passed (#49)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-110","dir":"Changelog","previous_headings":"","what":"galah 1.1.0","title":"galah 1.1.0","text":"CRAN release: 2021-05-05","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"downloading-media-1-1-0","dir":"Changelog","previous_headings":"","what":"Downloading media","title":"galah 1.1.0","text":"ala_media() now takes select_ arguments ala_ functions (#18) Filtering media metadata e.g. licence type possible (#19) search_fields now media type argument option Performance improvement download times (#13) Progress bar displayed downloads verbose == TRUE (#8) media download types supported","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"select_-functions-1-1-0","dir":"Changelog","previous_headings":"","what":"select_ functions","title":"galah 1.1.0","text":"galah_location auto-detects type argument provided takes single argument, query, place sf wkt (#17) select_taxa auto-detects type argument provided takes single argument, query, place term term_type (#16)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"minor-improvements-1-1-0","dir":"Changelog","previous_headings":"","what":"Minor improvements","title":"galah 1.1.0","text":"Provide useful error message empty occurrence download (#7) ala_counts uses group_by field name returned data.frame column name (#6) ala_occurrences sends sourceId parameter ALA (#5) search_fields provides helpful error invalid types (#11)","code":""},{"path":"https://galah.ala.org.au/news/index.html","id":"galah-100","dir":"Changelog","previous_headings":"","what":"galah 1.0.0","title":"galah 1.0.0","text":"CRAN release: 2021-04-06 First version galah, built earlier functionality ALA4R package.","code":""}]