A comprehensive QGIS plugin for browsing, searching, and loading Google Earth Engine data catalogs directly in QGIS.
Repository: https://
github .com /opengeos /qgis -gee -data -catalogs -plugin License: MIT
Requires: QGIS 3.28+, Google Earth Engine account
Features¶
Dynamic Data Catalog Browser: Automatically loads datasets from the official GEE catalog and community datasets:
Official Earth Engine Data Catalog with 780+ datasets
Awesome GEE Community Catalog with 4,360+ community datasets
Search & Filter: Search datasets by keywords, tags, providers, data types, and sources.
Advanced Filtering for ImageCollections: Date range, bounding box (current map extent), and cloud-cover percentage.
Time Series: Create time-series layers from ImageCollections.
Pixel Time Series Inspector: Click on the map to extract and chart time series at a point, similar to Earth Engine’s
ui.Chart.image.series.Flexible Image Loading: Load composite images (mosaic, median, mean, min, max) or select and load individual images from ImageCollections.
Code Console: Write and execute geemap/Earth Engine Python code directly in QGIS.
Visualization Parameters: Customize with bands, min/max values, and color palettes.
Conversion: Convert Earth Engine JavaScript API code to Python API.
Inspector: Inspect Earth Engine layer values at specific locations.
Export: Export Earth Engine layers to various file formats.
Multiple Data Types: Load EE Image, ImageCollection, and FeatureCollection layers.
Integration: Works seamlessly with qgis-geemap-plugin.
Update Checker: Built-in plugin update checker from GitHub.
Data Sources¶
The plugin dynamically fetches catalog data from:
| Source | Datasets |
|---|---|
| Official Earth Engine Data Catalog | 780+ |
| Awesome GEE Community Catalog | 4,360+ |
Video Tutorials¶
This QGIS Plugin Unlocks 80 Petabytes of Satellite Data, For Free!
Create Stunning Time-Series Satellite Images in Seconds!
Installation¶
Prerequisites¶
QGIS 3.28 or higher.
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 | shWindows (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 geo3. Install the Environment¶
pixi add qgis geemap geopandas xee rioxarray4. Authenticate Earth Engine¶
pixi run earthengine authenticateInstalling the Plugin¶
Method 1: From QGIS Plugin Manager (Recommended)¶
Open QGIS using
pixi run qgis.Go to Plugins > Manage and Install Plugins....
Go to the Settings tab.
Click Add... under “Plugin Repositories”.
Give a name for the repository, e.g. “OpenGeos”.
Enter the URL of the repository: https://
qgis .gishub .org /plugins .xml. Click OK.
Go to the All tab.
Search for “Earth Engine Data Catalogs”.
Select the plugin and click Install Plugin.
Method 2: From ZIP File¶
Download the latest release ZIP from https://
qgis .gishub .org. In QGIS, go to Plugins > Manage and Install Plugins.
Click Install from ZIP and select the downloaded file.
Enable the plugin in the Installed tab.
Method 3: Manual Installation¶
Copy the gee_data_catalogs folder to your QGIS plugins directory:
Linux:
~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/macOS:
~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/Windows:
C:\Users\<username>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\
Restart QGIS and enable the plugin.
Usage¶
Initialize Earth Engine¶
Before using the plugin, authenticate with Google Earth Engine:
Click the Initialize Earth Engine button in the toolbar.
If not authenticated, run
earthengine authenticatein your terminal.Set the
EE_PROJECT_IDenvironment variable for auto-initialization.
Browse Datasets¶
Click the Data Catalog button to open the catalog panel.
Browse datasets by category in the Browse tab.
Filter by source (Official/Community).
Click a dataset to view its information.
Click Add to Map to load with default visualization.
Search Datasets¶
Go to the Search tab.
Enter keywords in the search box.
Filter by category, data type, or source.
Double-click a result to add it to the map.
Time Series¶
Go to the Time Series tab.
Enter the dataset Asset ID.
Set the date range and optional filters.
Choose a frequency (e.g. month, year) and reducer (e.g. mean, median).
Click Create Time Series to build the time-series layer.
Use Next and Previous to navigate through the time series.
Pixel Time Series Inspector¶
Extract time-series data at a clicked point location, similar to Earth
Engine’s ui.Chart.image.series:
Go to the Time Series tab.
Enter the dataset Asset ID and configure date range and filters.
Scroll to the Pixel Time Series Inspector section.
Click Start Pixel Inspector to activate the map click tool.
Click anywhere on the map to select a pixel location.
(Optional) Specify bands to extract and set the scale (resolution).
Click Extract & Chart to extract values and open an interactive chart.
In the chart dialog, toggle bands/points/grid, view statistics (min, max, mean, std), export to CSV/JSON/PNG, or copy data to the clipboard.
Load with Custom Parameters¶
Go to the Load tab.
Enter the dataset Asset ID.
Configure filters: date range for ImageCollections, cloud-cover threshold, spatial filter (current map extent).
Choose loading mode: Composite (mosaic, median, mean, min, max) or Individual Images.
Set visualization parameters.
Click Load Dataset.
Code Console¶
Go to the Code tab.
Write Python code using the Earth Engine Python API and geemap syntax.
Click Run Code to execute.
Conversion¶
Go to the Conversion tab.
Select an input layer.
Choose the conversion type (Image, ImageCollection, or FeatureCollection).
Configure the output options.
Inspector¶
Go to the Inspector tab.
Click Start Inspector.
Click on the map to inspect Earth Engine layer values at that location.
Click Clear to clear the inspector.
Click Refresh Layers to refresh the layers.
Export¶
Go to the Export tab.
Select an EE layer to export.
Choose the export region (map extent, vector bounds, drawn, or custom).
Set export options (scale, CRS, and format).
Choose an output file or leave it blank for a temporary export.
Click Export.
Notes¶
Network timeout warnings: You may see timeout warnings in the QGIS log when loading Earth Engine layers. These are normal and occur due to Earth Engine’s tile serving; layers will still load, just wait for the tiles to appear.
Performance: For large ImageCollections, use date and spatial filters to reduce the number of images processed.
Available Dataset Categories¶
Landsat: Landsat 5, 7, 8, 9 Collection 2
Sentinel: Sentinel-1 SAR, Sentinel-2 MSI, Sentinel-3, Sentinel-5P
MODIS: Vegetation indices, surface reflectance, temperature, snow, fire
Elevation: SRTM, ALOS, Copernicus DEM, ASTER GDEM
Land Cover: ESA WorldCover, Dynamic World, MODIS Land Cover, NLCD
Climate & Weather: ERA5, CHIRPS, GPM, TRMM
Boundaries: FAO GAUL, US Census TIGER, GADM
Night Lights: VIIRS, DMSP-OLS
Population: WorldPop, GPW, LandScan
Water: JRC Global Surface Water
Vegetation: NDVI, EVI, LAI, GPP products
Atmosphere: Aerosol, Ozone, NO2, CO2
Agriculture: Crop maps, harvest area, irrigation
Soil: Soil properties, moisture, organic carbon
Fire: Active fire, burned area
Ocean: SST, chlorophyll, coral reefs
Urban: Built-up areas, impervious surfaces
Configuration¶
Access settings via the Settings toolbar button:
General: Auto-initialization, notifications, default category.
Earth Engine: Project ID, default filters, performance options.
Display: Layer opacity, visualization defaults.
Troubleshooting¶
Authentication Issues¶
If you encounter errors like “Failed to initialize Google Earth Engine” or “Request is missing required authentication credential”:
Step 1: Authenticate Earth Engine (first time only)¶
Method A: Via QGIS Python Console:
import ee
ee.Authenticate()Method B: Via terminal:
earthengine authenticateFollow the browser instructions and restart QGIS after authentication.
Step 2: Configure Your Project ID¶
Method A: Enter your Google Cloud Project ID in the plugin’s Settings panel under the Earth Engine tab, save, and click Initialize Earth Engine.
Method B: Set the EE_PROJECT_ID environment variable in your system or
QGIS profile.
Common Issues¶
“Credentials not found”: Run
ee.Authenticate()first.“Failed to initialize”: Set your Project ID in Settings.
“Invalid project”: Verify the Project ID and that Earth Engine is enabled for that project.
Still not working: Try
ee.Authenticate(force=True)to re-authenticate.
For more help, check the QGIS message log under View > Panels > Log
Messages (filter by “GEE Data Catalogs”), or report issues at
https://
Related Projects¶
geemap: Python package for interactive mapping with Google Earth Engine.
qgis-geemap-plugin: QGIS plugin for geemap integration.
Earth Engine Data Catalog: Official GEE dataset documentation.
Awesome GEE Community Datasets: Community-contributed datasets.
