Mapping Enga Province

I just finished a fun project; making a couple of maps of Papua New Guinea’s for a friend’s academic book chapter. I’ve never really collaborated with someone this way for a print publication and it was a good experience. Also this may sound goofy but the audacity of mapping PNG was part of the appeal; it’s a famously unmapped place.

The main map is a regional overview of Enga Province, in the PNG highlands. Also a detail map of the Porgera Valley area; the mine and various villages. Enga is not huge; 4500 square miles, a bit smaller than Connecticut, and with 432,000 people. It’s also very remote and mountainous and very thick with vegetation. It’s in that part of PNG that’s classic “uncontacted tribes” territory, although that was all 50+ years ago and a lot of folks there now have cell phones and Facebook. (David Attenborough’s A Blank on the Map is fun for the flavor, although it’s a different part of PNG.)

Online maps are pretty limited, but there are some beautiful paper maps going back to ground surveys in the 40s to 60s. To give you an idea of how limited digital maps are, here’s Google, Bing, and OSM. (They do get a bit better if you zoom in to the population centers like Wabag and Porgera.)

So my job was to produce an overview map of Enga to help readers orient to places named in the text. Also a detailed schematic view of Porgera. High res copies are available here.

Data: OSM and SRTM

The first challenge was getting data. The key things I wanted to draw were roads, rivers, and settlement locations. Secondarily I wanted to convey the terrain somehow, and for the Porgera area also map specific features related to the mine.

I went through a lot of data sources; Natural Earth, PNG government data, academic datasets, random shapefiles that fell off the back of a truck. Most of it proved not very good: incomplete, or old, or limited. Some exceptions though; the PNG government has a great dataset for the names of rivers, for instance.

I ended up mostly using OpenStreetMap data for rivers and roads. Several people have done a lot of excellent work mapping very detailed specifics of Enga Province; the street map of Paiam is a thing of beauty. The rivers were a bit spotty, I think there may have been some data loss at some point in OSM’s history. But the data was a comprehensive, uniform collection and I could fill in a few missing rivers with data from the Humanitarian Data Exchange. (I’m very curious where their data came from!)

I got the OSM data itself from the French OSM extracts. Excellent simple data source, grouped by country. I imported the PBF directly into QGIS, no conversion. Working with its unusual schema is a bit awkward but once you get used to it it’s not so bad.

For settlements I couldn’t find a dataset anywhere that worked great. I ended up getting a list of placenames and rough locations from the author I was working for, then painstakingly placing the dots precisely in the center of each of what looked like the “right cluster of houses” on aerial imagery. I also went back to some of those old 60s maps for ideas of where things might be, lots of fun. A similar process was used for the mine maps, although it helps that other people had done similar maps so I was never trying to do unique original data work.

That leaves terrain. This part’s easy! SRTM v3 for the basic elevation data, colored by 500m contours. Then overlaid on top of that a greyscale hillshade (courtesy of Mike) blended with hard light. I like the result, although it’s a bit noisy for print. Looks great in color on a screen though. (Extra detail: a 2600m contour line from OpenDEM to highlight the limit of cultivation of staple food crops.)


The visual design is the part I’m not entirely happy about; my skills are more with data wrangling than aesthetics. I mostly went with very basic choices where I could; plain Arial font, plain standard map symbology, etc. I’d say the result is “adequate” but not beautiful.

For inspiration I drew on this Wikipedia map of Hawai’i. This 2008 SVG map is a thing of beauty, frequently cited as good design for Wikipedia. For map symbols I borrowed ideas from Wikipedia’s map template SVG although I ended up diverging quite a bit. Drawing roads with casings sure turned out complicated.

One thing I learned more about; text halos or buffers. It’s common to make labels stand out against busy backgrounds by rendering the text in black with a small white outline. Or so I thought. Actually it works better if the outline is light grey with 50% or more opacity; the white/black is too contrasty. QGIS lets you create buffers for labels directly. If you need to do them yourself in HTML/CSS, something like -webkit-text-stroke: 1.5mm rgba(255,255,255,0.5) works.

Software: QGIS

I did the whole map from start to finish in QGIS, mostly version 3.14. QGIS has come a long way and I’m very impressed with it, particularly for an open source tool. The UI is mostly accessible and if you can’t figure out how to do something (like, say, smooth a polygon) you can find an answer online. It has some baffling UI choices, like moving a vertex of a polygon isn’t animated. Also some bugs and weird limitations. I never could figure out how to edit the colors in my legend, custom symbols just wouldn’t take. But QGIS has a lot of complexity and power in a fairly usable package.

My favorite thing with QGIS is how great it is for experimental mapping. Early on I just loaded every single data layer I could find. Six different sources for rivers, four for roads. A bunch of scanned paper TIFFs I’d georectified. 30+ layers for me to tinker with, overlay, all to figure out which data sources I’d really use in the end. Lots of fun.

The part that sucks in QGIS is the Print Composer. The main map editor is lovely and taking screenshots from its display works great. But the moment you want to export a precisely defined PDF or a large raster image, you need to use the Print Composer. The composer is also where you add things like titles, scale bars, legends, etc.

Most of the composer works OK but it’s clumsy. The real problem is it’s got a whole different renderer! And this renderer does very different things for labels. I must have misunderstood something fundamental about print scaling, because a label would be a tiny little thing on my edit map and then this huge blob of word on the print map. And because labels try very hard not to be on top of each other, there’s was an enormous amount of hand tweaking and verification and testing to get everything correct. (Also a couple of map layers of fake curved lines just so I could put text on them). Seriously I was pulling my hair out with labels. I gather this is always the case in mapmaking but the inconsistent rendering algorithms really makes it hard.

OSM and Wikipedia?

So now I’m done; map submitted to the author. For now. I’d guess I spend 50-80 hours on this project, although someone focussed and better at QGIS could have done it in under 20. I spent a lot of time learning things I didn’t need to, PNG is fascinating!

We’ve talked about having a goal of making maps for all the PNG provinces for Wikipedia. I’d like to do that and I’m pretty well set up for it. The main thing stopping me is Wikipedia culture. The last thing I want is to do a bunch of hard work and have some gatekeeper come in and invalidate all my work without even an explanation.

I went looking for Wikipedia mapping standards and didn’t get real far. This conventions page has useful guidance but I can’t tell if it’s authoritative; a lot of it hasn’t been updated meaningfully since 2012 or so. When you dig into the tutorials, etc for mapmakers a lot of it ends in 2008 with excellent guides written in French for Inkscape. Back then QGIS wasn’t really realistic, now it is. That or even a custom automated software render pipeline, no hand editing at all.

What I really need is a Wikipedia map mentor, someone to work with me to get that first submission right so my work is accepted. Either that or maybe I’ll just put the map I have now on the page and see what response it gets.