The Spatial Analysis Agent is a user-friendly plugin that serves as a "Copilot" in QGIS software. This GIS Copilot allows users to perform geospatial analysis directly within QGIS using natural language queries, making it accessible for both experts and beginners.
The Copilot leverages QGIS processing tools, and other external tools such as Python libraries (e.g., Geopandas, Rasterio, seaborn, etc.). Whether working with vector data, raster analysis, the Spatial Analysis Agent offers a flexible, AI-driven approach to enhance and automate GIS workflows. For more details on the framework used by this plugin, refer to our preprint manuscript: Temitope Akinboyewa, Zhenlong Li, Huan Ning, and M. Naser Lessani. 2024. "GIS Copilot: Towards an Autonomous GIS Agent for Spatial Analysis." arXiv. https://doi.org/10.48550/arXiv.2411.03205
QGIS Plugin page: https://plugins.qgis.org/plugins/SpatialAnalysisAgent-master/
Plugins
> Manage and Install Plugins...
AutonomousGIS-SpatialAnalysisAgent
and click Install Plugin
Alternatively,
Plugin > Manage and install Plugins.. > Install from ZIP
...
to select the directory of the downloaded zip file and Install plugin
The User Manual is available here
Note: API keys input here will only be stored locally on the user's computer ('plugin_dir/SpatialAnalysisAgent/config.ini').
https://github.com/user-attachments/assets/4c69d024-22c4-4458-ad6f-9b660715aef9
https://github.com/user-attachments/assets/4b23eba4-3e99-47ec-85d6-6efb7ebb6b20
Find more examples on the Case Studies page
openai
langchain_openai
nest-asyncio
networkx
pyvis
geopandas
IPython
iface
jsonpickle
regex
toml
seaborn
pydantic
Note: All the required python libraries are expected to be installed automatically. However, if any of these python libraries failed to install automatically, you may install them manually by following the steps below to install the libraries.
Using 'openai' as an example, follow these steps to install any python library:
Plugins
> Python Console
or press Ctrl+Alt+P
import pip
pip.main(['install', 'openai'])