• Stars
    star
    203
  • Rank 191,802 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created about 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Python interface between Earth Engine and xarray for processing time series data
wxee .-- -..-

Earth Engine Python PyPI conda-forge Open in Colab Read the Docs Build status Code coverage

Demo downloading weather data to xarray using wxee.

What is wxee?

wxee was built to make processing gridded, mesoscale time series data quick and easy by integrating the data catalog and processing power of Google Earth Engine with the flexibility of xarray, with no complicated setup required. To accomplish this, wxee implements convenient methods for data processing, aggregation, downloading, and ingestion.

wxee can be found in the Earth Engine Developer Resources!

Features

To see some of the capabilities of wxee and try it yourself, check out the interactive notebooks here!

Install

Pip

pip install wxee

Conda

conda install -c conda-forge wxee

From Source

git clone https://github.com/aazuspan/wxee
cd wxee
make install

Quickstart

Setup

Once you have access to Google Earth Engine, just import and initialize ee and wxee.

import ee
import wxee

wxee.Initialize()

Download Images

Download and conversion methods are extended to ee.Image and ee.ImageCollection using the wx accessor. Just import wxee and use the wx accessor.

xarray

ee.ImageCollection("IDAHO_EPSCOR/GRIDMET").wx.to_xarray()

GeoTIFF

ee.ImageCollection("IDAHO_EPSCOR/GRIDMET").wx.to_tif()

Create a Time Series

Additional methods for processing image collections in the time dimension are available through the TimeSeries subclass. A TimeSeries can be created from an existing ee.ImageCollection...

col = ee.ImageCollection("IDAHO_EPSCOR/GRIDMET")
ts = col.wx.to_time_series()

Or instantiated directly just like you would an ee.ImageCollection!

ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET")

Aggregate Daily Data

Many weather datasets are in daily or hourly resolution. These can be aggregated to coarser resolutions using the aggregate_time method of the TimeSeries class.

ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET")
monthly_max = ts.aggregate_time(frequency="month", reducer=ee.Reducer.max())

Calculate Climatological Means

Long-term climatological means can be calculated using the climatology_mean method of the TimeSeries class.

ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET")
mean_clim = ts.climatology_mean(frequency="month")

Contribute

Bugs or feature requests are always appreciated! They can be submitted here.

Code contributions are also welcome! Please open an issue to discuss implementation, then follow the steps below. Developer setup instructions can be found in the docs.

More Repositories

1

sankee

Visualize classified time series data with interactive Sankey plots in Google Earth Engine
Python
97
star
2

geeSharp

Pan-sharpening in the Earth Engine code editor
JavaScript
38
star
3

eerepr

Interactive Code Editor-style reprs for Earth Engine objects in a Jupyter notebook
Python
31
star
4

snazzy

βœ¨πŸ—ΊοΈ Snazzy basemaps in the Earth Engine code editor
Python
26
star
5

geeTools

Remote sensing and spatial analysis tools for Google Earth Engine
JavaScript
25
star
6

ee_repository_stats

Scraping, parsing, and analyzing every public Earth Engine repository
Jupyter Notebook
19
star
7

taskee

Mobile and native notifications for Earth Engine tasks
Python
11
star
8

should-test

Build and run unit tests in the Earth Engine code editor
JavaScript
10
star
9

aerio

Automated processing of historical aerial photography
Python
9
star
10

stacmap

Explore STAC items with an interactive map
Python
6
star
11

TerrainTools

A collection of algorithms for calculating slope, aspect, hillshade, and elevation profiles from Digital Elevation Models
Python
3
star
12

minee

πŸ“¦ Earth Engine module bundler
TypeScript
2
star
13

post-fire-harvest-2024

Data and code for "Long-Term Patterns of Post-Fire Harvest Diverge Among Ownerships in the Pacific West" by Zuspan et al., 2024
Jupyter Notebook
2
star
14

electivity

Ecological electivity and forage indices
Python
2
star
15

Voithos

An online personal assistant bot
Python
2
star
16

ArduinoLatheController

An Arduino-based stepper motor control with servo speed adjustment to run a lathe leadscrew
C++
2
star
17

PiLights

A local web app for controlling RGB lights through a Raspberry Pi
Python
1
star
18

blog

JavaScript
1
star
19

aazuspan.github.io

HTML
1
star
20

leaflet-feature-legend

A Leaflet plugin for creating feature legends
JavaScript
1
star
21

eeauth

An account manager for the Earth Engine Python API
Python
1
star