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 OpenGeoAgent

The hardest part of a satellite timelapse is usually not the animation itself, it is finding the right location, the right time window, and the right satellite. The QGIS Timelapse plugin already removes most of the data engineering, and OpenGeoAgent now removes most of what is left. With a single text prompt or voice command, the agent picks the bounding box, picks the date range, calls the plugin, and renders an animation, often in less than a minute. In this tutorial, I show how to drive the workflow with natural language for several satellites and use cases, including hurricanes, volcanic eruptions, urban growth, irrigation, continental phenology, and high-resolution change.

Video tutorial: Satellite Timelapse Animations with OpenGeoAgent

What You Will Need

Install the Plugins

Open Plugins > Manage and Install Plugins in QGIS and switch to the All tab.

  1. Search for Timelapse and click Install Plugin (or Upgrade if you already have an older version).

  2. Search for OpenGeoAgent and install it the same way.

  3. Restart QGIS so both plugins load cleanly.

After the restart, the Timelapse and OpenGeoAgent menus appear in the QGIS menu bar.

Authenticate Earth Engine

The Timelapse plugin pulls Landsat, Sentinel, MODIS, and GOES data through Earth Engine, so you need to authenticate once.

  1. Open Earth Engine in the QGIS menu and click Authenticate, then Initialize.

  2. Enter your Google Cloud project ID. If you do not know it, look it up in the Earth Engine Code Editor.

  3. Click Save Settings.

Configure OpenGeoAgent

Open OpenGeoAgent > Settings and switch to the Models tab.

  1. Click Log in with ChatGPT to authenticate through the OpenAI Codex provider. This is the simplest path because billing is a flat monthly cost.

  2. Optional: paste an OpenAI API key if you want voice dictation. The Codex provider does not support voice on its own.

  3. Save settings.

Open OpenGeoAgent > Open Chat and configure the chat panel:

You are ready to start prompting.

Example 1: GOES Timelapse of the Tonga Volcanic Eruption

GOES is a geostationary weather satellite with imagery every few minutes, which makes it ideal for fast-moving events. With voice or text, send:

Create a GOES timelapse of the Tonga volcanic eruption.

The agent identifies the eruption location, picks a sensible time window, and confirms its plan. Press y (or simply say yes) to run it. The animation renders in roughly 20 seconds and appears in the Timelapse panel with an auto-generated title and date overlay. Click Save Image to export the GIF or MP4 to disk.

Example 2: GOES Timelapse of Hurricane Erin (2025)

For named events, give the agent a year so it can target the right scenes:

Create a GOES timelapse of Hurricane Erin in 2025.

The agent finds the storm window (late August 2025 in this case) and asks whether to use the default time window. Reply yes. The animation may take 40 to 60 seconds because GOES has dense temporal coverage. If the storm appears small in the frame, follow up with:

Make the extent larger and recenter on the eye.

The agent regenerates the animation with the adjusted bounding box.

Example 3: Landsat Timelapse of Las Vegas (1986 to Present)

Landsat has more than four decades of archives, which is the right choice for long-term change. Pan the canvas to Las Vegas, then send:

Create a Landsat timelapse animation over Las Vegas from 1986 to the present.

The agent uses the Las Vegas extent it derives from the city name (or the current map extent if you ask for that), composites yearly Landsat imagery, and renders the animation in about a minute. The result is a striking visualization of urban growth into the surrounding desert.

Example 4: Landsat Timelapse of Irrigation in Saudi Arabia

You do not have to know the location ahead of time. Ask the agent to recommend one:

Create a Landsat timelapse of a popular center pivot irrigation site in Saudi Arabia. Use a false color composite and title it “Irrigation, Saudi Arabia”.

The agent picks a representative site, applies a false color composite that highlights vegetation in red, and embeds the title in the animation. If the area is too small in the frame, draw a custom rectangle (see the Refine with Follow-up Prompts section below) and ask the agent to use the layer extent instead.

Example 5: MODIS NDVI Continental Timelapse over Africa

For continental-scale phenology, MODIS at 250 m is a better fit than Landsat. Send:

Create a MODIS NDVI timelapse animation over Africa.

In about 20 seconds the agent returns a continental animation that shows the seasonal green wave moving north and south with the rains. This kind of visual is hard to beat for a remote sensing lecture.

Example 6: Esri Wayback High-Resolution Timelapse

For sub-meter detail, switch to the Esri Wayback basemap archive by mentioning “Wayback” or “high resolution” in the prompt. Pan to a fast-changing neighborhood (for example, a new subdivision in Las Vegas) and send:

Create an Esri Wayback timelapse for the current extent. Use FPS 2 and title “Las Vegas”.

The agent fetches the historical Wayback layers, composites them in chronological order, and renders the animation. Wayback coverage starts in 2014, so it is best for recent change. If early years have incomplete tiles (visible as black areas), follow up with:

Use the current extent from 2018 to today.

Refine with Follow-up Prompts

The agent responds to plain-language refinements. Useful patterns include:

For a precise area of interest, draw a polygon and ask the agent to use it:

  1. Layer > Create Layer > New Temporary Scratch Layer, geometry Polygon.

  2. Enable View > Toolbars > Shape Digitizing Toolbar, then pick Add Rectangle from Center and a Point.

  3. Click the canvas to draw the rectangle, right-click to finish.

  4. Prompt: “Create a Landsat timelapse for the layer extent of the selected layer using a false color composite.”

The agent reads the active layer’s extent and uses it as the bounding box.

Tips

Resources

Try this on a place you care about: a hometown, a familiar coastline, a favorite national park, or a recent news event. The combination of natural language prompts and decades of free satellite data makes it trivial to produce striking visuals for class, research, or social media. If you run into issues or have feature requests, please open an issue on the GitHub repository, and subscribe on YouTube or follow the RSS feed to catch the next post when it is released.