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.

NASA OPERA

QGIS Plugin GitHub

A QGIS plugin for searching, visualizing, and analyzing NASA OPERA (Observational Products for End-Users from Remote Sensing Analysis) satellite data products, with an AI assistant for natural-language interaction.

About NASA OPERA

OPERA is a NASA project that provides analysis-ready data products derived from satellite observations. The project produces near-real-time and systematic global data products using optical and SAR satellite imagery.

Learn more: NASA OPERA Project

Features

Video Tutorial

QGIS NASA OPERA Plugin + AI Agent (Full Tutorial)

Video Tutorial

Prerequisites

NASA Earthdata Account

To access NASA OPERA data, you need a free NASA Earthdata account:

  1. Go to NASA Earthdata Registration

  2. Create an account

  3. Configure your credentials in the plugin settings

Python Dependencies

Install these packages in the QGIS Python environment, or in an environment available on the QGIS Python path:

Installation

  1. Launch QGIS

  2. Go to PluginsManage and Install Plugins...

  3. Switch to the All tab, search for NASA OPERA, select it, and click Install Plugin

Method 2: Install from Source

  1. Clone or download this repository:

    git clone https://github.com/opengeos/qgis-nasa-opera-plugin.git
    cd qgis-nasa-opera-plugin
  2. Run the installation script:

    Linux/macOS:

    ./install.sh

    Windows/Cross-platform (Python):

    python install.py
  3. Restart QGIS

  4. Enable the plugin:

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

    • Search for “NASA OPERA”

    • Check the box to enable it

Method 3: Manual Installation

  1. Download or clone this repository

  2. Copy the nasa_opera 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: %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\

  3. Restart QGIS and enable the plugin

Usage

Basic Workflow

  1. Open the Plugin: Click the NASA OPERA icon in the toolbar or go to NASA OPERA > NASA OPERA Search

  2. Select Dataset: Choose the OPERA product you want to search for

  3. Set Search Parameters:

    • Bounding Box: Enter coordinates manually or click “Use Map Extent”

    • Date Range: Select start and end dates

    • Max Results: Set the maximum number of results

  4. Search: Click the “Search” button to find available data

  5. View Results:

    • Show Footprints: Display the spatial coverage of search results

    • Display Single: Load a specific granule’s raster data

    • Display Mosaic: Create a virtual mosaic from selected granules

AI Assistant

The NASA OPERA toolbar includes an AI Assistant button that opens the OpenGeoAgent chat panel. If OpenGeoAgent is not installed or enabled, NASA OPERA prompts you to install it from the QGIS Plugin Manager:

  1. Open Plugins > Manage and Install Plugins...

  2. Search for OpenGeoAgent and click Install Plugin

  3. Click the AI Assistant button in the NASA OPERA toolbar again

OpenGeoAgent owns the chat interface, LLM provider settings, and AI dependency installation.

Settings

Access settings via NASA OPERA > Settings:

First-Time Authentication

When you first run a search, the plugin will authenticate with NASA Earthdata:

  1. If you haven’t configured credentials, earthaccess will prompt for login

  2. Credentials are stored in ~/.netrc for future use

  3. You can also configure credentials in the Settings panel

Development

Project Structure

qgis-nasa-opera-plugin/
├── nasa_opera/                 # Plugin source code
│   ├── __init__.py            # Plugin entry point
│   ├── nasa_opera.py          # Main plugin class
│   ├── metadata.txt           # Plugin metadata
│   ├── deps_manager.py        # Dependency checks
│   ├── dialogs/               # UI widgets
│   │   ├── opera_dock.py      # Main search interface
│   │   ├── settings_dock.py   # Settings panel
│   │   └── update_checker.py  # Update checker dialog
│   └── icons/                 # Plugin icons
├── install.py                 # Python installation script
├── install.sh                 # Bash installation script
├── package_plugin.py          # Python packaging script
├── package_plugin.sh          # Bash packaging script
├── README.md                  # This file
└── LICENSE                    # MIT License

Packaging for Distribution

To create a distributable zip file:

python package_plugin.py
# or
./package_plugin.sh

This creates nasa_opera-{version}.zip ready for upload to the QGIS Plugin Repository.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Support

Acknowledgments