Login Sign up

Monday Oct. 12, 2020, 4 p.m.–Oct. 12, 2020, 4:30 p.m. in Jupyter in Scientific Research

How Jupyter and geemap enable interactive mapping and analysis of large-scale geospatial datasets

Qiusheng Wu, Tyler Erickson

Audience level:
Intermediate

Brief Summary

geemap is a Python package for interactive mapping and analysis of large-scale geospatial datasets hosted in the Google Earth Engine cloud computing platform. This presentation highlights the use of geemap, ipyleaflet, and Jupyter widgets for interactive mapping and analysis of Earth Engine datasets, and demonstrates how to build and deploy interactive apps using Jupyter and Voilà.

Outline

The Earth is constantly changing, which brings profound challenges for the environment and human society. To address these challenges at the global scale, the Earth science community is heavily relying on geospatial datasets acquired from satellite, aerial, and mobile sensors. The explosive growth in geospatial datasets during the past decades is overwhelming the Earth science community’s capacity for storage, analysis, and visualization.

The advent of the Google Earth Engine (GEE) cloud computing platform makes it possible to access, manipulate, and analyze large volumes of geospatial datasets on-the-fly. During the past few years, GEE has become very popular in the geospatial community and it has empowered numerous Earth science applications at local, regional, and global scales. GEE provides both JavaScript and Python APIs for making computational requests to the Earth Engine servers. However, compared with the comprehensive documentation and interactive IDE (i.e., GEE JavaScript Code Editor) of the GEE JavaScript API, the GEE Python API has relatively little documentation and limited functionality for visualizing datasets and computational results interactively. The geemap Python package was created to fill this gap. It is built upon ipyleaflet and ipywidgets, and enables users to analyze and visualize Earth Engine datasets interactively within a Jupyter-based environment. Geemap users can utilize the Python ecosystem of diverse libraries and tools to explore Google Earth Engine and perform planetary-scale geospatial analysis. Geemap was originally created to support teaching university classes. Since its initial release on GitHub, geemap has been widely used by the Earth Engine community for scientific research.

This presentation highlights the use of geemap and the Jupyter ecosystem for interactive mapping and analysis of large-scale geospatial datasets, and demonstrates how to build and deploy interactive apps using Jupyter and Voilà.

This presentation is intended for scientific programmers, data scientists, data journalists, geospatial analysts, and concerned citizens of Earth. The attendees are expected to have a basic understanding of Python and the Jupyter ecosystem. Familiarity with Earth science and geospatial datasets is useful but not required.

Outline:

  1. Motivation: Overview of Earth science data analysis workflows, needed tools, and current issues.
  2. How to access Earth science data: Google Earth Engine
  3. Jupyter components relevant for geospatial data analysis; 3.1. mapping (ipyleaflet); 3.2. time series visualization (bqplot); 3.3. data presentation (ipytree, ipywidgets)
  4. Example usage; 4.1. data analysis in JupyterLab / Colab; 4.2. building and deploying interactive apps with Voilà
  5. Installation options

Relevant resources:

  1. Google Earth Engine: https://earthengine.google.com/
  2. Geemap: https://github.com/giswqs/geemap
  3. Tutorials: https://github.com/giswqs/geemap/tree/master/examples