GIS + AI

I finally sold out dipped my toe in the water of seeing what was possible with connecting QGIS to an AI agent. For starters (or to show how behind the game I am) I had to learn what any of them are; I ended up going with the one some of my colleagues had talked about, Claude. So I had to make a Claude account, and chose the most basic free tier. I installed Claude, and also this QGISMCP plugin (again among a few choices, check out that blog post about a few things I had to mod to get it working). Once I got it all connected, I got rolling.

Due to having the free tier, it runs out of time/requests available for the day/a certain time period. This was honestly fine for my purposes, as I got used to it and it stopped at a fairly reasonable place for me. For me so far, the biggest advantage of this has been as a super-powered search engine that also gets data flowing. It seems really good at finding datasets and “streaming” it into QGIS, whether via REST or web scraping content into GeoJSON(👀). That has already saved me a nontrivial amount of time, in addition to some basic subsets and projections along the way.

The rest so far, I’d prefer to be hands on about (spatial operations, analyses etc.). Maybe eventually, I’ll learn how to move these processes to be more hands off, but I don’t fully trust the automation, or better yet have not come up with a monitoring/checking process I feel confident in. So, rather than learn how to monitor AI, I’d rather just keep doing these processes myself for now. Also, most importantly for me, given the high environmental cost, I don’t ideologically want to outsource too much of my workflow anyway. I will admit that the functionality to search deep for spatial data sources (and things like exposed endpoints…) outdoes my own searching, as well as the fast requests without downloading (and even web scraping, in some instances). For that, in the interest of efficiently getting data into QGIS, I might have to make a compromise.

Leave a Reply

Your email address will not be published. Required fields are marked *