Title: | Tools to Work with the 'Dark Sky' 'API' |
---|---|
Description: | Provides programmatic access to the 'Dark Sky' 'API' <https://darksky.net/dev/docs>, which provides current or historical global weather conditions. |
Authors: | Bob Rudis [aut, cre], Lasse Vilhelmsen [ctb], David Severski [ctb] |
Maintainer: | Bob Rudis <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.3.0 |
Built: | 2025-01-09 06:27:01 UTC |
Source: | https://github.com/hrbrmstr/darksky |
Programmatic access to the Dark Sky API <https://darksky.net/dev/docs>, which provides current or historical global weather conditions.
Bob Rudis ([email protected])
The API wrapper functions in this package all rely on a Dark Sky API
key residing in the environment variable DARKSKY_API_KEY
. The
easiest way to accomplish this is to set it in the '.Renviron
' file in your
home directory.
darksky_api_key(force = FALSE)
darksky_api_key(force = FALSE)
force |
force setting a new Dark Sky API key for the current environment? |
atomic character vector containing the Dark Sky API key
The Dark Sky API lets you query for most locations on the globe, and returns:
current conditions
minute-by-minute forecasts out to 1 hour (where available)
hour-by-hour forecasts out to 48 hours
day-by-day forecasts out to 7 days
get_current_forecast(latitude, longitude, units = "us", language = "en", exclude = NULL, extend = NULL, add_json = FALSE, add_headers = FALSE, ...)
get_current_forecast(latitude, longitude, units = "us", language = "en", exclude = NULL, extend = NULL, add_json = FALSE, add_headers = FALSE, ...)
latitude |
forecast latitude (character, decimal format) |
longitude |
forecast longitude (character, decimal format) |
units |
return the API response in units other than the default Imperial unit |
language |
return text summaries in the desired language |
exclude |
exclude some number of data blocks from the API response. This is useful
for reducing latency and saving cache space. This should be a comma-separated string
(without spaces) including one or more of the following: ( |
extend |
setting this parameter to |
add_json |
add the raw JSON response to the object? |
add_headers |
add the return headers to the object? |
... |
pass through parameters to |
If you wish to have results in something besides Imperial units, set units
to
one of (si
, ca
, uk
). Setting units
to auto
will have
the API select the relevant units automatically, based on geographic location. This
value is set to us
(Imperial) units by default.
If you wish to have text summaries presented in a different language, set
language
to one of (ar
, bs
, de
, es
, fr
,
it
, nl
, pl
, pt
, ru
, sv
, tet
,
tr
, x-pig-latin
, zh
). This value is set to en
(English) by
default.
See the Options section of the official Dark Sky API documentation for more information.
an darksky
object that contains the original JSON response object
(optionally), a list of named 'tbl_df' 'data.frame' objects corresponding to what
was returned by the API and (optionally) relevant response headers (cache-control
,
expires
, x-forecast-api-calls
, x-response-time
).
## Not run: tmp <- get_current_forecast(37.8267, -122.423) ## End(Not run)
## Not run: tmp <- get_current_forecast(37.8267, -122.423) ## End(Not run)
Query for a specific time, past or future (for many places, 60 years in the past to 10 years in the future).
get_forecast_for(latitude, longitude, timestamp, units = "us", language = "en", exclude = NULL, add_json = FALSE, add_headers = FALSE, ...)
get_forecast_for(latitude, longitude, timestamp, units = "us", language = "en", exclude = NULL, add_json = FALSE, add_headers = FALSE, ...)
latitude |
forecast latitude (character, decimal format) |
longitude |
forecast longitude (character, decimal format) |
timestamp |
should either be a UNIX time (that is, seconds since midnight GMT on 1
Jan 1970) or a string formatted as follows: |
units |
return the API response in units other than the default Imperial unit |
language |
return text summaries in the desired language |
exclude |
exclude some number of data blocks from the API response. This is useful
for reducing latency and saving cache space. This should be a comma-separated string
(without spaces) including one or more of the following: ( |
add_json |
add the raw JSON response to the object? |
add_headers |
add the return headers to the object? |
... |
pass through parameters to |
If you wish to have results in something besides Imperial units, set units
to
one of (si
, ca
, uk
). Setting units
to auto
will have
the API select the relevant units automatically, based on geographic location. This
value is set to us
(Imperial) units by default.
If you wish to have text summaries presented in a different language, set
language
to one of (ar
, bs
, de
, es
, fr
,
it
, nl
, pl
, pt
, ru
, sv
, tet
,
tr
, x-pig-latin
, zh
). This value is set to en
(English) by
default.
See the Options section of the official Dark Sky API documentation for more information.
an darksky
object that contains the original JSON response object (optionally), a
list of named tbl_df
data.frame
objects corresponding to what was returned by
the API and (optionally) relevant response headers (cache-control
, expires
,
x-forecast-api-calls
, x-response-time
).
## Not run: tmp <- get_forecast_for(37.8267,-122.423, "2013-05-06T12:00:00-0400") ## End(Not run)
## Not run: tmp <- get_forecast_for(37.8267,-122.423, "2013-05-06T12:00:00-0400") ## End(Not run)
Uses ggplot2 & grid.arrange to produce graphs for darksky objects
## S3 method for class 'darksky' plot(x, ..., readings = c("hourly", "minutely", "daily"))
## S3 method for class 'darksky' plot(x, ..., readings = c("hourly", "minutely", "daily"))
x |
a darksky x |
... |
ignored |
readings |
specify which readings to plot. will plot all available by default |
frame grob
only forecast/readings components of x
that have more than one observation
will be plotted
Slightly more human-readable output for darksky objects
## S3 method for class 'darksky' print(x, ...)
## S3 method for class 'darksky' print(x, ...)
x |
a darksky object |
... |
ignored |