I'd like to create polygon shapefiles to communicate elevation information on regional maps. I find these draped over a hill shade layer provide one of the best base maps.

Example 1

Example 2

I can tell some cartographers are creating these by hand by digitizing vector features over raster maps, but others are clearly created automatically.

Currently, I am using the following procedure:

  1. Convert contour lines from a single part to multipart
  2. Polygonize multipart contour lines
  3. Join contour data to new polygonized contours
  4. classify based on elevation
  5. simplify as required

I'm having a couple of problems creating these layers (in QGIS):

  1. Creating polygons from closed contour lines (not line segments) is fine, but if the line has a start and end point, it is not a feature with an area that I can create a polygon from.
  2. Contour interval data is dropped during conversion, so I have to join the original contour lines to the new polygons to include this information.

I think I have ways around all these problems, but I'd like a quick and easy way to do these conversions since it's a procedure I plan to do for many locations.

Does anyone know of a script that may expedite this process, or a guide demonstrating the preferred way to achieve this result?

  • 2
    You are asking for "better" which is a bit subjective. What specific problem (time, reliability, visual appearance of result) are you trying to improve? Also looks like your examples aren't rendering. If you are just looking for quick regular contours, its usual to take a DEM and have the GIS generate the contours as a layer.
    – BradHards
    Commented Sep 29, 2017 at 23:11
  • Have you tried gdaldem in color-relief mode?
    – user30184
    Commented Sep 30, 2017 at 7:43
  • 1
    Are you certain that you need polygons? Why not color the DEM using discreet color maps?
    – underdark
    Commented Sep 30, 2017 at 12:06
  • A DEM classified by elevation achieves a similar effect, but doesn't look nearly as good. The screenshot of example 1 in my original post is zoomed in to a small corner of a map. If this was done with a raster, the map would be an eyesore.
    – ryanoceros
    Commented Oct 1, 2017 at 21:21
  • Have you tried using contours to clip an extent polygon? Commented Mar 28, 2019 at 14:08

1 Answer 1


In order to accomplish this more efficiently, as commenters have proposed:


  1. Acquire raster elevation data of appropriate resolution (image 1)
  2. If necessary, downsample the raster (result image 2)
  3. Upsample (interpolate) that raster (result image 3)
  4. Apply a discrete color ramp in the Style panel-> Add color ramp -> cpt-city (image 4)
  5. Hillshade with the upsampled raster as needed

*The result is aesthetic but this method is not very quantitative, i.e. only for appearance

*****Consider also utilizing and supporting Natural Earth and other open layers (not affiliated).

GDAL form and original raster Reduced resolution raster Resampled\interpolated raster Style panel

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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