Hey QGIS, I Like Maps
For those who know me well, it should come as no surprise that I like maps... a LOT! Maps have been a great interest of mine since I was a young boy. When I was very young, I drew Batman, Superman, dinosaurs and MAPS. At one point I could draw the basic outlines of some continents from memory because I liked their shapes so much. I had all the states and capitals memorized just for my own entertainment (no one required it of me). In high school, my friends and I drew immaculate maps to earn extra credit. I think our efforts were awarded with as much as a 200% score for one of our map creations! Everyone else did the minimum by labeling photocopies of map outlines provided by the teacher, if I remember right.
Later in life when I became serious about hiking, my interest in maps was renewed. It's a little sad to me that maps these days are generated mostly by automated computer systems. Though the results of computerized maps and satellite tools are pristine and unrivaled by anything a human could make, I sometimes wish I grew up before computers so my lifelong career could have been in cartology, surveying or some forestry position. It's a little late to set my sights on that now.
My recent switch to Linux from Windows is largely to thank for last week's dive into QGIS mapping software. On Windows I was happy enough to use Garmin Basecamp, Viking, and GPX Editor to work with GPX tracks from my many hikes over the last 9 years. Unfortunately there is no magic bullet in mapping software for every possible use case. I have cycled through many map apps for Android as well, but I finally settled on All-in-One Offline Maps by Psyberia a couple years ago. I use it to mark waypoints for all the places I want to explore and locations I have already explored. I have marked thousands of points of curiosity which I hope to explore someday. In reality, there are too many places to explore in a very full lifetime of hiking just in my local area, much less the entire country or world. Part of me hopes I get to do such exploration in the next life, when time won't be an issue, and my body won't be falling apart anymore.
Viking is the only software I formerly used on Windows that is also available on Linux. Over the last month or so I did a deep search for new mapping software for my new OS. I wish I had searched earlier because I found QGIS less than two weeks ago. Since finding it I have spent many hours learning some of the basics. QGIS is so sophisticated, that I suppose it could take 10 years or more to master every feature of it. It is probably the most sophisticated piece of software I've ever installed - in any category.
Thankfully QGIS is fairly intuitive to learn and use straight away. I have tried to get a handle on QMapShack in the past, but the UI is weird to say the least. It's not user-friendly. QGIS, though far more capable than QMapShack, is much easier to learn.
One thing I have been searching for is desktop software with access to LiDAR hill shading and super-detailed contours. All-in-One Offline Maps for Android has some of these ridiculously beautiful maps, and I've not been able to match their quality on a desktop application until last week. Most software can load Open Street Maps (OSM) or other well-known map tile sources, and maybe some very rounded, basic USGS contours. I prefer ridiculously detailed contours so I can discover new geological features to mark and later explore. I have explored hundreds of interesting boulders and rock formations in this way by finding them on various maps. Such features don't appear on any normie maps and are unknown to average citizens. To reach such destinations requires a huge appetite for adventure, hiking on rough terrain nowhere near any trails. With a detailed map, you can discover amazing locations in nature! Don't do this unless you are an experienced explorer though. I am willing to take risks that most people would not because it brings me great joy in life.
QGIS is the first mapping software I have found that can load almost any kind of map source imaginable. It is far more capable than QMapShack, Viking, Basecamp or any other mapping software I'm aware of. Initially I found some amazing map sources from USGS - both contours and lidar shade maps to load as WMS or XYZ layers in QGIS. That was satisfying enough until I learned it is possible to download map features and contours in various vector formats - shapefiles, geospatial PDFs, and more. That delicious discovery started last week's QGIS obsession!
Using Overpass Turbo, an incredible online resource for geojson data queries, I downloaded vector polygons, lines and points for a wide swath of the state of Oregon. I also downloaded about 2300 geospatial PDFs from USGS which are of insane quality! With the data retrieved from Overpass Turbo, I created my own custom vector map in QGIS. I hand-styled every type of natural, geological and man-made feature with a color scheme that mostly matches OSM styles. Then I imported some qml styles from Beautiful OSM in QGIS which helped mostly with labeling rules, since I already styled most everything else to my liking.

