Editing Maps with GIMP

I'm a complete beginner so far as Gimp is concerned, but while there seem to be dozens or hundreds of pages on the Net on editing photos, there are very few on how to create or edit maps with Gimp or any of its expensive imitations. (Or if there are, I haven't found them yet). Hence this page, which is basically just a list of a few of the features I've found useful. As always in Gimp, there seem to be several ways to accomplish any given aim, so I expect there are better ways to do it than I've listed here.

I've produced several small maps for use on a website, usually by scanning a small piece of a published large-scale map, but I often want to show a little more detail or change them in some way.

Starting point

Here's the starting point, a scan of a 1:50,000 survey map. (Aside: I'm fortunate in that Land Information NZ are most public-spirited about such use of their excellent maps). Since the map was produced, a number of small changes have occurred, and I wanted to use it at a larger scale and show some additional details.

Sourced from LINZ map 260-Q11. Crown Copyright Reserved.

Removing unwanted details

First, there were some details I wanted to remove - the 'Cable Rd' text, which will be in the way, and the upper end of the 'road', which has now disappeared or degenerated into a foot track. For this, I used the brush or the Clone tool.

Using the brush is simple, just use the colour picker to select a suitable base colour and paint with it. To get a bit more texture, use the Clone tool.

The Clone tool (oversimplified)

To copy one area of the map over another, select the Clone tool. This will use the current brush to 'paint' a copy of the selected area.
Select Tools -> Paint Tools -> Clone Tool, select Dialogues -> Tool Options and select Alignment - Non-aligned in the dialogue box.
Then, choose your brush (I chose the 11x11 circle, but obviously, choose whatever suits best).
Move the mouse pointer to your chosen source area and Ctrl-click (I chose a point in the area of green towards the upper left of the map).
Then you can 'paint' with the brush. As you move the brush, so the source point shown by the cross-hairs moves with it. If you start another brush stroke, the source point starts back at your originally selected point (this is because we set 'Non-aligned' mode).

Here's the result (you may notice that the text has been replaced by bits of pine-tree symbol - a result of using the Clone tool. I used a small brush to paint out the upper end of the road - not very skilfully):


Adding details

Now it's time to add some details. This is where Layers come in handy (see the brief note on layers). You can experiment, erase mistakes, or scrub the whole layer, all without damaging the original base map.

Hill Shading

Nowhere are layers more useful than hill shading. It so happens that the area on this map has a series of low sand ridges roughly parallel to the road and stream.

First, I created a new layer (Layers -> New Layer) and called it 'Hillshade'. Then, I selected the air-brush, colour black, set the brush size to 7x7 fuzzy circle, and painted in the shady side of the ridges (I was fairly clumsy as you can see. Zooming to 200% or 300% helps, though).


I did the same with another layer for the 'sunlit' side of the ridges, only in white.

Then - and this is where laters are really great - I just adjusted the opacity of my 'Hillshade' and 'Hillight' layers (Dialogues -> Layers) to get the right degree of shading (it turned out to be be 22% and 41% in my case):



Tracks are usually shown on maps by dashed lines. These are easy in Gimp 2.2 - just use the Path tool (a.k.a. 'Bezier Curves' in earlier Gimps). See the note on dashed lines for details.

In fact, though it may seem much more intuitive to make a dashed line by 'drawing' the dashes with the mouse, a little experimentation shows that it's actually easier to draw a smooth line by clicking on a series of points as the Path tool demands.

Following this procedure (on yet another layer of course):
Use Tools -> Paths and mark the path by clicking on a series of 'anchor points' along it (as many points as you like). You can back up with Edit -> Undo Add Anchor or Ctrl-Z.
Select the colour with the colour selector in the toolbox.
Then use Edit -> Stroke Path. This brings up the Stroke dialogue. Select 'Stroke Line' with a suitable line width, click on Line Style and edit the dash pattern to suit. Make sure the foreground colour is set to black. Then click on 'Stroke' to complete the process.


In this instance I used a line width of 1.5 pixels, and I found that setting the opacity of the layer to 71% matched the shading of the existing tracks better than 100% black did.


Obviously, drawing a road as a single solid line is easy with almost any software. Large-scale maps, though, usually show roads as a double black line, with some colour (or white - white is a colour) between.

This is quite easy to do in Gimp, using the paths tool.

Create a new layer, draw the path with the path tool, select foreground colour as black with the colour picker, and stroke the path with line width 7, line style Solid.

Then change foreground colour to white, and stroke again with line width 3 for the centre of the road. Obviously line widths should be adjusted to suit your map.

I used this to complete the white track leading in from the top of the map. I found setting transparency of this layer to 62% gave the best match with the rest of the map.

A little pixel-level editing tidied up the road junctions.


Just for practice, I decided to try 'dashing' the new road to match the others, using the same orange colour. However, if I use the same layer, the colour fades when I adjust the transparency to make the road edges match. So, we need a new layer with the same path.

Layer -> New Layer (and call it 'Road2')
Select the Background layer and use the colour picker to get the dash colour (orange)
Dialogues -> Paths and click on the previously used path to make it current
In the Layers dialogue, select the 'Road2' layer
Edit -> Stroke path, width 3 pixels, and select a dash pattern and stroke it.


Well, that's it. Using these Gimp tools, anyone should be able to produce a serviceable map. Anyone with any artistic ability should be able to do better than I have.

Valid HTML 4.01 Transitional

Made with Bluefish HTML editor.

Any comments or questions, email: cr at orcon dot net dot nz

Powered byBest viewed with
GNU / Linux
or Opera