Hiking Map Project
Posted: Tue Feb 04, 2025 2:51 pm
I've been geeking out on a new hiking map over the last couple of months. I'm as excited about the tech as I am about the map.
I created an interactive map of my hikes (https://ironhiker.cloud/hikes) using the powerful Datasette tool by Simon Willison. The result was an intuitive, easy-to-use map that links each hike to a full report on my blog. Many interesting technologies are at play. The main database (All_Hikes) has everything. Then, there are subsets for my Favorites, Ultras, Sierra Club lists, and my personal Iron Mountains CA list. The hardest part was getting all the lat/longs for each summit.
If anyone is interested in the details (probability: very low), the underlying database is sqlite3, a self-maintaining SQL compliant standalone database. The mapping functionality is provided by a datasette plugin, and it was deployed to Google Cloud Run as a service, then mapped to a custom domain (ironhiker.cloud). Google Cloud Run automatically scales your application instances as needed, but is a scale to zero service, meaning when it is not in use, all instances are killed and no charges are incurred.
I know, it's a lot of work for a map, but I wasn't happy with a custom Google Map. I wrote a more detailed article about it (https://symbols.hashnode.dev/interactiv ... ogle-cloud), and I'd be happy to help anyone else set up their own maps.
I'll go crawl back in my nerd hole now.
I created an interactive map of my hikes (https://ironhiker.cloud/hikes) using the powerful Datasette tool by Simon Willison. The result was an intuitive, easy-to-use map that links each hike to a full report on my blog. Many interesting technologies are at play. The main database (All_Hikes) has everything. Then, there are subsets for my Favorites, Ultras, Sierra Club lists, and my personal Iron Mountains CA list. The hardest part was getting all the lat/longs for each summit.
If anyone is interested in the details (probability: very low), the underlying database is sqlite3, a self-maintaining SQL compliant standalone database. The mapping functionality is provided by a datasette plugin, and it was deployed to Google Cloud Run as a service, then mapped to a custom domain (ironhiker.cloud). Google Cloud Run automatically scales your application instances as needed, but is a scale to zero service, meaning when it is not in use, all instances are killed and no charges are incurred.
I know, it's a lot of work for a map, but I wasn't happy with a custom Google Map. I wrote a more detailed article about it (https://symbols.hashnode.dev/interactiv ... ogle-cloud), and I'd be happy to help anyone else set up their own maps.
I'll go crawl back in my nerd hole now.