Prior to downloading data it is often valuable to have some estimate of how many records are available, both for deciding if the query is feasible, and for estimating how long it will take to download. Alternatively, for some kinds of reporting, the count of observations may be all that is required, for example for understanding how observations are growing or shrinking in particular locations, or for particular taxa. To this end, atlas_counts() takes arguments in the same format as atlas_occurrences(), and provides either a total count of records matching the criteria, or a data.frame of counts matching the criteria supplied to the group_by argument.

## Usage

atlas_counts(
request = NULL,
identify = NULL,
filter = NULL,
geolocate = NULL,
data_profile = NULL,
group_by = NULL,
limit = NULL,
type = c("record", "species"),
refresh_cache = FALSE
)

## Arguments

request

optional data_request object: generated by a call to galah_call().

identify

data.frame: generated by a call to galah_identify().

filter

data.frame: generated by a call to galah_filter()

geolocate

string: generated by a call to galah_geolocate()

data_profile

string: generated by a call to galah_apply_profile()

group_by

data.frame: An object of class galah_group_by, as returned by galah_group_by(). Alternatively a vector of field names (see search_all(fields) and show_all(fields).

limit

numeric: maximum number of categories to return, defaulting to 100. If limit is NULL, all results are returned. For some categories this will take a while.

type

string: one of c("record", "species"). Defaults to "record". If "species", the number of species matching the criteria will be returned, if "record", the number of records matching the criteria will be returned.

refresh_cache

logical: if set to TRUE and galah_config(caching = TRUE) then files cached from a previous query will be replaced by the current query

## Value

An object of class tbl_df and data.frame (aka a tibble) returning:

• A single number, if group_by is not specified or,

• A summary of counts grouped by field(s), if group_by is specified

## Examples

galah_call() |>
galah_filter(year == 2015) |>
atlas_counts()
#> # A tibble: 1 × 1
#>     count
#>     <int>
#> 1 3734066