Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Timelapse

QGIS Plugin GitHub

A QGIS plugin for creating timelapse animations from satellite and aerial imagery using Google Earth Engine. Supports NAIP, Landsat, Sentinel-2, Sentinel-1, MODIS NDVI, and GOES weather satellite imagery.

Features

Video Tutorial

Watch the Earth Change: New QGIS Plugin Creates Satellite Timelapse Animations in Seconds

Installation

Prerequisites

  1. QGIS 3.28 or higher.

  2. A Google Earth Engine account (sign up at earthengine.google.com).

Install QGIS and Google Earth Engine with Pixi

1. Install Pixi

Linux/macOS (bash/zsh):

curl -fsSL https://pixi.sh/install.sh | sh

Windows (PowerShell):

powershell -ExecutionPolicy Bypass -c "irm -useb https://pixi.sh/install.ps1 | iex"

Close and re-open your terminal, then confirm with pixi --version.

2. Create a Pixi Project

pixi init geo
cd geo

3. Install the Environment

pixi add qgis geemap earthengine-api pillow ffmpeg

4. Authenticate Earth Engine

pixi run earthengine authenticate

Installing the Plugin

  1. Open QGIS using pixi run qgis.

  2. Go to Plugins > Manage and Install Plugins....

  3. Go to the Settings tab.

  4. Click Add... under “Plugin Repositories”.

  5. Give a name for the repository, e.g. “OpenGeos”.

  6. Enter the URL of the repository: https://qgis.gishub.org/plugins.xml.

  7. Click OK.

  8. Go to the All tab.

  9. Search for “Timelapse”.

  10. Select the plugin and click Install Plugin.

Method 2: From ZIP File

  1. Download the latest release ZIP from https://qgis.gishub.org.

  2. In QGIS, go to Plugins > Manage and Install Plugins.

  3. Click Install from ZIP and select the downloaded file.

  4. Enable the plugin in the Installed tab.

Method 3: Manual Installation

Copy the timelapse folder to your QGIS plugins directory:

Restart QGIS and enable the plugin.

Usage

Quick Start

  1. Click the Timelapse button in the toolbar or go to the Timelapse menu > Create Timelapse.

  2. Define Area of Interest (AOI tab):

    • Choose a method (draw on map, use map extent, or use vector layer).

    • For drawing, click the “Draw Bounding Box” button, then click and drag on the map.

  3. Configure Imagery Settings (Imagery tab):

    • Select imagery type (NAIP, Landsat, Sentinel-2, Sentinel-1, MODIS NDVI, or GOES).

    • Set the date range (start year to end year).

    • Adjust imagery-specific options (bands, cloud filtering, etc.).

  4. Set Output Options (Output tab):

    • Choose an output file path.

    • Set animation dimensions and frame rate.

    • Enable MP4 conversion if needed.

  5. Customize Visualization (Style tab):

    • Configure text overlay, progress bar, title, and vector overlay.

  6. Click Create Timelapse and wait for processing to complete.

Area of Interest Tab

SettingDescription
MethodHow to define the area of interest
Draw Bounding BoxClick to start drawing on the map
Vector LayerSelect a loaded vector layer to use its extent
Extent CoordinatesManually enter coordinates (WGS84)
GEE Project IDOptional Google Earth Engine project ID

Imagery Settings Tab

SettingDescription
Imagery TypeNAIP, Landsat, Sentinel-2, Sentinel-1, MODIS NDVI, or GOES
Start/End YearTemporal range for the timelapse
Start/End DateSeasonal filter (MM-dd format)
Year StepInterval between frames
Band CombinationVisualization bands
Max Cloud %Cloud coverage threshold (Sentinel-2)
PolarizationVV, VH, or both (Sentinel-1)
OrbitAscending and/or descending (Sentinel-1)

Output Settings Tab

SettingDescription
Output PathFile path for the GIF animation
Create MP4Also export as MP4 video
DimensionsOutput image size in pixels
Frames per SecondAnimation speed
Loop CountNumber of animation loops (0 = infinite)
CRSCoordinate reference system for output

Visualization Tab

SettingDescription
Add Date TextShow date on each frame
Font Size/ColorText styling options
Add Progress BarShow animation progress
Bar Height/ColorProgress bar styling
TitleOptional title text

Examples

NAIP Timelapse (US Only)

Imagery Type: NAIP
Start Year: 2010
End Year: 2023
Year Step: 2

NAIP provides high-resolution (1 m) aerial imagery for the United States, typically captured during the agricultural growing season.

Landsat Long-term Timelapse

Imagery Type: Landsat
Start Year: 1990
End Year: 2024
Start Date: 06-01
End Date: 09-30
Bands: NIR, Red, Green (False Color)
Apply Cloud Masking: Yes

Creates a 34-year timelapse combining Landsat 4, 5, 7, 8, and 9 data.

Sentinel-2 False Color Timelapse

Imagery Type: Sentinel-2
Start Year: 2018
End Year: 2024
Start Date: 06-01
End Date: 09-30
Bands: NIR, Red, Green (False Color)
Max Cloud: 20%
Apply Cloud Masking: Yes

Creates a summer timelapse with vegetation highlighted in red.

Sentinel-1 SAR Timelapse

Imagery Type: Sentinel-1
Start Year: 2018
End Year: 2024
Polarization: VV
Orbit: Both Ascending and Descending

SAR imagery is useful for monitoring changes regardless of cloud cover or lighting conditions.

MODIS NDVI Vegetation Timelapse

Imagery Type: MODIS NDVI
Satellite: Terra
Index: NDVI
Start Year: 2010
End Year: 2023

Creates an animation showing vegetation phenology over time.

GOES Weather Satellite Timelapse

Imagery Type: GOES
Satellite: GOES-19
Scan: full_disk
Band combo: True Color
Start Date: 2021-10-24
End Date: 2021-10-25

Available GOES band combos:

Great for visualizing weather patterns, storms, and volcanic activity.

Updating the Plugin

The plugin includes a built-in update checker:

  1. Go to Timelapse > Check for Updates....

  2. Click “Check for Updates” to see if a new version is available.

  3. If an update is found, click “Download and Install Update”.

  4. Restart QGIS to apply the update.

Troubleshooting

“Failed to initialize Google Earth Engine”

import ee
ee.Authenticate()
ee.Initialize(project="your-ee-project")

“No images found”

“Module not found” errors

MP4 not created

Performance Tips

Citation

If you use this plugin in your research, please cite:

@software{qgis_timelapse_plugin,
  author = {Qiusheng Wu},
  title = {QGIS Timelapse Animation Creator},
  year = {2025},
  url = {https://github.com/opengeos/qgis-timelapse-plugin}
}

Support

Acknowledgments