Unlock 80+ Petabytes of Earth Engine Data in QGIS with Zero Coding
Happy New Year! As my first project of 2026, I am sharing what might be one of the most powerful QGIS plugins I have built so far. The GEE Data Catalogs Plugin makes it incredibly easy to explore the official Earth Engine Data Catalog (780+ datasets) and the Awesome GEE Community Catalog (4,300+ datasets) directly inside QGIS, totaling over 5,000 datasets and 80+ petabytes of data.
With just a few clicks, you can browse datasets, visualize them on the map, generate satellite time series, export data to your computer, inspect pixel values, and even convert Earth Engine JavaScript code to Python, all without writing a single line of code.
Video tutorial: GEE Data Catalogs Plugin for QGIS
What You Will Need¶
QGIS installed via Pixi (do not use your existing QGIS installation due to dependency requirements)
A Google Earth Engine account (free for research and education)
Optionally, the LeafMap QGIS plugin for layer transparency and swipe tools
Set Up the Environment¶
Install Pixi and create a project¶
pixi init geo
cd geo
pixi add qgis geemap xee rioxarray geopandasAuthenticate Google Earth Engine¶
pixi run earthengine authenticateThis opens a browser tab for Google authentication. The credential is saved locally and typically lasts about a week before re-authentication is needed.
Launch QGIS¶
pixi run qgisInstall the Plugin¶
Go to Plugins > Manage and Install Plugins.
Search for Earth Engine Data Catalog.
Click Install Plugin.
Go to GEE Data Catalogs > Check for Updates to get the latest version from GitHub (the official repository may lag behind by a few days).
Restart QGIS after updating.
I also recommend installing the LeafMap plugin for layer transparency and swipe tools.
Initialize Earth Engine¶
Before using the plugin, you need to initialize Earth Engine with your project ID:
Click the GEE Data Catalogs Settings button in the toolbar.
Enter your Google Earth Engine project ID (find it at code
.earthengine .google .com under your profile). Click Save Settings, then Initialize Earth Engine.
A green confirmation message indicates success.
If you encounter errors, open the QGIS Python console and run:
import ee
ee.Authenticate()
ee.Initialize(project="your-project-id")Browse and Load Datasets¶
The plugin opens a panel on the right side of QGIS with multiple tabs for different workflows.
Browse tab¶
The browse tab lists all 5,000+ datasets. You can filter by source:
All: Both official and community datasets
Official: The 780+ datasets in Google’s official catalog
Community: The 4,300+ datasets from the Awesome GEE Community Catalog
Click any dataset to see a preview at the bottom of the panel, including the dataset ID, provider, date range, and a link to the full documentation page.
To load a dataset onto the map, simply double-click it. The imagery appears on the map within seconds, streamed directly from Earth Engine without downloading anything.
Search tab¶
If you know what you are looking for, use the search tab to filter by keyword. Type a term like “land cover” or “elevation” and the list updates to show matching datasets. Select a dataset and click Add to Map or Config and Add for more control over visualization parameters.
Inspect Data¶
The Inspector tab works like the Earth Engine Code Editor’s inspector:
Click Inspector and then click anywhere on the map.
The panel shows pixel values for all loaded raster layers and attribute values for vector layers (feature collections).
This is useful for quickly checking data values without writing any code.
Load Individual Images from a Collection¶
For image collections like Harmonized Landsat Sentinel-2, you often want specific images rather than the entire collection:
Search for your dataset (e.g., “harmonized landsat”).
Click Config and Add to open the load tab with full configuration options.
Set the date range (e.g., December 2025).
Enable cloud cover filter (e.g., less than 5%).
Define the area of interest using the map extent or by drawing a bounding box.
Select Individual Images mode and set a limit (e.g., 10 images).
Click Fetch Available Images.
The plugin returns a list of matching images. Select any image to preview its bands, then click Load Dataset to add it to the map. Specify band combinations (e.g., B5, B4, B3 for false color) and min/max values for proper visualization.
Create Time Series¶
One of the most powerful features is generating composite time series for any image collection:
Search for and select a dataset.
Click the Time Series button at the bottom.
Configure:
Date range: e.g., January 1, 2025 to December 31, 2025
Cloud cover: e.g., less than 10%
Area of interest: draw a bounding box on the map
Temporal frequency: monthly, quarterly, or yearly
Reducer: median (good for cloud removal), mean, or maximum (for peak vegetation)
Visualization: band combination and value range
Click Preview Info to see how many images match (e.g., 89 images, 12 time steps).
Click Create Time Series.
The time series generates in seconds. A time slider appears at the bottom of the map, letting you navigate through each time step. Each frame is loaded on the fly from Earth Engine. You can also click the play button to animate through the series.
Export Data¶
The Export tab lets you download data to your local computer:
Raster export¶
Select the data layer to export.
Define the extent (map extent or drawn bounding box).
Set the resolution (e.g., 30 m for Landsat).
Choose the coordinate system (default: EPSG:3857).
Click Export.
The plugin uses xee under the hood, which handles larger exports than the standard Earth Engine JavaScript API allows. Exported files are Cloud Optimized GeoTIFF.
Vector export¶
For feature collections (e.g., country boundaries):
Select the vector layer.
Define the extent to export a subset, or leave it for the full dataset.
Choose the output format (GeoPackage, GeoJSON, Shapefile, etc.).
Click Export.
Convert JavaScript to Python¶
The Conversion tab converts Earth Engine JavaScript code to Python automatically:
Copy any JavaScript snippet from the Earth Engine Code Editor or documentation.
Paste it in the conversion tab.
Click Convert to Python.
The converted code appears using geemap syntax.
Click Run to execute it and add the results to the map.
This is especially useful for datasets that only provide JavaScript examples in their documentation.
Run Custom Python Code¶
The Code tab provides a Python console where you can run any Earth Engine Python code using geemap. Every time you load a dataset through the GUI, the corresponding Python code is automatically copied to your clipboard, so you can paste it into a notebook or script for reproducible workflows.
Resources¶
QGIS Plugin Page: plugins
.qgis .org /plugins /gee _data _catalogs GitHub Repository: github
.com /opengeos /qgis -gee -data -catalogs -plugin Earth Engine Data Catalog: developers
.google .com /earth -engine /datasets Awesome GEE Community Catalog: gee
-community -catalog .org
This plugin puts over 80 petabytes of geospatial data at your fingertips without requiring any programming knowledge. Whether you are exploring land cover changes, creating satellite time series, or downloading data for local analysis, everything happens inside QGIS with a few clicks. If you find it useful, please give it an upvote on the QGIS plugin page. Feel free to open an issue or feature request on the GitHub repository if you run into any problems.