Use Topographic Features to produce a classification image that classifies each pixel into one of the following morphometric features: peak, ridge, pass, plane, channel, or pit.

You can write a script to extract topographic features using the TopographicFeatures task.

See the following sections:


This section provides an overview of the morphometric features that you can extract from digital elevation data. See the References section below for more detailed descriptions of these features.

For every point in a digital elevation model (DEM), you can extract a number of features that characterize the terrain, relative to neighboring points. A moving window, or kernel, is used for this purpose. The kernel is used to fit a quadratic surface to the DEM and to extract the appropriate features. Varying the size of the kernel allows measurements at various scales.

First, the slope and curvature of the surface are calculated. These determine the morphometric features that can be extracted. Curvature is the rate of the change of slope; thus, it is the first derivative of slope and the second derivative of the local surface. Positive curvature is called convexity, while negative curvature is called concavity.

Pits, peaks, and passes are point-based features:

  • A pixel is classified as a pit when it has a concave curvature in all directions, thus it is lower in elevation than its surrounding neighbors.
  • A pixel is classified as a peak when it has a convex curvature in all directions, thus it is higher in elevation than its surrounding neighbors.
  • A pixel is classified as a pass when it has one convex curvature and one concave curvature. It lies within a local convexity that is orthogonal to a local concavity.

Channels and ridges are line-based features:

  • A pixel is classified as a channel when it lies on a sloping surface that is concave in the orthogonal direction.
  • A pixel is classified as a ridge when it lies on a sloping surface that is convex in the orthogonal direction.

Finally, a pixel is classified as a plane if it lies on a surface of constant elevation, where the surface is neither convex nor concave.

Run the Topographic Features Tool

Note: If your DEM is noisy, striped, or stepped, you should smooth it before using this tool.

  1. From the Toolbox, select Terrain > Topographic Features. The Topographic Features dialog appears.
  2. Select a digital elevation image for input. Perform optional spatial subsetting and masking, then click OK.
  3. Select the Features to create. The choices are as follows:
    • Peak
    • Ridge
    • Pass
    • Plane
    • Channel
    • Pit
  4. Enter the Kernel Size (in pixels) used for processing. The default value is 3 pixels. Use various kernel sizes to extract multi-scale topographic information.
  5. Enter the Slope Tolerance in degrees. The default value is 1 degree.
  6. Enter the Curvature Tolerance value. The default value is 0.1. The Curvature Tolerance and Slope Tolerance determine when a pixel is classified as a peak, pit, or pass versus a channel or ridge. For a pixel to be classified as a peak, pit, or pass, the slope value must be less than the slope tolerance and the cross-sectional curvature must be greater than the curvature tolerance. Increasing the slope tolerance and decreasing the curvature tolerance increases the number of peaks, pits, and passes in the classified output.
  7. Optional:  Enter the X and Y Pixel Size values for the output image, in meters.

  8. Enter a filename and location for the Output Raster.
  9. Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the Image window. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and reenable the Preview option.
  10. Enable the Display result check box to display the output image in the Image window when processing is complete.
  11. To run the process on a local or remote ENVI Server, click the down arrow and select Run Task in the Background or Run Task on remote ENVI Server name. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See the ENVI Servers topic for more information.

  12. Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the Image window. The result is a classification image, where each class is a different morphometric feature.

Tip: You can change the class colors by selecting Classification > Post Classification > Assign Colors from the Toolbox.


This example uses a National Elevation Dataset (NED) digital elevation model (DEM), available from the U.S. Geological Survey. The resolution is 1/3-arc seconds with a pixel size of 0.00009259 degrees.

When the Topographic Features tool runs with default values, the resulting classification image looks like this. (A Legend annotation was added to the upper-left corner.)

You can right-click on the classification image in the Layer Manager and select Quick Stats to view the statistics for each class. Match the numbers in the DN column to the numbers listed in the Classes layer in the Layer Manager. In this example, 70% of the input DEM is classified as Channel, 29% is classified as Ridge, 0.85% is classified as Pass, and 0.001% is classified as Plane.


Evans, I. "General Geomorphometry, Derivatives of Altitude, and Descriptive Statistics." In Spatial Analysis in Geomorphology. Methuen, 1972.

Evans, I. "An Integrated System of Terrain Analysis and Slope Mapping." Zeitschrift für Geomorphologie N.F., Supplement-Band 36 (1980): 274-295.

Wood, J. "Scale-Based Characterizations of Digital Elevation Models." In Innovations in GIS 3. Taylor & Francis, 1996.

Wood, J. The Geomorphological Characterization of Digital Elevation Models, Ph.D. Thesis, University of Leicester, Department of Geography, Leicester, UK, 1996.

See Also

Topographic Shading, Topographic Modeling, Replace Bad Values