Skip to main content

A Google Earth Engine extension for Xarray.

Project description

Xee: Xarray + Google Earth Engine

Xee Logo

An Xarray extension for Google Earth Engine.

image image Conda Recipe image Conda Downloads

How to use

Install with pip:

pip install --upgrade xee

Install with conda:

conda install -c conda-forge xee

Then, authenticate Earth Engine:

earthengine authenticate --quiet

Now, in your Python environment, make the following imports:

import ee
import xarray

Next, initialize the EE client with the high volume API:

ee.Initialize(opt_url='https://earthengine-highvolume.googleapis.com')

Open any Earth Engine ImageCollection by specifying the Xarray engine as 'ee':

ds = xarray.open_dataset('ee://ECMWF/ERA5_LAND/HOURLY', engine='ee')

Open all bands in a specific projection (not the Xee default):

ds = xarray.open_dataset('ee://ECMWF/ERA5_LAND/HOURLY', engine='ee',
                         crs='EPSG:4326', scale=0.25)

Open an ImageCollection (maybe, with EE-side filtering or processing):

ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate('1992-10-05', '1993-03-31')
ds = xarray.open_dataset(ic, engine='ee', crs='EPSG:4326', scale=0.25)

Open an ImageCollection with a specific EE projection or geometry:

ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate('1992-10-05', '1993-03-31')
leg1 = ee.Geometry.Rectangle(113.33, -43.63, 153.56, -10.66)
ds = xarray.open_dataset(
    ic,
    engine='ee',
    projection=ic.first().select(0).projection(),
    geometry=leg1
)

Open multiple ImageCollections into one xarray.Dataset, all with the same projection:

ds = xarray.open_mfdataset(['ee://ECMWF/ERA5_LAND/HOURLY', 'ee://NASA/GDDP-CMIP6'],
                           engine='ee', crs='EPSG:4326', scale=0.25)

Open a single Image by passing it to an ImageCollection:

i = ee.ImageCollection(ee.Image("LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318"))
ds = xarray.open_dataset(i, engine='ee')

See examples or docs for more uses and integrations.

How to run integration tests

The Xee integration tests only pass on Xee branches (no forks). Please run the integration tests locally before sending a PR. To run the tests locally, authenticate using earthengine authenticate and run the following:

USE_ADC_CREDENTIALS=1 python -m unittest xee/ext_integration_test.py

License

This is not an official Google product.

Copyright 2023 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xee-0.0.11.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

xee-0.0.11-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file xee-0.0.11.tar.gz.

File metadata

  • Download URL: xee-0.0.11.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for xee-0.0.11.tar.gz
Algorithm Hash digest
SHA256 b899120a1cf865ee2b2c746a065fc53d525a5322240d2bc7aa1e7a5cad29e8fe
MD5 1f7ef3140efaf6ce5c99af90244b05d1
BLAKE2b-256 b00f26a191f351886df383338cbdaba67536574f887d72f877dc72773a62bad1

See more details on using hashes here.

File details

Details for the file xee-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: xee-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for xee-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 94d27cc31e5b56abe6422ade6c61da5b97a0e50d65d4276e9475ff7fa7399f9a
MD5 944d8e8231a2ad5c63e5f56cc8c50f57
BLAKE2b-256 96bb607f32c27676ecc942f028002facbd222e59ce2b578a6310673ffffe3beb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page