NAME¶
r.surf.contour - Surface generation program from rasterized
contours.
KEYWORDS¶
raster, interpolation
SYNOPSIS¶
r.surf.contour
r.surf.contour help
r.surf.contour [-
fs]
input=
string
output=
string [--
overwrite] [--
verbose]
[--
quiet]
Flags:¶
- -f
-
Unused; retained for compatibility purposes, will be removed in future
- -s
-
Invoke slow, but memory frugal operation (generally not needed, will be
removed in future)
- --overwrite
-
Allow output files to overwrite existing files
- --verbose
-
Verbose module output
- --quiet
-
Quiet module output
Parameters:¶
- input=string
-
Name of existing raster map containing contours
- output=string
-
Output elevation raster map
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 an attribute. 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 algorithm 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.
Parameters:¶
- input=name
-
Name of an existing raster map that contains a set of initial category
values (i.e., some cells contain known elevation values (denoting
contours) while the rest contain NULL values).
- output=name
-
Name to be assigned to new output raster map that represents a smooth (e.g.,
elevation) surface generated from the known category values in the input
raster map layer.
An existing MASK raster map is respected for both reading
input and
writing
output.
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 raster cells). Since a flood fill algorithm is used, the program's running
time will grow exponentially with the distance between contour lines.
EXAMPLE¶
Example to create contour lines from elevation model, then recreating DEM from
these contour lines along with differences analysis (North Carolina sample
data set):
g.region rast=elevation -p
# get minimum elevation value
r.univar elevation
# generate vector contour lines
r.contour input=elevation output=contours_5m step=5 minlevel=50
# rasterize contour lines
v.info -c contours_5m
v.to.rast input=contours_5m output=contours_5m use=attr column=level
# generate DEM from rasterized contour lines
r.surf.contour input=contours_5m output=elevation_from_cont5m
# calculate difference map
r.mapcalc "diff = elevation - elevation_from_cont5m"
r.colors diff color=differences
# analyze differences statistically
r.univar diff
SEE ALSO¶
r.mapcalc,
r.slope.aspect,
r.surf.idw,
r.surf.idw2,
v.digit,
v.surf.idw,
v.surf.rst,
v.to.rast
AUTHOR¶
Chuck Ehlschlaeger, U.S. Army Construction Engineering Research Laboratory
Last changed: $Date: 2012-09-18 22:39:02 +0200 (Tue, 18 Sep 2012) $
Full index
© 2003-2014 GRASS Development Team