How can I recreate the look of old topographic maps that used thin lines to show bodies of water? I looked in the fill options and the closest I could find is shape-burst fill, but it uses a color gradient instead of lines.

This image shows the effect I am trying to create:

enter image description here

Image source Wikipedia Commons

I think the name of this style is called "water-lining", and was used because lithographic plates could not print solid areas of color.

Is there a way to create this style in QGIS?

2 Answers 2


I think this tutorial will be helpful:

Vintage maps with Qgis


  1. You have to create multiple buffers from coastline (with value in table corresponding with distance from the coast)
  2. Merge all buffers into one shapefile. You'll have many lines with distance from coastline value in one shp.
  3. Now You'll be able to manipulate this shapefile in the way You want to. QGIS has many interesting options in STYLE tab
  • 3
    This is a link-only answer that will be rendered useless if the external resource is moved or deleted. Please summarize the core content in your answer text and provide the link as a reference/source. Aug 14, 2016 at 0:43

Instead of creating buffers separately you can do this all dynamically with symbols alone.

You just need to add multiple symbol layers for the fill style. Set each to a "simple line" outline style, so that only the polygon border is drawn (ie, no fill). Then, use the "offset" option to progressively offset the outline out from the coast, so one symbol layer will have an offset of say 2mm, the next has an offset of 4mm, etc. It's a nice touch to make the lines either lighter or more transparent the greater this offset is.

  • Here is an example of this technique; it works well along indented shorelines, but does not handle islands correctly, since the symbol layer lines intersect. Is there a way to fix this? i.stack.imgur.com/X7i9W.png
    – Nathan
    Jul 25, 2018 at 4:37
  • Stumbled across this 3 years later. Now I think you could get around @Nathan 's issue by using the geometry generator with buffer($geometry,...) instead of offset. Note the buffer distance would be negative, and in ground coordinates not mm.
    – Houska
    Mar 6, 2021 at 18:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.