Using free tools like QGIS, Overpass Turbo, and USGS (nationalmap.gov), it is possible to create maps of outstanding detail and quality. Such maps are easily good enough to print or for use with any web application. QGIS has tools to export tile sets much like Google Maps or other online resources use. You could host your own map server if you wish. I probably won't go that far... but who knows, maybe I will someday. Such things are quite easy to accomplish with the excellent UI and powerful capabilities of QGIS.
While I have messed with maps for many years, it kind of blows my mind that I learned so much about something new in just over a week! When you have passion for something, it is incredible how the brain unlocks its potential to absorb new information. Most of the time I feel old and unteachable, unable to learn new things. So it is refreshing to find a discipline or interest that activates my brain. It made me feel a bit younger and smarter... at least for a week.
Unfortunately I literally pushed QGIS to its resources limit. Because of the absurd level of detail of the vector objects I pulled in, I maxed out my computer's RAM and pretty much routinely crashed QGIS. At first I thought QGIS managed map resources more efficiently than Viking because it links to the files instead of embedding them into an enormous file. I began migrating all my GPX hiking tracks that I formerly visualized in Viking. I used AI to write some incredible Python scripts to automate the GPX import and map styling process. Then I hit some sort of limit, and performance tanked in QGIS. I can easily load a year's worth of hikes into QGIS and style them beautifully to produce amazing maps. However, if I try to load all my hikes in at once, QGIS is overwhelmed. Perhaps if I doubled my system RAM to 64GB it might work, I'm not sure. I think there might be other tricks to load more data in without killing resources with hundreds of separate GPX layers, but that's a deeper dive for another day.
I'll probably continue to use Viking as the choice software to see all my hiking GPX tracks on one map. For any more advanced map creation or geological feature exploration, QGIS will be my obvious pick.
I still haven't found software to process and edit GPX files for Linux - nothing to my liking anyway. Though Garmin Basecamp and GPX Editor for Windows look dated, they have the best track, route and waypoint editing features of any software I've tried. Viking is great for certain things, but not for editing track points. QGIS doesn't appear to be good for that either, though I still haven't mastered every area of the software (probably something like 10% or less!). If I must, I can still boot into Windows to do a track editing session.
In other map-related news, a few weeks ago I got into GPX processing with Python using AI-generated scripts. Those scripts were written prior to TreeGen and ZenTrim, so perhaps the GPX stuff were my first AI-assisted projects. I'll write some blog articles about those scripts sometime soon.
The cover image for this blog post is a map I created with all my styling preferences. Data was exported as geojson from Overpass Turbo, imported into QGIS, vector contours and LiDAR hill shading were loaded from USGS WMS layers, everything was styled manually, and then I exported the PDF.
If I ever get a 3D printer, probably one of my first projects would be to create 3D map elevation extrusions based on LiDAR data. Maybe that will never happen, but I can dream about the possibilities.
Here's the vector PDF I created for those interested. It shows the area surrounding South Sister and Broken Top in the Central Oregon Cascades. It is one of my favorite areas to explore, though I don't get there as often as I would like. Feel free to print out the PDF and use it for whatever you want. I think maps are beautiful.
P.S. That PDF map above already has more detail in its contours than nearly all maps you will find without deep diving like I have. But in case that's not enough detail for you, I zoomed up on the very top of South Sister to reveal what level of detail is possible. Each of these gets progressively more ridiculous: 10ft Contours, 5ft Contours, 2ft Contours. I had to zoom in even more on the 2ft contours otherwise it's just a purple blob with no space between the lines. At a certain point it just gets stupid, and computers can't even show all the distinctive lines properly. Drawing a contour line every 2 feet of elevation is excessive. I'm more than happy enough with a line every 10 or 25 feet for already insane detail revelation.