SatQuery AI is an agentic, multi-modal Earth Observation (EO) platform engineered for the Indian Space Research Organisation (ISRO) Space Applications Centre (SAC). Designed to analyze single, co-registered optical-SAR, and bi-temporal satellite rasters through natural-language queries, SatQuery AI translates user intent into deterministic remote-sensing pipelines, vector-grounded segmentation masks, and auditable scientific intelligence.
- Operating System: Linux (Ubuntu 20.04+ recommended), macOS, or Windows 10/11 with WSL2.
- Container Runtime: Docker Engine (v24.0+) and Docker Compose (v2.20+).
- No local Python, Node.js, GDAL, or database installations are needed.
Clone the repository and execute the master initialization script:
git clone https://github.com/SarahGoel/SatQuery-AI
cd SatQueryAI
chmod +x run.sh
./run.sh- Analyst Web Console: http://localhost:5173
- FastAPI OpenAPI Interactive Documentation: http://localhost:8000/docs
- Air-Gap Verification Diagnostic Probe: http://localhost:8000/api/v1/health/air-gap
SatQuery AI supports both instant cloud evaluation and sovereign air-gapped evaluation. Configure your selection in backend/.env:
- Get a free API key from Google AI Studio.
- Edit
backend/.env:VLM_PROVIDER=gemini GEMINI_API_KEY=AIzaSyYourActualKeyHere
- Restart the backend:
docker compose restart backend.
Leave the API key blank or configure Ollama:
VLM_PROVIDER=ollama
GEMINI_API_KEY=
OLLAMA_BASE_URL=http://satquery_ollama:11434Note: In offline CPU environments, heavy vision tensor calculations take approximately 60–90 seconds per query.
| # | Query Archetype | Sample Evaluation Query | Expected System Action |
|---|---|---|---|
| 1 | Scene VQA | "Describe the land cover and major objects visible in this image." | Returns a concise 6-to-7 line domain-grounded summary distinguishing agricultural cropland from forest and bare soil. |
| 2 | Feature Grounding | "Highlight the water bodies referred to in the query." | Calculates NDWI anchor points, executes MobileSAM, and generates an exact vector polygon with area in |
| 3 | Bi-Temporal Change | "What changed between these two dates and where did the change occur?" | Calculates Siamese difference masks and outputs localized directional findings ([INCREASED], [DECREASED]). |
| 4 | Cross-Modal Fusion | "Use the optical and SAR image together to identify build-up and water-covered regions." | SIFT-aligns both rasters, identifies water using SAR specular drop ( |
| 5 | Class Tracking | "Has the built-up area increased, decreased, or remained unchanged?" | Computes NDBI deltas across T1 and T2 to output verified urban development metrics. |
To cleanly stop all running services and network bridges:
docker compose downTo remove containers and wipe associated database volumes:
docker compose down -v