ee_extra
A ninja python package that unifies the Google Earth Engine ecosystem.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A ninja python package that unifies the Google Earth Engine ecosystem.
Basic Info
- Host: GitHub
- Owner: r-earthengine
- License: other
- Language: Python
- Default Branch: master
- Homepage: https://ee-extra.readthedocs.io/
- Size: 2.84 MB
Statistics
- Stars: 63
- Watchers: 5
- Forks: 11
- Open Issues: 9
- Releases: 3
Topics
Metadata Files
README.md
A Python package that unifies the Google Earth Engine ecosystem.
EarthEngine.jl | rgee | rgee+ | eemont
GitHub: https://github.com/r-earthengine/ee_extra
Documentation: https://ee-extra.readthedocs.io
PyPI: https://pypi.python.org/pypi/ee_extra
Conda-forge: https://anaconda.org/conda-forge/ee_extra
Overview
Google Earth Engine (GEE) is a cloud-based service for geospatial processing of vector and raster data. The Earth Engine platform has a JavaScript and a Python API with different methods to process geospatial objects. Google Earth Engine also provides a HUGE PETABYTE-SCALE CATALOG of raster and vector data that users can process online.
There are a lot of fantastic third-party GEE packages and projects around GitHub. However,
most of them are coded in JavaScript or Python, and they are not straightforward
to translate to R, Julia, or other programming languages. The main goal of eeExtra is
to guarantee a smooth import of these projects in other programming languages by
standardizing different methods and enabling the use of JavaScript modules outside the
Code Editor.
Some of the eeExtra features are listed here:
- Automatic scaling and offsetting.
- Spectral Indices computation (using Awesome Spectral Indices).
- Clouds and shadows masking.
- STAC related functions.
And the most important feature:
- Enabling the usage of JavaScript modules outside the Code Editor.
How does it work?
eeExtra is a Python package, just like any other, but it is a ninja that serves as a
methods provider for different environments: R, Julia and Python itself. eeExtra
accomplish this by being the powerhouse of some amazing packages such as rgee,
rgee+, and eemont.
Public JavaScript module can also be used outside the Code Editor in these packages
through eeExtra. For this, eeExtra implements a rigorous JavaScript translation
module that allows users to install, require and use JavaScript modules as if they
were on the Code Editor!
You may be wondering "Why is it a ninja package?", well, that's a valid question,
the whole point of eeExtra resides in the fact that nobody has to use eeExtra itself,
but rather use one of the packages that are powered by eeExtra! :)
Installation
Install the latest version from PyPI:
pip install ee_extra
Install soft ee_extra dependencies:
pip install jsbeautifier regex
Upgrade eeExtra by running:
pip install -U ee_extra
Install the latest version from conda-forge:
conda install -c conda-forge ee_extra
Install the latest dev version from GitHub by running:
pip install git+https://github.com/r-earthengine/ee_extra
Features
Let's see some of the awesome features of eeExtra and how to use them from the powered
packages in python and R!
Scale and Offset
Most datasets in the data catalog are scaled and in order to get their real values, we have to scale (and sometimes offset) them!
| Python (eemont) | R (rgee+) | Julia (EarthEngine.jl) |
|---|---|---|
| ``` python import ee, eemont ee.Initialize() db = 'COPERNICUS/S2_SR' S2 = ee.ImageCollection(db) S2.scaleAndOffset() ``` | ``` r library(rgee) library(rgeeExtra) ee_Initialize() db <- 'COPERNICUS/S2_SR' S2 <- ee$ImageCollection(db) ee_extra_scaleAndOffset(S2) ``` | ``` julia using PyCall using EarthEngine Initialize() ee_extra = pyimport("ee_extra") ee_core = ee_extra.STAC.core db = "COPERNICUS/S2_SR" S2 = ee.ImageCollection(db) ee_core.scaleAndOffset(S2) ``` |
Spectral Indices
Do you know the Awesome Spectral Indices?
Well, you can compute them automatically with eeExtra!
| Python (eemont) | R (rgee+) | Julia (EarthEngine.jl) |
|---|---|---|
| ``` python import ee, eemont ee.Initialize() db = 'COPERNICUS/S2_SR' S2 = ee.ImageCollection(db) S2 = S2.scaleAndOffset() S2.spectralIndices("EVI") ``` | ``` r library(rgee) library(rgeeExtra) ee_Initialize() db <- 'COPERNICUS/S2_SR' S2 <- ee$ImageCollection(db) S2 <- ee_extra_scaleAndOffset(S2) ee_extra_spIndices(S2, "EVI") ``` | ```julia using PyCall using EarthEngine Initialize() ee_extra = pyimport("ee_extra") ee_core = ee_extra.STAC.core ee_sp = ee_extra.Spectral.core db = "COPERNICUS/S2_SR" S2 = ee.ImageCollection(db) S2 = ee_core.scaleAndOffset(S2) ee_sp.spectralIndices(S2, "EVI") ``` |
STAC features
Access STAC properties easily!
| Python (eemont) | R (rgee+) | Julia (EarthEngine.jl) |
|---|---|---|
| ``` python import ee, eemont ee.Initialize() db = 'COPERNICUS/S2_SR' S2 = ee.ImageCollection(db) S2.getSTAC() ``` | ``` r library(rgee) library(rgeeExtra) ee_Initialize() db <- 'COPERNICUS/S2_SR' S2 <- ee$ImageCollection(db) ee_extra_getSTAC() ``` | ``` julia using PyCall using EarthEngine Initialize() ee_extra = pyimport("ee_extra") ee_core = ee_extra.STAC.core db = "COPERNICUS/S2_SR" S2 = ee.ImageCollection(db) ee_core.getSTAC(S2) ``` |
JavaScript Modules
This is perhaps the most important feature in eeExtra! What if you could use a
JavaScript module (originally just useful for the Code Editor) in python or R? Well,
wait no more for it!
- JS Code Editor
``` javascript var mod = require('users/sofiaermida/landsatsmwlst:modules/Landsat_LST.js')
var geom = ee.Geometry.Rectangle(-8.91, 40.0, -8.3, 40.4) var LST = mod.collection("L8", "2018-05-15", "2018-05-31", geom, true)
print(LST) ```
- Python eemont
``` python import ee, eemont
ee.Initialize() module = 'users/sofiaermida/landsatsmwlst:modules/Landsat_LST.js' ee.install(module) mod = ee.require(module)
geom = ee.Geometry.Rectangle(-8.91, 40.0, -8.3, 40.4) LST = mod.collection("L8", "2018-05-15", "2018-05-31", geom, True) print(LST) ```
- R rgeeExtra
``` r library(rgee) library(rgeeExtra)
ee_Initialize()
lsmod <- 'users/sofiaermida/landsatsmwlst:modules/Landsat_LST.js' mod <- module(lsmod)
geom <- ee$Geometry$Rectangle(-8.91, 40.0, -8.3, 40.4) LST <- mod$collection("L8", "2018-05-15", "2018-05-31", geom, TRUE) print(LST) ```
- Julia EarthEngine.jl
``` julia using PyCall using EarthEngine
Initialize()
eeextra = pyimport("eeextra") landsatmodule = "users/sofiaermida/landsatsmwlst:modules/LandsatLST.js" eeextra.install(landsatmodule) lsmodule = eeextra.require(landsatmodule)
geom = Rectangle(-8.91, 40.0, -8.3, 40.4) LST = lsmodule.collection("L8", "2018-05-15", "2018-05-31", geom, true) print(LST) ```
Owner
- Name: r-earthengine
- Login: r-earthengine
- Kind: organization
- Repositories: 3
- Profile: https://github.com/r-earthengine
GitHub Events
Total
- Create event: 2
- Release event: 2
- Issues event: 6
- Watch event: 1
- Issue comment event: 11
- Push event: 49
- Pull request review event: 1
- Pull request event: 5
- Fork event: 2
Last Year
- Create event: 2
- Release event: 2
- Issues event: 6
- Watch event: 1
- Issue comment event: 11
- Push event: 49
- Pull request review event: 1
- Pull request event: 5
- Fork event: 2
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| GitHub Action | a****n@g****m | 677 |
| davemlz | d****t@g****m | 214 |
| csaybar | c****r@g****m | 48 |
| Aaron Zuspan | a****n@g****m | 26 |
| Samuel Bancroft | s****l@g****m | 1 |
| Rambaud Pierrick | 1****u | 1 |
| Fernando Herrera | f****0@g****m | 1 |
| Andrea | a****p@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 45
- Total pull requests: 14
- Average time to close issues: 8 days
- Average time to close pull requests: about 24 hours
- Total issue authors: 7
- Total pull request authors: 8
- Average comments per issue: 1.96
- Average comments per pull request: 1.0
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.75
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- davemlz (19)
- csaybar (12)
- 12rambau (7)
- aazuspan (4)
- sebimarkgraf (2)
- framunoz (1)
- suhendra0812 (1)
Pull Request Authors
- aazuspan (7)
- Spiruel (2)
- eocce (2)
- lukegre (2)
- ferherreraq (1)
- andrea29-star (1)
- 12rambau (1)
- sebimarkgraf (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 7,097 last-month
- Total docker downloads: 163
-
Total dependent packages: 4
(may contain duplicates) -
Total dependent repositories: 23
(may contain duplicates) - Total versions: 28
- Total maintainers: 2
pypi.org: ee-extra
A ninja Python package behind rgee, rgeeExtra and eemont.
- Documentation: https://ee-extra.readthedocs.io/
- License: Apache Software License
-
Latest release: 2025.7.2
published 7 months ago
Rankings
conda-forge.org: ee_extra
- Homepage: https://github.com/r-earthengine/ee_extra
- License: Apache-2.0
-
Latest release: 0.0.14
published over 3 years ago
Rankings
Dependencies
- google-api-core *
- google-auth <2.0dev
- protobuf <3.18.0,>=3.12.0
- pydata-sphinx-theme *
- recommonmark *
- sphinx >=1.4,
- sphinx-autodoc-typehints *
- sphinxcontrib-autoprogram *
- earthengine-api *
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ad-m/github-push-action v0.6.0 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ad-m/github-push-action v0.6.0 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ad-m/github-push-action v0.6.0 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ad-m/github-push-action v0.6.0 composite