Welcome to geeViz#

GeeViz is a free open source Python package developed by RedCastle Resources for exploring and analyzing Earth observation data within the Google Earth Engine (GEE) platform. geeViz provides user-friendly functions to simplify complex data processing, analysis, and visualization tasks, acting as a toolkit to make working with GEE data more accessible.

_images/Area_Charting_Example.png

Background#

RedCastle Resources has been using Google Earth Engine since 2012 for production-oriented landscape monitoring. Until 2017, most of our GEE scripts were written in javaScript. We recognized using the Python API would be more versatile than javaScript, but there was no equivalent to the Code Editor to debug our outputs.

In 2014, RedCastle Resources began developing the Landscape Change Monitoring (LCMS) Viewer framework for the US Department of Agriculture Forest Service (FS) to visualize and deliver landscape change detection map outputs using GEE. This framework proved invaluable at communicating what LCMS was and how to interact with a large multi-temporal dataset.

In 2019, we first published the geeViz Python package. We opened the majority of the LCMS Viewer framework to become geeViz.geeView, providing the same functionality LCMS leveraged to anyone using GEE. The data processing libraries we used were also converted from javaScript to Python and included as additional modules:
  • geeViz.getImagesLib module facilitates processing Landsat, Sentinel-2, MODIS, and other datasets using standardized methods that help avoid common mistakes most of us make when using GEE.

  • geeViz.changeDetectionLib module facilitates using GEE’s temporal segmentation algorithms.

To date, there is no other Python package that facilitates visualizing data inside GEE using both Python scripts or notebooks.

geeViz works in a regular Python script, IPython, notebooks, Colab notebooks, Colab Enterprise notebooks, and Vertex AI Workbench notebooks.

We continue to actively maintain geeViz to facilitate our own continental-scale mapping projects such as:

geeViz serves as the primary package used in the LCMS training, jointly developed by RedCastle Resources and Google.

geeViz provides a number of functions for working with GEE data and avoiding common GEE pitfalls, including:
  • Importing and exporting data
    • Helps avoid null value bugs and properly sets no data values when exporting to Google Cloud Storage or Drive

  • Data filtering and manipulation
    • Helps avoid bugs with image date filtering when creating composites that span across the new year (common when working in the tropics or Southern Hemisphere)

    • Helps set resampling method properly for continuous spectral bands, while preserving nearest neighbor for QA bands

  • Data analysis and visualization on a map user interface
    • Provides an interactive map interface complete with pixel-based querying and area-based zonal stats charting

Resources#

Attention

Please note that this documentation website is still under development. Future releases will have more complete documentation.

Search geeViz Documentation#

geeViz Overview#