|
|
|
% Generated by roxygen2: do not edit by hand
|
|
|
|
% Please edit documentation in R/opensensmapr.R
|
|
|
|
\docType{package}
|
|
|
|
\name{opensensmapr}
|
|
|
|
\alias{opensensmapr}
|
|
|
|
\alias{opensensmapr-package}
|
|
|
|
\title{opensensmapr: Get sensor data from opensensemap.org}
|
|
|
|
\description{
|
|
|
|
The opensensmapr package provides functions for
|
|
|
|
\itemize{
|
|
|
|
\item retrieval of senseBox metadata,
|
|
|
|
\item retrieval of senseBox measurements,
|
|
|
|
\item general statistics about the openSenseMap database.
|
|
|
|
}
|
|
|
|
Additionally, helper functions are provided to ease the integration with the
|
|
|
|
\code{\link[sf]{sf}} package for spatial analysis as well as
|
|
|
|
\code{\link[dplyr]{dplyr}} for general data handling.
|
|
|
|
}
|
|
|
|
\section{Retrieving senseBox metadata}{
|
|
|
|
|
|
|
|
On the openSenseMap, measurements are provided by sensors which are assigned
|
|
|
|
to a sensor station ("senseBox").
|
|
|
|
A senseBox consists of a collection of sensors, a location (-history), an ID,
|
|
|
|
as well as metadata about its owner & placement.
|
|
|
|
senseBoxes can be retrieved either by ID, or as a collection with optional
|
|
|
|
filters on their metadata
|
|
|
|
\itemize{
|
|
|
|
\item \code{\link{osem_box}}: Get metadata about a single box by its ID.
|
|
|
|
\item \code{\link{osem_boxes}}: Get metadata about all boxes, optionally
|
|
|
|
filtered by their attributes.
|
|
|
|
}
|
|
|
|
|
|
|
|
The data is returned as a \code{\link{data.frame}} with the class
|
|
|
|
\code{sensebox} attached.
|
|
|
|
To help in getting an overview of the dataset additional functions are
|
|
|
|
implemented:
|
|
|
|
\itemize{
|
|
|
|
\item \code{summary.sensebox()}: Aggregate the metadata about the given
|
|
|
|
list of senseBoxes.
|
|
|
|
\item \code{plot.sensebox()}: Shows the spatial distribution of the given
|
|
|
|
list of senseBoxes on a map. Requires additional packages!
|
|
|
|
\item \code{\link{osem_phenomena}}: Get a named list with
|
|
|
|
counts of the measured phenomena of the given list of senseBoxes.
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
\section{Retrieving measurements}{
|
|
|
|
|
|
|
|
There are two ways to retrieve measurements:
|
|
|
|
\itemize{
|
|
|
|
\item \code{\link{osem_measurements_archive}}:
|
|
|
|
Downloads measurements for a \emph{single box} from the openSenseMap archive.
|
|
|
|
This function does not provide realtime data, but is suitable for long time frames.
|
|
|
|
|
|
|
|
\item \code{\link{osem_measurements}}:
|
|
|
|
This function retrieves (realtime) measurements from the API. It works for a
|
|
|
|
\emph{single phenomenon} only, but provides various filters to select sensors by
|
|
|
|
|
|
|
|
\itemize{
|
|
|
|
\item a list of senseBoxes, previously retrieved through
|
|
|
|
\code{\link{osem_box}} or \code{\link{osem_boxes}}.
|
|
|
|
\item a geographic bounding box, which can be generated with the
|
|
|
|
\code{\link[sf]{sf}} package.
|
|
|
|
\item a time frame
|
|
|
|
\item a exposure type of the given box
|
|
|
|
}
|
|
|
|
|
|
|
|
Use this function with caution for long time frames, as the API becomes
|
|
|
|
quite slow is limited to 10.000 measurements per 30 day interval.
|
|
|
|
}
|
|
|
|
|
|
|
|
Data is returned as \code{tibble} with the class \code{osem_measurements}.
|
|
|
|
}
|
|
|
|
|
|
|
|
\section{Retrieving statistics}{
|
|
|
|
|
|
|
|
Count statistics about the database are provided with \code{\link{osem_counts}}.
|
|
|
|
}
|
|
|
|
|
|
|
|
\section{Using a different API instance / endpoint}{
|
|
|
|
|
|
|
|
You can override the functions \code{osem_endpoint} and \code{osem_endpoint_archive}
|
|
|
|
inside the package namespace:
|
|
|
|
|
|
|
|
\code{
|
|
|
|
assignInNamespace("osem_endpoint", function() "http://mynewosem.org", "opensensmapr")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
\section{Integration with other packages}{
|
|
|
|
|
|
|
|
The package aims to be compatible with the tidyverse.
|
|
|
|
Helpers are implemented to ease the further usage of the retrieved data:
|
|
|
|
|
|
|
|
\itemize{
|
|
|
|
\item \code{\link{osem_as_sensebox}} & \code{\link{osem_as_measurements}}:
|
|
|
|
Transform a foreign object to a sensebox data.frame or osem_measurements
|
|
|
|
by attaching the required classes and attributes.
|
|
|
|
\item \code{\link{st_as_sf.sensebox}} & \code{\link{st_as_sf.osem_measurements}}:
|
|
|
|
Transform the senseBoxes or measurements into an \code{\link[sf]{sf}}
|
|
|
|
compatible format for spatial analysis.
|
|
|
|
\item \code{filter.sensebox()} & \code{mutate.sensebox()}: for use with
|
|
|
|
\code{\link{dplyr}}.
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
\seealso{
|
|
|
|
Report bugs at \url{https://github.com/sensebox/opensensmapR/issues}
|
|
|
|
|
|
|
|
openSenseMap API: \url{https://api.opensensemap.org/}
|
|
|
|
|
|
|
|
official openSenseMap API documentation: \url{https://docs.opensensemap.org/}
|
|
|
|
}
|
|
|
|
\author{
|
|
|
|
\strong{Maintainer}: Jan Stenkamp \email{jan.stenkamp@uni-muenster.de} [contributor]
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
\itemize{
|
|
|
|
\item Norwin Roosen \email{hello@nroo.de}
|
|
|
|
}
|
|
|
|
|
|
|
|
Other contributors:
|
|
|
|
\itemize{
|
|
|
|
\item Daniel Nuest \email{daniel.nuest@uni-muenster.de} (\href{https://orcid.org/0000-0003-2392-6140}{ORCID}) [contributor]
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|