GIS
Maps are a key cognitive concept that we use to make sense of the world. Nearly every fantasy and science fiction writer will create a map, and if he doesn’t, fans will.
Without getting too much into details, I will say that my style of worldbuilding is more technical than is probably necessary. While I’ve drawn maps on pencil and paper since I was in middle school, the limitations of this method have always bothered me.
- Humans are generally terrible at drawing fantasy maps. Humans are too deterministic to reliably generate random content. Humans also often don’t understand geology well enough to generate realistic results.
- Paper is a terrible storage medium. It’s generally imprecise, non-scalable, and wears out with use.
Over time, I progressed from pen and paper, to the GIMP, and to Inkscape. The GIMP is very precise and supports layers, but raster graphics are completely non-scalable. Inkscape was game-changing. Vector geometry was precise, scalable, and entirely digital.
Eventually I discovered true GIS software. In high school I had dismissed these tools as being too technical, but eventually realized that software that was developed to write maps is highly suited to writing maps, offering all the advantages of SVG, but directly suited to writing maps.
- Even more scalable than SVG.
- Geometry is recorded in real units. In Inkscape, geometry was recorded in arbitrary units that had to be converted in order to make measurements, and to create new geometry.
- GIS formats are widely usable by a variety of programs. In addition to the wealth of plugins, GRASS functionality, and GDAL extensions that can be used through QGIS, there are other applications. For example, I have been able to use perlshaper, the program used on Wikipedia to generate thumbnail maps of countries. I use these images on my own MediaWiki installations for a more polished look.
In high school, I would use image overlays on Google Earth to see what fictional landmasses looked like. I have certainly made much progress, but every day I discover new features and find new ways to put them to use.
This page documents some of the interesting things I’ve done in this area.