Browse Source

clarify README

development
noerw 1 year ago
parent
commit
93b4f6fe52
1 changed files with 37 additions and 32 deletions
  1. 37
    32
      README.md

+ 37
- 32
README.md View File

@@ -2,8 +2,41 @@

[![CRAN status](https://www.r-pkg.org/badges/version/opensensmapr)](https://cran.r-project.org/package=opensensmapr) [![Travis build status](https://travis-ci.org/noerw/opensensmapR.svg?branch=master)](https://travis-ci.org/noerw/opensensmapR) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/noerw/opensensmapR?branch=master&svg=true)](https://ci.appveyor.com/project/noerw/opensensmapR) [![Coverage status](https://codecov.io/gh/noerw/opensensmapR/branch/master/graph/badge.svg)](https://codecov.io/github/noerw/opensensmapR?branch=master)

This R package ingests data (environmental measurements, sensor stations) from the API of opensensemap.org for analysis in R.
The package aims to be compatible with sf and the tidyverse.
This R package ingests data from the API of [opensensemap.org][osem] for analysis in R.

Features include:

- `osem_boxes()`: fetch sensor station ("box") metadata, with various filters
- `osem_measurements()`: fetch measurements by phenomenon, with various filters such as submitting spatial extent, time range, sensor type, box, exposure..
- no time frame limitation through request paging!
- many helper functions to help understand the queried data
- caching queries for reproducibility

The package aims to be compatible with the [`tidyverse`][tidy] and [`sf`][sf],
so it is easy to analyze or vizualize the data with state of the art packages.

[osem]: https://opensensemap.org/
[sf]: https://github.com/r-spatial/sf
[tidy]: https://www.tidyverse.org/

## Usage

Complete documentation is provided via the R help system:
Each function's documentation can be viewed with `?<function-name>`.
A comprehensive overview of all functions is given in `?opensensmapr`.

There are also vignettes showcasing applications of this package:

- [Visualising the History of openSenseMap.org][osem-history]: Showcase of `opensensmapr` with `dplyr` + `ggplot2`
- [Exploring the openSenseMap dataset][osem-intro]: Showcase of included helper functions
- [Caching openSenseMap Data for reproducibility][osem-serialization]

[osem-intro]: https://noerw.github.com/opensensmapR/inst/doc/osem-intro.html
[osem-history]: https://noerw.github.com/opensensmapR/inst/doc/osem-history.html
[osem-serialization]: https://noerw.github.com/opensensmapR/inst/doc/osem-serialization.html

If you used this package for an analysis and think it could serve as a good
example or showcase, feel free to add a vignette to the package via a [PR](#contribute)!

## Installation

@@ -13,7 +46,7 @@ The package is available on CRAN, install it via
install.packages('opensensmapr')
```

To install the veryy latest from GitHub, run:
To install the very latest versions from GitHub, run:

```r
install.packages('devtools')
@@ -21,35 +54,6 @@ devtools::install_github('noerw/opensensmapr@master') # latest stable versi
devtools::install_github('noerw/opensensmapr@development') # bleeding edge version
```

## Usage

Each function's documentation can be viewed with `?<function-name>`.
An overview is given in `?opensensmapr`.
A verbose usage example is shown in the vignette [`osem-intro`](https://noerw.github.com/opensensmapR/inst/doc/osem-intro.html).

In short, the following pseudocode shows the main functions for data retrieval:

```r
# retrieve a single box by id, or many boxes by some property-filters
b = osem_box('boxId')
b = osem_boxes(filter1, filter2, ...)

# get the counts of observed phenomena for a list of boxes
p = osem_phenomena(b)

# get measurements for a phenomenon
m = osem_measurements(phenomenon, filter1, ...)
# get measurements for a phenomenon from selected boxes
m = osem_measurements(b, phenomenon, filter1, ...)
# get measurements for a phenomenon from a geographic bounding box
m = osem_measurements(bbox, phenomenon, filter1, ...)

# get general count statistics of the openSenseMap database
osem_counts()
```

Additionally there are some helpers: `summary.sensebox(), plot.sensebox(), st_as_sf.sensebox(), osem_as_sensebox(), [.sensebox(), filter.sensebox(), mutate.sensebox(), ...`.

## Changelog

This project adheres to semantic versioning, for changes in recent versions please consult [CHANGES.md](CHANGES.md).
@@ -59,6 +63,7 @@ This project adheres to semantic versioning, for changes in recent versions plea
Contributions are very welcome!
When submitting a patch, please follow the existing [code style](.lintr),
and run `R CMD check --no-vignettes .` on the package.
Where feasible, also add tests for the added / changed functionality in `tests/testthat`.

Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md).
By participating in this project you agree to abide by its terms.

Loading…
Cancel
Save