Google Earth Engine for R
rgee
is a bindings package for calling Google
Earth Engine API from
within R. Additionally, functions have been done for making painless
the connection with the R spatial ecosystem.
What is Google Earth Engine?
Google Earth Engine is a cloud-based platform that allows users getting access to a petabyte-scale archive of remote sensing data and run geospatial analysis on Google’s infrastructure. Google currently just offers Python and JavaScript support.
Earth Engine Python API:
import ee
ee.Initialize()
image = ee.Image('CGIAR/SRTM90_V4')
image.bandNames().getInfo()
#> [u'elevation']
rgee:
library(rgee)
ee$Initialize()
image <- ee$Image('CGIAR/SRTM90_V4')
image$bandNames()$getInfo()
#> [1] "elevation"
TODO
- Improve documentation.
- Generate better examples.
- py_help: Generate compressible documentation in an html format.
- Unit testing
Features
- ee$…: Complete access to the Earth Engine API from within R.
- ee_Initialize:
Multi-user support for Initialize Earth Engine, a wrapper around
ee$Initialize
. - ee_install: Interface for installing Selenium drivers and Python packages effortlessly.
- ee_check: Interface for dependencies checking.
- ee_manage: Manage EE assets and tasks recursively.
- ee_map: Display EE spatial objects using mapview.
- ee_print: Print EE metadata.
- ee_upload: Upload ESRI shapefiles or GeoTIFF’s to Earth Engine.
- ee_download: Download EE spatial objects.
- ee_as_sf & sf_as_ee: Convert EE tables (Feature Collection) to sf and vice-versa.
- ee_as_thumbnail: Create a stars object based on an EE thumbnail image.
- ee_extract: Extract values for EE ImageCollections, similarly to raster::extract.
- ee_search: Search among the Earth Engine Data Catalog.
- ee_help: Display the Earth Engine documentation.
NOTE: Access to Google Earth Engine is currently only available to registered users.
Installation
Install development versions from github with
remotes::install_git("csaybar/rgee")
Windows
Before install rgee
be sure that
Rtools is installed in
the system. The static libraries will automatically downloaded from
rwinlib.
Linux
Please install the follow system libraries.
Ubuntu
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install libprotobuf-dev protobuf-compiler libv8-3.14-dev libjq-dev libudunits2-dev libproj-dev libgeos-dev libspatialite-dev libgdal-dev libjson-c-dev libnetcdf-dev netcdf-bin
MacOS
Use Homebrew to install system libraries:
brew install pkg-config
brew install gdal
brew install netcdf
brew install libgit2
brew install udunits
brew install curl
brew install sqlite
Docker image (Recommended way to use rgee)
docker run -d -p 8787:8787 -e USER=rgee -e PASSWORD=rgee --name rgee-dev csaybar/rgee
After that, in your preferred browser, run:
127.0.0.1:8787
How does it works?
Credits
The rgee has been inspired by the following third-party R/Python packages:
- gdalcubes - Marius Appel
- gee_asset_manager - Lukasz Tracewski
- geeup - Samapriya Roy
- geeadd - Samapriya Roy
- cartoee - Kel Markert
- geetools - Rodrigo E. Principe
- landsat-extract-gee - Loïc Dutrieux
- earthEngineGrabR - JesJehle
Contributing
rgee
welcomes any kind of contributions. Please check the rgee Community Code of Conduct for details.- Are you interested in creating a pull request?. Make sure the code follows the tidyverse style guide and to submit them to the develop branch of this repository.
- Please file bug reports and feature requests at https://github.com/csaybar/rgee/issues.