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.

Create Satellite Timelapse Animations in QGIS with Google Earth Engine

Satellite timelapse animations are a powerful way to visualize environmental change, from urban expansion and deforestation to river dynamics and weather events. The QGIS Timelapse Plugin lets you create these animations for any location on Earth with just a few clicks, powered by Google Earth Engine’s cloud computing. You draw a rectangle, choose a satellite, set the time range, and the plugin handles all the data processing, mosaicking, and animation generation without downloading any raw data.

In this tutorial, I walk through setting up the plugin and creating timelapse animations using Landsat, MODIS NDVI, and GOES weather satellite imagery.

Video tutorial: QGIS Timelapse Plugin Tutorial

What You Will Need

Set Up the Environment

Install Pixi and create a project

pixi init geo
cd geo
pixi add qgis geemap earthengine-api pillow ffmpeg

The pillow package is needed for GIF generation and ffmpeg for MP4 conversion.

Authenticate Google Earth Engine

pixi run earthengine authenticate

Launch QGIS

pixi run qgis

Install the Plugin

  1. Go to Plugins > Manage and Install Plugins.

  2. Go to Settings and add the custom repository URL from the plugin page.

  3. Search for timelapse and click Install Plugin.

  4. The timelapse icon (a play button) appears in the toolbar and a Timelapse menu appears in the menu bar.

Use Timelapse > Check for Updates to get the latest version from GitHub.

Supported Satellites

The plugin supports six satellite data sources:

Create a Landsat Timelapse

Define the area of interest

  1. Click the Timelapse icon in the toolbar.

  2. In the AOI tab, either click Use Map Extent or click Draw Bounding Box and draw a rectangle on the map.

  3. If your Earth Engine project ID is not set as an environment variable, enter it in the project ID field.

Configure the imagery

  1. Go to the Imagery tab.

  2. Select Landsat.

  3. Set the year range (e.g., 1984 to 2025 for the full Landsat archive).

  4. Set the season (e.g., March to October to focus on snow-free months).

  5. Choose the temporal frequency:

    • Year: One composite per year (best for multi-decade change)

    • Quarter: Four composites per year

    • Month: Monthly composites (keep the year range short to avoid too many frames)

    • Date: Individual image dates

  6. Select the band combination (e.g., false color composite for highlighting vegetation, or true color for natural appearance).

  7. Enable cloud masking to remove cloudy pixels from composites.

Configure the output

  1. Go to the Output tab.

  2. Specify the output file path for the GIF animation.

  3. Check Create MP4 to also generate an MP4 video (requires ffmpeg).

  4. Customize the title text, text color, font size, and progress bar appearance.

Generate the animation

Click Create Timelapse. The plugin processes the data on Google Earth Engine’s servers and generates the animation in roughly 30 seconds to a minute. The result plays directly in the QGIS panel.

Example: Las Vegas Urban Growth

Drawing a rectangle around Las Vegas and creating a yearly Landsat timelapse from 1984 to 2025 produces a striking visualization of urban expansion. The animation clearly shows the city growing outward into the surrounding desert over four decades.

Create a MODIS NDVI Timelapse

MODIS NDVI timelapses are ideal for visualizing vegetation dynamics at continental scales.

  1. Draw a large rectangle (e.g., covering Africa).

  2. Select MODIS and choose NDVI as the index.

  3. Set the frequency to Year.

  4. Click Create Timelapse.

The resulting animation shows the seasonal “green wave” of vegetation sweeping north during the northern hemisphere summer and south during winter, driven by rainfall patterns across the continent.

Create a GOES Weather Timelapse

GOES satellites capture imagery every few minutes, making them ideal for monitoring fast-moving weather events.

  1. Zoom to the area where the event occurred.

  2. Select GOES and choose the appropriate satellite (GOES-16, 17, or 18 depending on the coverage area and time period).

  3. Set the date and time range to cover the event. The time is in UTC.

  4. Click Create Timelapse.

GOES timelapses are useful for visualizing hurricanes, volcanic eruptions, wildfires, and other dynamic atmospheric events. The high temporal frequency produces smooth animations that show cloud movement and storm development in detail.

Tips

Resources

The plugin handles all the complexity of satellite data processing, from filtering and mosaicking to compositing and animation, so you can focus on choosing the right location, time period, and satellite for your story. Try it with your own area of interest and feel free to open an issue on the GitHub repository if you have questions or feature requests.