By Kari Dickenson on Tuesday, 24 May 2016
Category: Surfer

Creating Terrain Slope Maps from Digital Elevation Models in Surfer

Creating a map of slopes is common practice when looking at slope stability. Some examples of when you may want to create slope maps would be to identify areas with high slope to indicate avalanche or landslide danger. Another example may be to present slope maps of the seabed so that a structure with set tolerances for inclination could be located. Slope and gradient maps can be easily generated using Surfer.

Slope information can be easily computed from grid, raster or digital elevation models (DEMs) using options under the Grid | Calculus menu command in Surfer. The slope values can be expressed either in degrees or as a decimal (rise/run) which can then be computed as a percentage. For example, using Grid | Calculus you could select:

  1. Terrain Modeling | Terrain Slope. This option generates a grid file of the slopes expressed in degrees, from 0° (horizontal) to 90° (vertical). This is the most commonly used option to create a grid file of terrain slopes.
  2. Differential and Integral Operators | Gradient Operator. This option generates a grid file of the slope or gradient expressed as a decimal ratio of rise over run, from zero (horizontal) to approaching infinity at vertical. To calculate slopes as a percentage (e.g. 15%) instead of a decimal, use Grid | Math to multiply the Gradient Operator results by 100.

Using a digital elevation model (or any grid file), create slope maps either by calculating terrain slope in degrees or the gradient of the slope in percent.

Let’s walk through an example. Let’s say we have an area that is prone to avalanches and we want to indicate on a map the areas where the slope is greater than 30°. To do this, follow these steps:

  1. First, let’s create a map of the area
    1. Click Map | New | 3D Surface Map, select LovelandPass_DryGulch.grd and click Open.
    2. Let’s drape an aerial image over it. Click on the map to select it and click Map | Add | Base Layer, select LovelandPass.tif and click Open
    3. Click Yes to adjust the limits.
    4. You can change the properties of the 3D surface layer to see the draped image a little better. 
      1. Select the 3D Surface layer in the Object Manager.
      2. In the Property Manager, click the General tab.
      3. Click the

         button to the right of Upper

      4. In the Colormap dialog, set the Preset to GrayScale (at the top of the list)
      5. Click the color node on the left side of the colormap and change the Color to White (so the colormap goes from white to white). 
      6. Click OK.
      7. Click the Lighting tab and set the Vertical (degrees) light position to 80. This brightens the map up a bit.
    5. Select Map in the Object Manager and in the Property Manager click the Scale tab.
    6. In the Z Scale section, set the Map units per in. to 720.8333333, eliminating the vertical exaggeration.

    Create a 3D surface map and drape a georeferenced image on top of it to visualize the DEM.

  2. Now let’s calculate the grid of slope data, in degrees.
    1. Click Grid | Calculus, select LovelandPass_DryGulch.grd and click Open.
    2. Select Terrain Modeling | Terrain Slope.
    3. Click the Change Filename button to the right of Output Grid File
    4. Enter the name LovelandPass_DryGulch_Slope.grd and click Save.
    5. Click OK and the grid is created. 

    Select the Terrain Modeling | Terrain Slope option in the Grid Calculus dialog.

  3. Add contours of the slope data to the existing map. Click on the map to select it.
  4. Click Map | Add | Contour Map, select LovelandPass_DryGulch_Slope.grd and click Open. Contours of the slope are added to the map.

    Add slope contours to the 3D surface map

  5. Now we can highlight the areas above 30 degrees, which indicate the zones of avalanche danger. 
    1. Select the Contours layer in the Object Manager.
    2. In the Property Manager, click the Levels tab. 
    3. Set the Minimum contour level to 30.
    4. Change the contour Interval to cover the entire range of values (e.g. 40). Now I can see on the map where the slope is greater than 30°.
    5. Check the Fill contours check box to fill the contours.
    6. Change the Level method to Advanced and click the Edit Levels button.
    7. In the Levels for Map dialog:
      1. Double click on the level button under the Fill column and set the fill to a solid red foreground color with 25% opacity. Click OK.
      2. Double click on the level button under the Line column and set the line properties to the desired color, such as a red 0.010 inch line. Click OK.
      3. Under the Label column, double click Yes to change it to No.
    8. Click OK in the Levels for Map dialog to apply the changes.

Set the contour levels to visualize the areas that have a slope above a 30° angle.

Another way to visualize this data is to create a base map of a USGS DRG file showing the elevation contours, and overlaying that map with a contour layer of the slope data.

Additionally visualize the slope results on a 2D map of elevation contours. Print this map to take with you in the field.

Please note that when calculating slopes from DEM or grid files, Surfer uses the X, Y and Z values proportionally when calculating the slope values. Therefore, the X, Y and Z values must be in the same units, and the units must be linear (e.g. feet or meters) for the slope calculation to be correct.  If the X and Y units in the grid file are in lat/lon, then the slope calculated for each node will be almost vertical because the X and Y extents (the lat/lon ranges) are so small compared to the difference in Z values. In this case, convert the coordinate system of your data, DEM or grid file from lat/lon to another system with linear units prior to calculating the slope. For instructions on how convert the XY coordinates for raw data, DEMs, please see our newsletter article: Converting the Coordinate System of Data, Image, Vector, and Grid Files in Surfer .

Slope maps can be powerful tools when evaluating sites for safety, field engineering, projecting road layouts or drainage patterns, and many other applications. Surfer can also calculate other terrain modeling information, such as aspect and curvature to make sure you get the information you need to make informed decisions.

Other Resources:

  1. Click Help | Contents. On the Contents page, navigate to Surfer 13 | Gridding | Grid Operations | Grid Calculus.
  2. Blog article: Calculate Terrain Slope Using Surfer 10's Mapping Software
  3. Knowledge Base articles:
    1. How can I calculate slope as a percentage?
    2. How can I find the maximum slope within an area around a point?
    3. How can I find the slope of a terrain at a specific XY point?
    4. When I use the Data Metrics Terrain Slope gridding option, the resulting grid is a horizontal plane. What happened?
    5. How do I create a vector map with magnitude and direction arrows at the data points?
    6. How can I export the direction and magnitude data from a 1-grid vector map?
    7. When I create a grid of Terrain Slope, why is the reported slope in the resulting grid all 89 or 90°?
    8. When I create a grid of Terrain Slope, why is the reported slope in the resulting grid all 89 or 90 degrees?
Leave Comments