Create a pat
object for a specific sensor_index
.
This function splits up the requested time range into 2-day intervals (the
maximum allowed by the PurpleAir API) and makes repeated calls to
pat_downloadParseRawData()
. The sleep
parameter waits a small
amount of time between API requests.
The PurpleAir API will respond with "rate limiting" errors unless sleep is
set appropriately. When parallel = TRUE
, sleep
is ignored.
pat_createRaw(
api_key = NULL,
pas = NULL,
sensor_index = NULL,
startdate = NULL,
enddate = NULL,
timezone = "UTC",
fields = PurpleAir_PAT_QC_FIELDS,
sleep = 0.5,
parallel = FALSE,
baseUrl = "https://api.purpleair.com/v1/sensors",
verbose = TRUE
)
PurpleAir API Read Key. If api_key = NULL
, it
will be obtained using getAPIKey("PurpleAir-read")
.
See MazamaCoreUtils::setAPIKey
.
Previously generated pas object containing sensor_index
.
PurpleAir sensor unique identifier.
Desired start time (ISO 8601) or POSIXct
.
Desired end time (ISO 8601) or POSIXct
.
Olson timezone used to interpret dates.
Character string with PurpleAir field names for the Get Sensor Data API.
Seconds to sleep between API requests.
Logical specifying whether to attempt simultaneous downloads
using parallel::mcparallel
. (Not available
on Windows.)
Base URL for the PurpleAir API.
Logical controlling the generation of warning and error messages.
A raw PurpleAir Timeseries pat object.
Parallel processing using parallel = TRUE
is not available on
Windows machines.
# \donttest{
# Fail gracefully if any resources are not available
try({
# AirSensor2 package
library(AirSensor2)
# Set user's PurpleAir_API_READ_KEY
source('global_vars.R')
setAPIKey("PurpleAir-read", PurpleAir_API_READ_KEY)
# Initialize spatial datasets
initializeMazamaSpatialUtils()
pat <-
pat_createRaw(
pas = example_pas_pm25,
sensor_index = "76545",
startdate = "2023-01-01",
enddate = "2023-01-03",
timezone = "UTC",
verbose = TRUE
)
View(pat$data[1:100,])
}, silent = FALSE)
#> Warning: cannot open file 'global_vars.R': No such file or directory
#> Error in file(filename, "r", encoding = encoding) :
#> cannot open the connection
# }