Recreating “Shadow Work” by Mammal Hands in QGIS

Miguel Imperial
4 min readJan 11, 2021

I recreated one of my most listened albums in QGIS and it’s close?

Album cover from www.kudosrecords.co.uk

One of the few reasons I got (and stayed, fortunately) in GIS is that it’s a technical “science” skill that has a big overlap with making art.

Now, “Shadow Work” by Mammal Hands is a great album start to finish. It’s one of my most listened albums, especially when doing GIS work that requires a lot of concentration, note-taking, and repetitive tasks.

Recreating it in QGIS is hard because the Layout Manager isn’t a full-fledged graphics software but it can be done. But all you need are DEM tiles, contour lines, and lots of processing power and patience!

1. Get your elevation data

In QGIS, you can directly download SRTM DEM tiles using the SRTM-Downloader plug-in. So, you just go to the mountainous area of your choice, mine is the Northern Sierra Madre Mountain Range, set the extent to the canvas’ extent in the plug-in, and download the tiles.

You need to create first an account EarthExplorer or Earthdata (I don’t know the difference) to use the plug-in.

2. Merge your tiles

Now that you have all the DEM tiles you need, you should merge it by making a virtual raster.

Go to Raster > Miscellaneous > Build Virtual Raster and put all the select all your tiles as the input layers. De-click Place each input file into a separate band and put 0 as no-date value.

The output is all the tiles merged into a single tile. I’m new to GIS so I don’t know why the output tile’s min and max values are different to the lowest and highest points among the tiles I downloaded. I just changed it in the tile’s Symbology.

3. Extract contour lines

Before you extract contour lines from your tile or virtual raster, you need to make it projected in order for it to have meters as its measuring unit. To extract contour lines, go to Raster > Extraction> Contour. Set interval at 250 (this is in meters).

It depends on your mountain range on how you want your contour lines’ interval to be.

4. “Simplify” your contour lines

“Simplifying” contour lines mean removing some of its vertices which makes it less curly (and inaccurate) and more polygon-al. Press Ctrl + K, search a simplify’ and click the top result.

I forgot how much I simplifed the lines but you can set the Tolerance to 50 meters (I’m not suand left the Simplification method to Distance (Douglas-Peucker) and increase as you want. Also, set your canvas and layout page to #1b1a18, and your lines white and 1.5mm thick.

Here’s the original contour lines and after it was simplified by 50 meters, and in 3D.

You don’t want to make the lines too straight though so keep trying different tolerance values.

Optional - making your lines look hand-drawn

You will notice that the contour lines in the album art look painted because of its irregular width. You can do this in QGIS using Geometry Generator but I wasn’t able to render it (maybe because of my underpowered laptop).

I got this expression from Hamish Campbell’s blog post on Geometry Generator.

Change your contour layer’s Symbol layer type to Geometry Generator, change Geometry type to LineString, and put this expression:

make_line(
array_foreach(
generate_series(
0, length($geometry), 100
),
translate(
line_interpolate_point($geometry, @element),
rand(-10, 10),
rand(-10, 10)
)
)
)

Duplicate your line layer with the exact same style and it should look like this.

I don’t know if line layers with custom geometry actually do not load in QGIS’ 3D Map Viewer

5. Some tips on layouting

  • In 3D Map View, set the Vertical scale to 3
  • Set the page size to 150mm x 150mm
  • Set the horizontal guides to 10mm, 20mm, and 130mm; and vertical guides to 20mm and 130mm
  • Make several layouts to try different views since getting the right one that resembles most the album art takes a lot of time. Once you are good with a certain view, do not re-click this if you are still playing around in 3D Map View. If you re-click, the map on your layout will change to match the 3D Map View’s view. Please take notes and screenshots.

You can see me on LinkedIn and Twitter, and sometimes on OpenStreetMap, and GitHub when I’m productive.

--

--

Miguel Imperial

I’m new to the Geo and GIS community. Taught myself QGIS back in June 2019 and just enjoying the journey to wherever I land.