## NAME

r.surf.contour - Surface generation program from rasterized contours.
(GRASS Raster Program)

## SYNOPSIS

r.surf.contour
r.surf.contour help
r.surf.contour [-f] input=name output=name

## DESCRIPTION

r.surf.contour creates a raster elevation map from a rasterized contour map. Elevation values are determined using procedures similar to a manual methods. To determine the elevation of a point on a contour map, an individual might interpolate its value from those of the two nearest contour lines (uphill and downhill).

r.surf.contour works in a similar way. Initially, a vector map of the contour lines is made with the elevation of each line as its label (see v.digit ). When the program v.to.rast is run on the vector map, continuous "lines" of rasters containing the contour line values will be the input for r.surf.contour. For each cell in the input map, either the cell is a contour line cell (which is given that value), or a flood fill is generated from that spot until the fill comes to two unique values. So the r.surf.contour linearly interpolates between contour lines. The flood fill is not allowed to cross over the rasterized contour lines, thus ensuring that an uphill and downhill contour value will be the two values chosen. r.surf.contour interpolates from the uphill and downhill values by the true distance.

The program will be run non-interactively if the user specifies the program parameter values and desired flag settings on the command line, using the form:

  r.surf.contour [-f] input=name output=name

Alternately, the user can simply type r.surf.contour on the command line, without program arguments. In this case, the user will be prompted for needed inputs and option choices using the standard GRASS user interface described in the manual entry for parser .

### Flags:

-f
  Invoke fast, but memory-intensive program operation.

### Parameters:

input=name
  Name of an existing raster map layer that contains a set of initial category values (i.e., some cells contain known category values (denoting contours) while the rest contain zeros (0)).
output=name
  Name to be assigned to new output raster map layer that represents a smooth (e.g., elevation) surface generated from the known category values in the input raster map layer.

## NOTES

r.surf.contour works well under the following circumstances: 1) the contour lines extend to the the edge of the current region, 2) the program is run at the same resolution as that of the input map, 3) there are no disjointed contour lines, and 4) no spot elevation data BETWEEN contour lines exist. Spot elevations at the tops of hills and the bottoms of depressions, on the other hand, improve the output greatly. Violating these constraints will cause non-intuitive anomalies to appear in the output map. Run r.slope.aspect on r.surf.contour results to locate potential anomalies.

The running of r.surf.contour is very sensitive to the resolution of rasterized vector map. If multiple contour lines go through the same raster, slight anomalies may occur. The speed of r.surf.contour is dependent on how far "apart" the contour lines are from each other (as measured in rasters). Since a flood fill algorithm is used, the program's running time will grow exponentially with the distance between contour lines.

r.surf.contour

## SEE ALSO

r.surf.idw
r.surf.idw2
s.surf.idw
v.digit
v.to.rast
r.slope.aspect
parser

## AUTHOR

Chuck Ehlschlaeger, U.S. Army Construction Engineering Research Laboratory

Last changed: $Date: 2002/01/25 05:45:34 $