Getting nothing but static, getting nothing but staticStatic filling my attic from Channel Z - The B-52's I joined LinkedIn first. A friend recommended it to me at the time and I signed up on February 11, 2004. Member number 224,376. I made my first attempt at a blog in 2005 and scuttled it after … Continue reading Reclamation
Producing GeoJSON from SQL, Part 2 (DuckDB/Geoparquet Edition)
A few months ago, I wrote a post about how to generate GeoJSON feature collections using pure SQL in PostGIS. After attending FOSS4GNA and learning more about GeoParquet and DuckDB, I wanted to modify the approach to use those tools. What is DuckDB? It is an in-process SQL database management system designed for fast analytical … Continue reading Producing GeoJSON from SQL, Part 2 (DuckDB/Geoparquet Edition)
Reflecting on My FOSS4GNA
My last post offered a bit of a survey course on my experience at FOSS4GNA in St. Louis. I have a few aspects of the conference I want to unpack and it may take another post or two to accomplish that. For me, personally, the experience of helping to organize FOSS4GNA, then attending and reconnecting … Continue reading Reflecting on My FOSS4GNA
A FOSS4GNA Savasana
I flew home from St. Louis yesterday, returning from the FOSS4G North America conference. I took a different approach to the conference this year than I did in 2023. Rather than moderate sessions and participate in a lot of on-site logistics, I sat in on more sessions so I got to see a lot more … Continue reading A FOSS4GNA Savasana
Walls and Bridges
In the 18+ months since I stepped back into the world of geospatial consulting and services, one of the most striking things I have noticed is the seemingly increased tribalism in the geospatial space. Maybe I shouldn’t be surprised, given the increased tribalism of society in general, but that’s a different post that won’t get … Continue reading Walls and Bridges
Experimenting with RAG Using ChatGPT and DuckDuckGo
I had a project over the summer that required me to do a deep dive into various concepts around AI. Approximately 200 academic papers later, I came away with a laundry list of things I wanted to try. I am primarily interested in the capabilities of LLMs, but I am not particularly interested in the … Continue reading Experimenting with RAG Using ChatGPT and DuckDuckGo
Image Similarity with PgVector
At FedGeoDay in April, I attended a workshop conducted by my friend Steve Pousty on the use of vector databases. Steve is a great teacher and I learned a lot that day. I’ve been on a bit of a journey since. I’ve gotten some project work with AI and I find vector databases to be … Continue reading Image Similarity with PgVector
Just Enough Geospatial
As I mentioned earlier this year, I spend a lot of time working in Python these days. More and more, my work seems to be about performing geospatial tasks with the minimal amount of geospatial dependencies possible. My most recent work has been generating contours from a set of sampled elevation points. I’ve done this … Continue reading Just Enough Geospatial
Producing GeoJSON with SQL
A couple of weeks ago, I had a need to return GeoJSON from PostGIS. This is something I've done many times, but I usually do the final formatting in the application/API layer with Javascript or Python. Basically, my workflow has been to SELECT, using the built-in ST_AsGeoJSON function to convert the geometry to GeoJSON. I … Continue reading Producing GeoJSON with SQL
Simple Geocoding with ChatGPT
Early in my career, I dealt with a requirement to post-process a corpus of existing documents to "geocode" them. This meant identifying the locations referenced in each document, calculating a minimum bounding rectangle (MBR), and writing the MBR, the file path, and some associated ID into a database, so that documents could be surfaced via … Continue reading Simple Geocoding with ChatGPT