Google Earth Engine

Introduction to Google Earth Engine

Overview

Teaching: 5 min
Exercises: 0 min
Questions
  • What is Google Earth Engine?

  • What are the strengths and limitations of this platform?

Objectives
  • Understand the power of Google Earth Engine

  • Basic understanding of the system architecture and philosophy

What is Google Earth Engine?

As Gorelick et al. (2017) write in the 2017 Remote Sensing of the Environment article:

Google Earth Engine is a cloud-based platform for planetary-scale geospatial analysis that brings Google’s massive computational capabilities to bear on a variety of high-impact societal issues including deforestation, drought, disaster, disease, food security, water management, climate monitoring and environmental protection.

Why use Google Earth Engine?

Google Earth Engine enables users to compute on petabytes of data on the fly without having the navigate the complexities of cloud-based parallelization. Enhancing inclusive access has spurred the growth of earth observation at scales previously unimaginable.

Reason # 1: Planetary-scale science

Since GEE came online, several ground-breaking studies have emerged that demonstrate the power of bringing large-scale computing to bear on environmental and social problems. The following three examples show the datasets, high-impact publications and web-based data explorers that have been generated from research conducted in GEE.


Celebrity Use Case 1: Global Forest Watch

Released in 2013, Global Forest Watch fundamentally changed our understanding of planetary-scale forest loss. This forest monitoring and conservation tool interactively shows forest gain and loss at a global scale. The underlying Hansen deforestation dataset is available in Google Earth Engine and leverages over 3 million Landsat images to map global forest dynamics.

Learn more here:

Forest loss in Sumatra’s Riau province, Indonesia, 2000-2012. Credit: Hansen, Potapov, Moore, Hancher et al., 2013


Celebrity Use Case 2: Global Surface Water Occurrence

In 2016 the European Commission’s Joint Research Centre released a dataset, the Global Surface Water Occurrence dataset, that showed the change intensity of surface water occurrence around the world. In other words, they mapped the loss and gain of water at a global scale since 1984.


Celebrity Use Case 3: Global Travel Times

The Oxford Malaria Atlas Project, the European Commission’s Joint Research Centre, and the University of Twente teamed up to create a map of travel times from any point in the world to the nearest urban center. This work can pinpont areas with little access to services in order to inform public health efforts and policy decisions.


Reason # 2: Free cloud processing with built-in functions

Google Earth Engine is designed for cloud-based, parallelized geospatial data analysis. GEE takes care of all the infrastructure and parellelization decisions on the back end for you. Those operations are called “server-side”.

Using GEE, you can call a wide set of functions that have been developed specifically for computing in Earth Engine and apply them over many images simultaneously using Google computational infrastructure. No more downloading and analyzing individuals tiles at a time or stressing about your local storage.

Reason # 3: Massive online public data archive

The GEE catalog hosts multiple petabytes of satellite imagery in the cloud, including the entire Landsat mission (!!). Other remote sensing missions represented include Sentinel 1, Sentinel 2, MODIS and others. In addition to earth observing images, GEE also hosts produced datasets for precipitation, population density, topography, land cover and climate. Over 6000 scenes are added daily from active satellite missions.




Reason # 4: Upload your own data

You can upload your own raster and vector data to the platform. You can also recommend datasets from the Javascript API Code Editor window by going the Help button on the top right and selecting Suggest a dataset.




Reason # 5: Let them take care of version control

GEE will back up on your code in a git repository without you having to think about it. You can share those repositories with other users and view older versions of scripts easily from the Code Editor.

Three different ways to access and use Google Earth Engine

The GEE development team has worked hard to make GEE easy to access. Google Earth Engine can be accessed through a few different channels, including a non-programming GUI, the JavaScript API and the Python API.

  1. The Google Earth Engine Explorer is great for getting non-specialists on board to view datasets but has limited capabilities for analysis.
  2. The Earth Engine Code Editor is a web-based JavaScript GUI that you use to make requests through to the main GEE API. The developers have spent years refining this platform to make it easier for users to store, share and version code results, execute tasks and most importantly visualize results on the fly in charts and maps rendered directly in the browser window. They also handle the user authentication just by logging you in through your gmail. This is how we will access and use GEE during this workshop.
  3. The Python API requires users to handle authentication and visualization of results on their end with the benefit of allowing users to more fully customize requests beyond the library of functions natively available in GEE. There is no website you log into to conduct your analysis - code is built from the ground up using workflows that are developed on an individual basis.

For this class we are using the JavaScript API, but training materials on accessing GEE using Python are now available on the GEE website. If you are interested in using the Python API, follow that link for installation instructions or check out an example notebooks here. The Javascript API has built in map visualization tools already in place, so that is what we use to learn the platform initially.

If you still are not sure what GEE is useful for, you can see more by viewing the What is Google Earth Engine? slide deck available from GEE team.


How does it work?

Using the Code Editor, you write commands that are sent as an object to Google for processing in parallel in their cloud (server-side). Users can visualize results from Google in their browser (client-side), including objects like maps, charts or statistical results.

Using one of the APIs, users can filter huge collections of images to dates and areas of their interest, map algorithms over collections of images, apply algorithms to individual images or image collections, and compute aggregate statistics through time and space without having to download a single thing to their computer.




Wrap Up

What are common uses of GEE?

What is GEE NOT designed for?

Key Points