R client for opensensemap.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Norwin f69cf62b27
fail gracefully when api is not available (#27)
1 jaar geleden
.aspell hello CRAN :^| 2 jaren geleden
R fail gracefully when api is not available (#27) 1 jaar geleden
inst/doc change references to sensebox org 1 jaar geleden
man make R CMD check happy 🔪 1 jaar geleden
tests fail gracefully when api is not available (#27) 1 jaar geleden
tools/monitr change references to sensebox org 1 jaar geleden
vignettes build performance improvements 1 jaar geleden
.Rbuildignore v0.4.1 2 jaren geleden
.gitattributes add .gitattributes 2 jaren geleden
.gitignore make R CMD check happy 2 jaren geleden
.lintr fix lint 1 jaar geleden
.travis.yml attempt to build vignettes on travis 2 jaren geleden
CHANGES.md v0.5.1 1 jaar geleden
CONDUCT.md Update Code of Conduct 💣 1 jaar geleden
DESCRIPTION v0.5.1 1 jaar geleden
LICENSE Initial commit 3 jaren geleden
NAMESPACE document osem_measurements_archive 1 jaar geleden
README.md fix appveyor badge 1 jaar geleden
appveyor.yml add appveyor config 2 jaren geleden
codecov.yml add codecov configuration 2 jaren geleden

README.md

opensensmapr

CRAN status Travis build status AppVeyor Build status Coverage status

This R package ingests data from the API of opensensemap.org 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 and sf, so it is easy to analyze or vizualize the data with state of the art packages.

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:

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!

Installation

The package is available on CRAN, install it via

install.packages('opensensmapr')

To install the very latest versions from GitHub, run:

install.packages('devtools')
devtools::install_github('sensebox/opensensmapr@master')      # latest stable version
devtools::install_github('sensebox/opensensmapr@development') # bleeding edge version

Changelog

This project adheres to semantic versioning, for changes in recent versions please consult CHANGES.md.

Contributing & Development

Contributions are very welcome! When submitting a patch, please follow the existing code style, 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. By participating in this project you agree to abide by its terms.

development environment

To set up the development environment for testing and checking, all suggested packages should be installed. On linux, these require some system dependencies:

# install dependencies for sf (see https://github.com/r-spatial/sf#installing)
sudo dnf install gdal-devel proj-devel proj-epsg proj-nad geos-devel udunits2-devel

# install suggested packages
R -e "install.packages(c('maps', 'maptools', 'tibble', 'rgeos', 'sf',
    'knitr', 'rmarkdown', 'lubridate', 'units', 'jsonlite', 'ggplot2',
    'zoo', 'lintr', 'testthat', 'covr')"

build

To build the package, either use devtools::build() or run

R CMD build .

Next, run the tests and checks:

R CMD check --as-cran ../opensensmapr_*.tar.gz
# alternatively, if you're in a hurry:
R CMD check --no-vignettes ../opensensmapr_*.tar.gz

release

To create a release:

  1. make shure you are on master branch
  2. run the tests and checks as described above
  3. bump the version in DESCRIPTION
  4. update CHANGES.md
  5. rebuild the documentation: R -e 'devtools::document()'
  6. build the package again with the new version: R CMD build . --no-build-vignettes
  7. tag the commit with the new version: git tag v0.5.0
  8. push changes: git push && git push --tags
  9. wait for all CI tests to complete successfully (helps in the next step)
  10. upload the new release to CRAN
  11. get back to the enjoyable parts of your life & hope you won’t get bad mail next week.

License

GPL-2.0 - Norwin Roosen