Tuesday, January 15, 2013

Slope Shading Revisited

The CalTopo slope shading layer, originally done as an experiment of sorts, is overdue for a makeover. From a usability perspective, there are not enough colors - a wide variety of terrain gets lumped together into a few categories.  From a technical perspective, tiles are rendered on the fly using Mapnik and prebuilt polygons.  Not only is coverage limited to certain areas, but rendering speed is slow and I can only display select zoom levels.

The slope shading was originally built with backcountry skiing in mind, but it's also seen a lot of interest for summertime route planning, and I'd like to find a single color scheme that can accomodate both users.  After a lot of fiddling, I have two prototypes that I'm seeking comment on.

Both use a similar color scheme, but one has a smooth gradient (v1) while the other has fixed steps (v2).

Version 1, Avalanche Gulch
Version 2, Avalanche Gulch
In version 1, the colors are (slope angle in degrees): 15 = green, 27 = yellow, 40 = red, 60 = blue.  All intermediate slopes are an average of the two nearest fixed colors.  In version 2, slopes less than 20 degrees are not shaded.  20-26 = green, 27-29 = yellow, 30-31 = light orange, 32-34 = dark orange, 35-45 = red, 46-50 = purple, 50+ = blue.  Here's another take:

Version 1, Shastarama
Version 2, Shastarama
Version 1 makes it easier to spot subtle changes in terrain, and makes for a nicer looking picture.  However, it's hard to tell a slope's exact angle - and for avalanche safety, there can potentially be big differences that result from small changes in slope angle.  For planning safe travel routes in avy terrain, I think v2 is 10 times more useful than v1.

Right now I'm leaning towards producing both of these versions as map layers, so the question isn't really which one you prefer.  Rather, it's how can I improve them?  Should v2 have more colors, especially in the 0-27 or 35-45 ranges?  Should I pick different colors?  Highlight different slope ranges?


  1. HI Matt

    Can you Please..Please include the slope angle shading for South Africa..?

    We don't have so much snow her but there are 2 applications that we need the data for. 1. Mountain biking. 2. Agriculture.
    For the second it is very applicable to deter main appropriate terrain with different orchards, but at lower gradients.

    It would be great if you could help.


    1. At this point, I'm not comfortable enough with the accuracy of either the SRTM or ASTER datasets (both worldwide, and the only ones I'm aware of with coverage for that area) build out a worldwide slope angle shading map based on them. They're fine for large-scale analysis making but I don't really trust them for small-scale decision making.

  2. Any potential to just add s color bar to the maps?


  3. Hi Matt.
    I love your app!
    If at all possible, could you use more contrasting colors in the slope shading?
    I find it very difficult to discern between the yellow orange red scheme.
    Colors with much greater contrast would be awesome!!
    Thank you,

  4. Hello.
    Amy chance to add for Japan Topo (geographical survey institute)
    they are quote reliable

  5. Can we have the ability to change the scale ranges on our own? For example, in some states there are small hills that don't even show up in either range. I'd like the ability to reduce the range to 0-15 degrees(as an example) instead of only the standard 2 ranges.