Skip to content

GeoMind

GeoMind is an AI-powered command-line agent for Sentinel-2 satellite imagery analysis. Type a plain English query - GeoMind geocodes the location, searches the satellite catalog, streams only the data chunks it needs, and produces images and statistics in seconds.


What GeoMind Can Do

Capability Example Query
RGB true-color composite "Create an RGB composite for the most recent image of Iceland"
NDVI vegetation index "Show me NDVI data for the Amazon rainforest"
Cloud-filtered search "Search for images with less than 10% cloud cover in London"
Band statistics "Get band statistics for this scene"
Multi-product in one query "Get me recent image of Scotland and its NDVI"
Coordinate-based query "Get satellite data for coordinates 40.7128, -74.0060"
GeoCroissant metadata "Get me any Iceland recent image geocroissant metadata"

A single query can trigger multiple tools automatically - search, composite, and NDVI all at once.


How It Works

Your query  ->  Geocoding  ->  Catalog search  ->  Stream band data  ->  Image output
"Paris RGB"     Paris coords    Recent scenes       ~1-5 MB via Zarr     outputs/*.png
  1. Geocoding - place name converted to coordinates and a bounding box
  2. Catalog search - recent Sentinel-2 scenes retrieved for that area
  3. Cloud-native streaming - only the required band chunks are downloaded (~1–5 MB instead of ~720 MB)
  4. Processing - bands are scaled, stacked, and rendered as PNG
  5. Output - image saved to outputs/ and opened automatically

Installation

Available on PyPI

GeoMind is available on PyPI. A full release is coming soon.

pip install geomind-ai

Dependencies installed automatically: OpenAI client, PySTAC-Client, Zarr, Xarray, Geopy, Matplotlib, and more.


Quick Start

1. Launch GeoMind:

geomind

2. On first run, enter your free OpenRouter API key when prompted:

OpenRouter API key required (FREE)
   Get yours at: https://openrouter.ai/settings/keys

   Enter your API key: sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxx
   API key saved! You won't need to enter it again.

3. Start querying:

> get me recent image of scotland and its ndvi
Executing: list_recent_imagery({'location_name': 'Scotland'})
Executing: create_rgb_composite({...})
Executing: calculate_ndvi({...})

RGB composite:  outputs/rgb_composite_7066.png
NDVI:           outputs/ndvi_9664.png
NDVI stats:     min -724775 / max 161061 / mean -16.43 / std 2447.43

Key Facts

Data source Sentinel-2 Level-2A (surface reflectance)
Resolution 10 m (RGB, NDVI), 20 m (Red Edge, SWIR)
Default AI model nvidia/nemotron-3-nano-30b-a3b:free - free via OpenRouter
API key required Yes - free OpenRouter account at openrouter.ai
Output format PNG images saved to outputs/; GeoCroissant JSON-LD saved to outputs/
Metadata standard GeoCroissant 1.0 + Croissant 1.1 - validated by mlcroissant validate
Data download per query ~1–5 MB (cloud-native streaming, no full scene download)
Search lookback 14 days by default, auto-extends if no results found
Max cloud cover 50% by default, configurable per query

Documentation

  • Usage Examples


    Step-by-step walkthroughs - RGB composites, NDVI, cloud filtering, scripting, and more.

    Usage Examples

  • CLI Reference


    All command-line flags, environment variables, and interactive session commands.

    CLI Reference

  • Tools Reference


    Every tool the GeoMind agent can call - geocoding, STAC search, and image processing.

    Tools Reference

  • Architecture


    The agent loop, cloud-native data flow, technology stack, and external APIs explained.

    Architecture

  • GeoCroissant


    ML-ready metadata for every Sentinel-2 scene - vocabulary, output structure, validation, and examples.

    GeoCroissant