osem_measurements | R Documentation |
Measurements can be retrieved either for a set of boxes, or through a spatial
bounding box filter. To get all measurements, the default
function applies
a bounding box spanning the whole world.
osem_measurements(x, ...) ## Default S3 method: osem_measurements(x, ...) ## S3 method for class 'bbox' osem_measurements( x, phenomenon, exposure = NA, from = NA, to = NA, columns = NA, ..., endpoint = osem_endpoint(), progress = TRUE, cache = NA ) ## S3 method for class 'sensebox' osem_measurements( x, phenomenon, exposure = NA, from = NA, to = NA, columns = NA, ..., endpoint = osem_endpoint(), progress = TRUE, cache = NA )
x |
Depending on the method, either
|
... |
see parameters below |
phenomenon |
The phenomenon to retrieve measurements for |
exposure |
Filter sensors by their exposure ('indoor', 'outdoor', 'mobile') |
from |
A |
to |
A |
columns |
Select specific column in the output (see openSenseMap API documentation) |
endpoint |
The URL of the openSenseMap API |
progress |
Whether to print download progress information |
cache |
Whether to cache the result, defaults to false. If a valid path to a directory is given, the response will be cached there. Subsequent identical requests will return the cached data instead. |
An osem_measurements data.frame
containing the
requested measurements
osem_measurements(default)
: Get measurements from all senseBoxes.
osem_measurements(bbox)
: Get measurements by a spatial filter.
osem_measurements(sensebox)
: Get measurements from a set of senseBoxes.
openSenseMap API documentation (web)
osem_box
osem_boxes
osem_clear_cache
## Not run: # get measurements from all boxes on the phenomenon 'PM10' from the last 48h m = osem_measurements('PM10') # get measurements from all mobile boxes on the phenomenon 'PM10' from the last 48h m = osem_measurements('PM10', exposure = 'mobile') # get measurements and cache them locally in the working directory. # subsequent identical requests will load from the cache instead, ensuring # reproducibility and saving time and bandwidth! m = osem_measurements('PM10', exposure = 'mobile', cache = getwd()) m = osem_measurements('PM10', exposure = 'mobile', cache = getwd()) # get measurements returning a custom selection of columns m = osem_measurements('PM10', exposure = 'mobile', columns = c( 'value', 'boxId', 'sensorType', 'lat', 'lon', 'height' )) ## End(Not run) ## Not run: # get measurements from sensors within a custom WGS84 bounding box bbox = structure(c(7, 51, 8, 52), class = 'bbox') m = osem_measurements(bbox, 'Temperatur') # construct a bounding box 12km around berlin using the sf package, # and get measurements from stations within that box library(sf) library(units) bbox2 = st_point(c(13.4034, 52.5120)) %>% st_sfc(crs = 4326) %>% st_transform(3857) %>% # allow setting a buffer in meters st_buffer(set_units(12, km)) %>% st_transform(4326) %>% # the opensensemap expects WGS 84 st_bbox() m = osem_measurements(bbox2, 'Temperatur', exposure = 'outdoor') # construct a bounding box from two points, # and get measurements from stations within that box points = st_multipoint(matrix(c(7.5, 7.8, 51.7, 52), 2, 2)) bbox3 = st_bbox(points) m = osem_measurements(bbox2, 'Temperatur', exposure = 'outdoor') ## End(Not run) # get measurements from a set of boxes b = osem_boxes(grouptag = 'ifgi') m4 = osem_measurements(b, phenomenon = 'Temperatur') # ...or a single box b = osem_box('57000b8745fd40c8196ad04c') m5 = osem_measurements(b, phenomenon = 'Temperatur') # get measurements from a single box on the from the last 40 days. # requests are paged for long time frames, so the APIs limitation # does not apply! library(lubridate) m1 = osem_measurements( b, 'Temperatur', to = now(), from = now() - days(40) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.