This task calculates topographic features on an input DEM. The result is a classification image of different terrain types or morphometric features such as peak, ridge, pass, plane, channel, or pit.

Example


; Start the application
e = ENVI()
 
; Open an input file
File = Filepath('bhdemsub.img', SUBDIR=['classic','data'], $
  ROOT_DIR=e.Root_Dir)
Raster = e.OpenRaster(File)
 
; Get the task from the catalog of ENVITasks
Task = ENVITask('topographicFeatures')
 
; Define inputs
Task.INPUT_RASTER = Raster
 
; Run the task
Task.Execute
 
; Get the data collection
dataColl = e.Data
 
; Add the output to the data collection
dataColl.Add, Task.OUTPUT_RASTER
 
; Display the result
View = e.GetView()
Layer = View.CreateLayer(Task.OUTPUT_RASTER)

Syntax


Result = ENVITask('TopographicFeatures')

Input properties (Set, Get): CURVATURE_TOLERANCE, FEATURES, INPUT_RASTER, KERNEL_SIZE, OUTPUT_RASTER_URI, PIXEL_SIZE, SLOPE_TOLERANCE

Output properties (Get only): OUTPUT_RASTER

Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.

Methods


This task inherits the following methods from ENVITask:

AddParameter

Execute

Parameter

ParameterNames

RemoveParameter

Properties


This task inherits the following properties from ENVITask:

COMMUTE_ON_DOWNSAMPLE

COMMUTE_ON_SUBSET

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

TAGS

This task also contains the following properties:

CURVATURE_TOLERANCE (optional)

Specify the curvature tolerance. The default value is 0.1. 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.

FEATURES (optional)

Specify a string array with the features to classify. By default, all features will be included.

  • Peak: A surface with a convex cross-section and a convex longitudinal curvature
  • Ridge: A sloping surface that is convex in the cross-sectional direction
  • Pass: A surface with one convex curvature and one concave curvature
  • Plane: A surface of constant elevation
  • Channel: A sloping surface that is concave in the cross-sectional direction
  • Pit: A surface with a concave curvature

INPUT_RASTER (required)

Specify a raster on which to calculate topographic features.

KERNEL_SIZE (optional)

Specify the size of the kernel used for processing. The default value is 3.

OUTPUT_RASTER

This is a reference to the output raster of filetype ENVI.

OUTPUT_RASTER_URI (optional)

Specify a string with the fully qualified filename and path of the associated OUTPUT_RASTER. If you do not specify this property, or set it to an exclamation symbol (!), a temporary file will be created.

PIXEL_SIZE (optional)

Specify a double-precision array with the X and Y pixel size of the input raster, in meters.

SLOPE_TOLERANCE (optional)

Specify the slope tolerance. The default value is 1.0.

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.

Version History


ENVI 5.5

Introduced

API Version


4.2

See Also


ENVITask, TopographicModeling Task, GenerateContourLines Task, TopographicShadingUsingHLS Task,TopographicShadingUsingHSV Task, TopographicShadingUsingRGB Task