stac-gis
stac-gis is an open-source, AI-powered geospatial platform that bridges high-resolution environmental data cubes with conversational AI. It is a STAC-compliant Geographic Information System (GIS) that lets you query, analyze, and visualize geospatial assets using natural language - with all AI execution running locally, so your data never has to leave your servers.
stac-gis is an open-source product of OpenGeoHub, developed in the open on Codeberg.
The platform is made of three independent, self-contained components:
| Component | What it is | Repository |
|---|---|---|
| Core | The STAC-compliant platform: FastAPI backend, React frontend, Postgres/pgvector, MinIO storage, and the local AI chat | stac-gis/core |
| Geo-AI | stacgis-ai + stacgis-ai-react β a reusable harness for building geospatial AI agents (ReAct loop, MCP tools, FastAPI streaming, React chat UI) | stac-gis/geo-ai |
| Catalog | A Python toolkit (stac-catalog) that generates STAC Collections & Items from CSV/Google Sheets, loads them into pgSTAC, and serves them (STAC FastAPI + TiTiler + STAC Browser) | stac-gis/catalog |
Each component can be used standalone or combined into a full platform: Core stores and serves your geodata through a STAC API, Geo-AI powers the conversational agent that reasons over it, and the Catalog turns your raster metadata (CSV or Google Sheets) into a STAC catalog and serves it for browsing.
πΊοΈ Where to go nextβ
- Platform overview β how the three components fit together, with the full architecture diagram.
- Core β Getting started β install and run the stac-gis platform (dev and production).
- Geo-AI β Quick start β run the agent harness with Docker Compose or a manual setup.
- Catalog β Getting started β generate a STAC catalog from CSV or Google Sheets and serve it with one command.
π Component repositoriesβ
stac-gis/
βββ core/ # stac-gis Core β backend, frontend, and full-stack compose
βββ geo-ai/ # Geo-AI β stacgis-ai (Python) + stacgis-ai-react (npm)
βββ catalog/ # Catalog β stac-catalog Python STAC generator + serving stack
π‘ Why stac-gis?β
- πΊοΈ STAC-native β data models follow the SpatioTemporal Asset Catalog specification, so your assets stay interoperable and portable.
- π€ Local-first AI β the agent loop runs against locally hosted LLMs (Ollama) and MCP tools; no data leaves your infrastructure.
- π§© Composable β use the core platform, drop the agent harness into your own FastAPI/React apps, or just self-host a catalog for an existing STAC API.
- π Self-hosted by design β every component ships with Docker support and runs on commodity hardware.
βοΈ How does stac-gis compare to QGIS, GeoLibre, and similar tools?β
stac-gis lives in the open, standards-based geospatial world alongside tools such as QGIS and GeoLibre. All three are free & open source and speak open standards β but they sit at different points: stac-gis is a server-side, multi-user, STAC-first platform you host, GeoLibre is a client-centric, cross-platform app that keeps your data local & private, and QGIS is the classic desktop GIS editor.
| Aspect | stac-gis | QGIS | GeoLibre |
|---|---|---|---|
| What it is | Self-hosted, server-side GIS platform: STAC API + web UI + AI agent + catalog | Free & open-source desktop GIS application (Windows / macOS / Linux) | Free & open-source, cloud-native, cross-platform GIS platform (web, desktop, mobile, Jupyter) |
| Where it runs | Your servers (Docker), used through a browser | A user's computer (local install) | Browser, desktop (Tauri), mobile, or a Jupyter notebook β data stays local & private |
| Core stack | FastAPI + React + Postgres/PostGIS + MinIO + Ollama | C++ / Qt | Tauri + React + MapLibre GL JS + DuckDB-WASM + deck.gl |
| Primary use | Store, serve & analyze geodata through a STAC API; natural-language AI over your own data | Author, edit, visualize & analyze maps (cartography, digitizing) | Explore, analyze & visualize geodata locally or from cloud sources (scripting, SQL, geoprocessing) |
| Multi-user / API-first | β Yes β FastAPI, REST, OGC API, pgSTAC, RBAC | β οΈ Mostly single-user desktop | β οΈ Client-centric, with real-time collaboration & story maps |
| STAC support | β Built around STAC + OGC | β οΈ Via plugins | β STAC among many formats (WMS/WFS/WMTS, COG, GeoParquet, Zarr, 3D Tilesβ¦) |
| Conversational / local AI | β Built-in agent (Ollama + MCP) | β Not built-in (community plugins) | β Built-in AI assistant & AI segmentation |
| Open source | β Apache-2.0 | β GPL v2+ | β Free & open source |
| Best for | Teams wanting a private, multi-user, STAC-first GIS service they self-host | Individuals & teams producing and editing maps on a desktop | Local/private, cross-platform exploration & analysis (incl. notebooks) |
π‘ In one line: QGIS is the desktop editor, GeoLibre is a client-centric, cross-platform explorer that keeps data local, and stac-gis is the always-on, multi-user, STAC-first platform & service you self-host β serving geodata through a STAC API and answering questions with local AI.
πͺπΊ Funding & acknowledgmentβ
Research and development of stac-gis has been supported by European Union Horizon Europe projects:
- The Open-Earth-Monitor Cyberinfrastructure project has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No. 101059548.
- The AI4SoilHealth.eu project has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No. 101086179.
- The OGCR project has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No. 101218854.
Views and opinions expressed are those of the authors only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.