Article Title: Imposed Gradient Method does not work with FLOAT DEMs.
Article Name: GENERAL6
OS Platforms: ALL
Last Updated: 06/18/2004


This Tech Tip explains why the Imposed Gradient and Imposed Gradient Plus methods of flat resolution that are offered in the Extract > Flow Grid dialog do not work with DEMs that have the floating-point (FLOAT) data type. A work-around is also suggested.


The Imposed Gradients method for resolving flow direction in flat areas of a DEM was first proposed by Garbrecht and Martz (1997). The Imposed Gradients Plus method is an improved version of the same basic algorithm that was developed by RIVIX to eliminate virtually all parallel flow lines within flats. Both methods seek to create a single-thread flow path that is roughly centered within broad, flat valleys. They do this by creating microtopography within flats, such that elevations increase slightly up-valley and from the center of a valley to the hillslopes that bound the valley. RiverTools creates a new DEM with a floating-point data type for the microtopography and stores it in a file with the compound extension "_imposed_DEM.rtg". In this new DEM, elevations of pixels in the flat areas are raised by very small amounts, while elevations in other areas are maintained at their original values. Elevations in flats are raised by a multiple of a small amount which is 2e-5 meters, or 20 micrometers. (The number of significant digits available for a 4-byte floating point number places a limit on how small this increment can be.) Elevations increase in small steps of this size as one follows the flat area up-valley or toward the bounding hillslopes.

The method just described works well as long as:
(1) the total length or width of the largest flat area in the DEM is less than 50,000 pixels across, and
(2) the vertical resolution in the DEM is one meter, as is the case for DEMs with the fairly common 2-byte integer data type.
If these conditions are not met, then a pixel in a flat area could have it's elevation raised by more than the vertical resolution of one meter, which could cause flow directions for non-flat pixels to be altered. The second condition is violated for DEMs with a floating-point data type. However, DEMs with floating-point vertical resolution are not as likely to have flat areas where flow direction is ambiguous.

DEMs with vertical resolutions of one-tenth or one-hundredth of a meter may be encountered, but higher vertical resolution is unlikely even with modern methods of DEM production like LIDAR. If the vertical resolution is one-tenth, then only the first digit after the decimal place in the floating-point elevation is significant. Similarly, only the first two digits after the decimal are significant if the resolution is one-hundredth. In such cases, one could create a new, integer-valued DEM by multiplying the floating-point elevations by 10 or 100 and then rounding to the nearest integer. (This could be done with the Extract > Derived Grid > Grid Calculator dialog in RiverTools 3.0.) The new DEM would then have a 2-byte integer (INTEGER) data type and the Imposed Gradients algorithm could still be used to resolve flow direction in the flat areas.

If you have any additional questions or comments, please contact Rivix Technical Support for assistance.

Copyright (C) RIVIX, LLC. 1998-2021