Introduction to Google Earth Engine for Remote Sensing Analysis
(From Beginner to Advanced Level)
Table of Contents
1. Introduction to Google Earth Engine
1.1 What is Google Earth Engine?
1.2 Overview of Remote Sensing
1.3 Key Features of Google Earth Engine
1.4 Applications of Google Earth Engine in Remote Sensing
2. Getting Started with Google Earth Engine
2.1 Setting Up a Google Earth Engine Account
2.2 Introduction to the Earth Engine Code Editor
2.3 Understanding the GEE User Interface
2.4 Importing and Visualizing Satellite Data
3. Data in Google Earth Engine
3.1 Earth Observation Satellites Supported by GEE
3.2 Accessing Public Datasets (Landsat, Sentinel, MODIS, etc.)
3.3 Importing Custom Datasets
3.4 Metadata and Data Filtering
4. Basic Operations and Image Processing
4.1 Basic Image Operations (Masking, Clipping, etc.)
4.2 Using Filters to Select Data
4.3 Image Visualization and Enhancing Display
4.4 Image Statistics and Metadata Extraction
5. Remote Sensing Indices
5.1 Introduction to Remote Sensing Indices
5.2 Calculating Vegetation Indices (NDVI, EVI, etc.)
5.3 Calculating Water Indices (NDWI, MNDWI)
5.4 Custom Index Calculations
6. Land Use and Land Cover Classification
6.1 Supervised vs. Unsupervised Classification
6.2 Collecting Training Data for Supervised Classification
6.3 Implementing Unsupervised Classification (k-means, ISO clustering)
6.4 Accuracy Assessment of Classification Results
7. Time Series Analysis and Change Detection
7.1 Introduction to Time Series Analysis in GEE
7.2 NDVI/EVI Time Series Analysis
7.3 Land Cover Change Detection
7.4 Visualizing Temporal Changes
8. Advanced Techniques and Applications
8.1 Working with Machine Learning in Google Earth Engine
8.2 Evapotranspiration Monitoring
8.3 Drought Monitoring Using GEE
8.4 Atmospheric and Pollution Monitoring
8.5 Flood and Waterbody Mapping
9. Customizing and Exporting Results
9.1 Exporting Data to Google Drive/Cloud Storage
9.2 Exporting Maps, Charts, and Graphics
9.3 Sharing and Collaborating on Earth Engine Projects
10. Practical Projects and Case Studies
10.1 Forest Change Detection Project
10.2 Agricultural Monitoring using NDVI
10.3 Urban Heat Island Analysis
10.4 Monitoring Air Quality with Sentinel-5P Data
11. Conclusion and Further Learning Resources
11.1 Expanding Your Skills in GEE
11.2 Key Resources and Tutorials
11.3 Community Forums and Support
1. Introduction to Google Earth Engine
Tutorial Link: https://www.youtube.com/live/G-BhvTpqh0I?si=y4fAIvwWnK0rpjBX
1.1 What is Google Earth Engine?
Google Earth Engine (GEE) is a cloud-based geospatial analysis platform
designed for planetary-scale environmental monitoring. It hosts a vast archive of
satellite imagery and geospatial datasets and allows users to analyze and
visualize these data in real-time. GEE is widely used by researchers,
governments, and organizations for Earth observation and environmental
research.
1.2 Overview of Remote Sensing
Remote sensing refers to the process of collecting data about Earth's surface
without being in direct contact. Satellites equipped with sensors capture imagery
of Earth at various wavelengths. Remote sensing helps monitor environmental
changes, land cover, urban expansion, vegetation health, and more.
1.3 Key Features of Google Earth Engine
Data Repository: GEE provides access to petabytes of historical and real-
time satellite data.
Scalable Processing: Earth Engine allows processing of large geospatial
datasets on Google's cloud infrastructure, ensuring scalability.
Algorithms: Users can apply built-in and custom algorithms for tasks like
classification, regression, clustering, and more.
Visualization Tools: GEE enables real-time visualization of results on
interactive maps.
1.4 Applications of Google Earth Engine in Remote Sensing
Google Earth Engine is widely used for a variety of applications, including:
Land Use/Land Cover (LULC) Mapping
Deforestation Monitoring
Agricultural Analysis
Urban Heat Island Effect Monitoring
Natural Disaster Assessment (Floods, Fires)
Water Resource Management
2. Getting Started with Google Earth Engine
2.1 Setting Up a Google Earth Engine Account
To use GEE, sign up at Google Earth Engine with your Google account. Once
your access is approved, you can start working with the platform.
2.2 Introduction to the Earth Engine Code Editor
The GEE Code Editor is an online IDE where you write and execute JavaScript
code to analyze data. It includes:
Script Editor: Area where you write your code.
Map Display: Area where the results of your analysis are visualized.
Console: Shows output messages, data, and error messages.
Inspector: Allows you to inspect the values of layers at specific locations
on the map.
2.3 Understanding the GEE User Interface
The interface of GEE consists of the following components:
Code Editor: Write scripts and analyze satellite data.
Layers Panel: Manage and visualize layers of data on the map.
Map: Display the satellite imagery and data results.
Console: View outputs, logs, and errors.
2.4 Importing and Visualizing Satellite Data
You can load data from various datasets directly in GEE. For instance, the
following code snippet will
var image =ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318');
Map.centerObject(image, 10);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'True Color');
3. Data in Google Earth Engine
3.1 Earth Observation Satellites Supported by GEE
GEE hosts data from a wide range of Earth observation satellites, including:
Landsat series (5, 7, 8, 9)
Sentinel series (Sentinel-1, Sentinel-2, Sentinel-5P)
MODIS
VIIRS
ASTER
HYPERION
3.2 Accessing Public Datasets
GEE offers a variety of public datasets covering diverse fields such as climate,
topography, vegetation, water, and more. You can easily access these datasets
with a few lines of code, such as:
var dataset = ee.ImageCollection('MODIS/006/MOD13A2')
.filterDate('2020-01-01', '2020-12-31')
.select('NDVI');
Map.addLayer(dataset.mean(), {min: 0, max: 9000}, 'MODIS NDVI');
3.3 Importing Custom Datasets
You can upload your own shapefiles, CSVs, and raster data into Google Earth
Engine for custom analysis.
3.4 Metadata and Data Filtering
In GEE, each dataset includes metadata such as cloud cover, acquisition date, and
more. Filters allow users to narrow down datasets based on criteria such as date,
location, and properties.
var filteredData =
dataset.filterBounds(geometry).filterMetadata('CLOUD_COVER', 'less_than',
10);
4. Basic Operations and Image Processing
4.1 Basic Image Operations
Masking: Hide certain areas in an image based on conditions.
Clipping: Crop images to a region of interest.
Rescaling: Adjust the scale or units of imagery data.
4.2 Using Filters to Select Data
Filters in GEE help to narrow down imagery by date, region, or metadata.
4.3 Image Visualization and Enhancing Display
Customize how images are displayed using parameters like bands, minimum and
maximum values, or color palettes.
4.4 Image Statistics and Metadata Extraction
You can calculate statistics on imagery, such as mean, median, or standard
deviation, and extract metadata.
var meanNDVI = dataset.mean();
var stats = meanNDVI.reduceRegion({ reducer: ee.Reducer.mean(), geometry:
geometry, scale: 30, maxPixels: 1e9 });
print('Mean NDVI:', stats);
5. Remote Sensing Indices
5.1 Introduction to Remote Sensing Indices
Remote sensing indices are combinations of reflectance values from different
bands used to highlight specific characteristics of land cover (e.g., vegetation,
water).
5.2 Calculating Vegetation Indices
NDVI is one of the most commonly used indices for vegetation health:
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
Map.addLayer(ndvi, {min: 0, max: 1, palette: ['blue', 'white', 'green']}, 'NDVI');
5.3 Calculating Water Indices
Water indices like NDWI can be used to highlight water bodies.
var ndwi = image.normalizedDifference(['B3', 'B5']).rename('NDWI');
Map.addLayer(ndwi, {min: -1, max: 1, palette: ['brown', 'blue']}, 'NDWI');
5.4 Custom Index Calculations
You can define and calculate your own custom indices by combining different
spectral bands.
6. Land Use and Land Cover Classification
6.1 Supervised vs. Unsupervised Classification
Supervised classification requires training data, whereas unsupervised
classification groups pixels into clusters based on their spectral properties.
6.2 Collecting Training Data for Supervised Classification
Training data is needed for supervised classification. You can collect this data by
selecting known regions of various land cover types.
6.3 Implementing Unsupervised Classification
For unsupervised classification, algorithms like k-means or ISO clustering can be
used to classify an image.
var clusterer = ee.Clusterer.wekaKMeans(5).train(inputData);
var classified = inputData.cluster(clusterer);
Map.addLayer(classified, {}, 'Unsupervised Classification');
6.4 Accuracy Assessment of Classification Results
Accuracy assessment involves comparing the classification results to ground-
truth data or validation samples to evaluate performance.
7. Time Series Analysis and Change Detection
7.1 Introduction to Time Series Analysis in GEE
Time series analysis allows monitoring of changes in land cover, vegetation, or
climate variables over time.
7.2 NDVI/EVI Time Series Analysis
You can generate NDVI time series for a region to analyze vegetation health over
time.
var timeSeries = ee.ImageCollection('MODIS/006/MOD13A2').select('NDVI')
.filterDate('2010-01-01', '2020-01-01');
7.3 Land Cover Change Detection
Change detection helps identify shifts in land cover, deforestation, or urban
growth.
7.4 Visualizing Temporal Changes
You can visualize temporal changes by generating time-lapse animations or
graphs.
8. Advanced Techniques and Applications
8.1 Working with Machine Learning in Google Earth Engine
You can apply machine learning algorithms such as random forest, SVM, or
neural networks for classification or prediction tasks.
var classifier = ee.Classifier.smileRandomForest(10).train(trainingData);
var classifiedImage = inputImage.classify(classifier);
8.2 Evapotranspiration Monitoring
Evapotranspiration (ET) can be estimated using algorithms like SEBAL and
METRIC.
8.3 Drought Monitoring Using GEE
Drought indices like the Vegetation Condition Index (VCI) or Standardized
Precipitation Index (SPI) can be computed using satellite data.
8.4 Atmospheric and Pollution Monitoring
Sentinel-5P data can be used to monitor air quality, pollution levels, and trace
gases.
8.5 Flood and Waterbody Mapping
Flood extent can be monitored using SAR (Sentinel-1) or optical (Sentinel-2)
data.
9. Customizing and Exporting Results
9.1 Exporting Data to Google Drive/Cloud Storage
You can export results (e.g., images, tables) to Google Drive or Google Cloud for
further analysis.
Export.image.toDrive({
image: classified,
description: 'LandCoverClassification',
scale: 30,
region: geometry
});
9.2 Exporting Maps, Charts, and Graphics
Maps and charts can be exported as images for reports and presentations.
9.3 Sharing and Collaborating on Earth Engine Projects
Google Earth Engine scripts can be shared with collaborators via the GEE
repository or by sharing a URL.
10. Practical Projects and Case Studies
10.1 Forest Change Detection Project
Analyze deforestation trends over a specific region.
10.2 Agricultural Monitoring using NDVI
Monitor crop health and estimate yield using NDVI time series.
10.3 Urban Heat Island Analysis
Assess urban heat island effects using Landsat thermal bands.
10.4 Monitoring Air Quality with Sentinel-5P Data
Track the distribution and trends of pollutants such as NO2 or SO2 using
Sentinel-5P.
11. Conclusion and Further Learning Resources
11.1 Expanding Your Skills in GEE
Continue learning by exploring advanced techniques and specialized
applications.
11.2 Key Resources and Tutorials
GEE Tutorials on YouTube: https://www.youtube.com/@gisrsinstitute