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.

QGISMCP

I decided to try my first foray into AI with QGIS on my work computer (i.e. Windows obligate) and trying to recreate a friend’s example I had to do the following things as a complete newbie:

  1. Install Claude (I did the most basic tier etc.)
  2. Install uv
  3. Install the QGIS MCP plugin of my choosing
  4. Then, as in the instructions there, you have to edit claude_desktop_config.json and here was what my entry looked like:
"mcpServers": {
    "qgis": {
      "command": "C:\\Users\\me\\.local\\bin\\uv.exe",
      "args": [
        "--directory",
        "C:\\Users\\me\\Documents\\qgis_mcp\\src\\qgis_mcp",
        "run",
        "--python",
        "3.13",
        "qgis_mcp_server.py"
      ]
   }
}

You can replace the entire file with this and save it, and Claude will just add all the default stuff back in. You need to have the json formatted exactly right, and some headaches I ran into were with the paths (have to remember “\\” instead of “/”) and also specifying a compatible version of python I had already installed on my computer. It doesn’t seem above 13 works with any of this.

Yard Insects This Summer

I’m back to my backyard, and am doing a synopsis of what’s been happening this season. I’ve had a nest of guinea paper wasps on the fence, but out of a desire to not disturb them(!) I haven’t checked on them. I’ve also had a few crab spiders on my flowers, but iNaturalist reviewers seem to be putting them in Mecaphesa (indeed it seems identification is based on fine characteristics). I had a spined stilt bug along the foundation of my house, but only saw it once. I also had a flower scarab again, but the flower chafers so far haven’t gotten a lot of attention on iNaturalist. I’ve had several longhorn and cuckoo bees, but again am not versed enough to identify them myself. I also think I had Tachytes guatemalensis but would be nice to get a confirmation. Some night finds have been non-natives (Asiatic garden beetle and striped greenhouse slug) as well as a tie-for-favorite annually, firefly spp.

Today saw an influx of migratory saddlebags and other dragonflies. I’m still hoping to luck out enough to get a perched photo of some species that hardly sit still!

Slide Mountain

I did a “bucket list” hike to the summit of Slide Mountain today! I took the path up here and took the Curtis-Ormsbee Trail back. I haven’t done a mountain hike in years, so it was tough! It was a good encouragement to get back into peak (pun intended) hiking shape to explore more of this wilderness area, perhaps next summer.

NJ Mapping

I had to make a leaflet map for a work project with sensitive data, and as the backdrop I used the following layers:

The Legacy of Changed Marshes: references

Thank you for reading my latest article in Cape May magazine! Here are my sources, along with some corrections…

Corrections

  1. I think I overstated the extent of filling in South Cape May; here’s a map of historic fill extent. The history of SCM is more thoroughly addressed in a previous article for the magazine anyway: https://capemaymag.com/feature/gone-with-the-waves/
  2. I cannot find my original reference for the Cape May County % area mosquito ditched, as I can’t find the doc where I was originally keeping these sources 🙁 I remember finding a reference that had some rough breakdowns in text for a few counties. All I can bring up though is the following reference for ditching in the back bays, which estimates 40% https://www.njcoastalresilience.org/wp-content/uploads/2025/05/Ecological-Restoration-and-Beneficial-Use_NJRSMF-WhitePaper.pdf

This doesn’t incorporate Delaware Bay marshes, so I’m not sure how that would adjust the estimate barring re-finding the previous rough estimate. But, it’s possible that the extent of ditching is closer to 40%.

References

https://www.usgs.gov/publications/sediment-redistributed-coastal-marsh-mosquito-ditching-cape-may-county-new-jersey-usa

https://www.sciencedirect.com/science/article/abs/pii/S0964569117307676

Female Bird Weekend

Happy Memorial Day! This weekend, the Galbatrosses celebrated Female Bird Day, and this galbatross in particular spent a good chunk of the weekend looking for female birds and posting short videos of them w/ID tips to my Instagram story. Species in which I was able to find the female:

  • American robin: pair foraging together, female duller plumage
  • common grackle: pair foraging together, female has shorter tail/duller plumage
  • mourning dove: foraging together, female has plainer face
  • northern cardinal
  • house sparrow
  • ruby-throated hummingbird
  • gray catbird: female building nest
  • osprey: female has breast band, in this case was bringing fish back to the nest while the male was standing sentry nearby
  • barn swallow: female cream/white underneath, in contrast to the male’s orange underbelly

Some reflections…

  • running female bird weekend this late makes it hard to find the females of some common/resident species…
    • Carolina chickadees have already fledged young, and the female can only be reliably identified by carrying nesting material by the time there are fledglings
    • chipping sparrows are tending fledglings, and the female could only be identified if they are attempting a 2nd nest (which they don’t always do) and she’s carrying nest material while the male is tending young
    • red-winged blackbird females seemed to be all on nests, didn’t see any
  • next year’s goal sighting: while it seems female chimney swifts often lead the trio flights, they don’t always…look for aerial copulation?

Godwit Days

Today my mom and I are headed to this fest in CA! I’m writing this post after the fact as a reminder for what I packed and could have used, since I may well do this festival again 🙂

  • visor
  • winter hat
  • hair ties (and sleeping hair tie)
  • cotton gloves
  • sunglasses
  • Eddie Bauer 2-in-1 hip length coat (650 down puff layer under waterproof shell)
  • hoodie
  • 2 long sleeved tees
  • t-shirt
  • Carhartt force utility leggings
  • a pair of fleece lined leggings (could have used another pair and meant to pack them)
  • 3 pairs of leggings/yoga pants
  • joggers
  • sweatpants
  • kneehigh compression socks (for the flight there/back)
  • anklet compression socks (could use ones with more compression…)
  • novelty socks (could have used warmer boot socks)
  • hiking boots
  • hiking shoes
  • Shade & Shore Neida sandals
  • Keen waterproof Chelsea boots
  • sunscreen (didn’t pack after sun care and needed it)
  • a nice dinner outfit for 60’s °F

Honestly this festival was pretty easy to pack for, as the weather was about the same as we have in Cape May right now. We kept it simple, didn’t go anywhere overly fancy for dinner (although would have on hand a decent outfit for going out if desired). Arcata was pretty laid back though, and for the most part we unapologetically went from the field to food. Humboldt Co. was captivating, the festival was great, and I would consider a return, full day of travel both ways and all!