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
- Geocoding - place name converted to coordinates and a bounding box
- Catalog search - recent Sentinel-2 scenes retrieved for that area
- Cloud-native streaming - only the required band chunks are downloaded (~1–5 MB instead of ~720 MB)
- Processing - bands are scaled, stacked, and rendered as PNG
- Output - image saved to
outputs/and opened automatically
Installation¶
Available on PyPI
GeoMind is available on PyPI. A full release is coming soon.
Dependencies installed automatically: OpenAI client, PySTAC-Client, Zarr, Xarray, Geopy, Matplotlib, and more.
Quick Start¶
1. Launch 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:
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.
-
CLI Reference
All command-line flags, environment variables, and interactive session commands.
-
Tools Reference
Every tool the GeoMind agent can call - geocoding, STAC search, and image processing.
-
Architecture
The agent loop, cloud-native data flow, technology stack, and external APIs explained.
-
GeoCroissant
ML-ready metadata for every Sentinel-2 scene - vocabulary, output structure, validation, and examples.