Last updated 05/26/97 - GISHydro97 CD Version
Ferdi Hellweger and David Maidment
AGREE - DEM Surface Reconditioning System
TABLE OF CONTENTS
INTRODUCTION
AGREE is a surface reconditioning system for Digital Elevation Models (DEMs).
The system adjusts the surface elevation of the DEM to be consistent with a
vector coverage. The vector coverage can be a stream or ridge line coverage.
The system is written in ARC/INFO's Arc Macro Language (AML).
A quick overview of the procedure is as follows:
- Drop/raise the elevation of the cells corresponding to the
vector lines a certain amount (smoothdist).
- Buffer the vector lines (buffer).
- Assign elevation to the cells inside the buffer so that there is a straight line
path from the vector line to the original elevation just outside the buffer.
- Drop/raise the elevation of the cells corresponding to the
vector lines a certain amount (sharpdist). This was added in Version 1.1.
Figures 2 and 3 are shaded pictures of an original and a surface reconditioned
DEM, respectively.
Figure 2. Original DEM.
Figure 3. Surface Reconditioned DEM.
This system is an alternative to the 'burning in the streams' process which
simply drops
the elevation of the cells corresponding to the streams (followed by a filling
of the newly created sinks).
The next section describes the methodology of the system (including on-line visualization
with Java). Then a few points for usign the system are discussed. Finally a case
study is presented comparing surface reconditioning to 'burning in the streams'.
WHAT'S NEW IN VERSION 1.1
AGREE Version 1.1 has the added capability to drop/raise the cells of the DEM corresponding
to the vector lines a certain amount. This is effectively a 'burning in the streams' after the original AGREE
proceedure.
The reason for making the revision is as follows. Most of the sinks in the DEM are located on
the streams. This means that filling after the original AGREE proceedure could wipe out the
smoothed channel upstream of the sink. This can be eliminated by droping the stream a large
distance. That way any filling done to remove sinks in the stream remains in the trench of
the stream.
METHODOLOGY
A quick overview of the proceedure was presented in the introduction.
Figure 1 illustrates the
concept interactively (Java capable browser is needed). The figure is a cross section
on a stream. The surface elevation and
stream location can be changed by 'dragging' and the smooth drop/raise, sharp drop/raise and buffer distance can
be specified as well.
Figure 1 (a). Surface Reconditioning Methodology (Screen Capture of Java Applet).
Figure 1 (b). Surface Reconditioning Methodology(
Java source code
).
If Figure 1 (b) does not work:
The files on the CD are conforming to the 8.3 file convention. For that reason we had to rename the
'agree.class' file to 'agree.cla'. To work the file needs to be named 'agree.class'.
To run the applet in Figure 1 you will need to move this HTML file (agree.htm) and the 'agree.cla' file to
a location where you have write access. Then rename the 'agree.cla' file to 'agree.class'.
Proceedure:
- Compute the vector grid (vectgrid). The cells in the
vector grid corresponding to the lines in the vector coverage have data.
All other cells have no data.
vectgrid = linegrid ( %vectcov% )
- Compute the smooth drop/raise grid (smogrid). The cells in the
smooth drop/raise grid corresponding
to the vector lines have an elevation equal to that of the original DEM (oelevgrid)
plus a certain distance (smoothdist). All other cells have no data.
smogrid = int ( setnull ( isnull ( vectgrid ), ( %oelevgrid% + %smoothdist% ) ) )
- Compute the vector distance grids (vectdist and vectallo).
The cells in the vector distance grid (vectdist) store the distance to the
closest vector cell. The cells in vector allocation grid (vectallo)
store the elevation of the closest vector cell.
vectdist = eucdistance( smogrid, #, vectallo, #, # )
- Compute the buffer grid (bufgrid2).
The cells in the buffer grid outside the buffer distance
(buffer) store the original elevation. The cells in the buffer grid
inside the buffer distance have no data.
bufgrid1 = con ( ( vectdist > ( %buffer% - ( %cellsize% / 2 ) ) ), 1, 0)
bufgrid2 = int ( setnull ( bufgrid1 == 0, %oelevgrid% ) )
- Compute the buffer distance grids (bufdist and bufallo).
The cells in the buffer distance grid (bufdist) store the distance to the
closest valued buffer grid cell (bufgrid2). The cells in buffer allocation
grid (bufallo)
store the elevation of the closest valued buffer cell.
bufdist = eucdistance( bufgrid2, #, bufallo, #, # )
- Compute the smooth modified elevation grid (smoelev).
The cells in the smooth modified elevation grid store the results of
the smooth surface reconditioning process. Note that for cells outside the buffer the
the equation below assigns the original elevation.
smoelev = vectallo + ( ( bufallo - vectallo ) / ( bufdist + vectdist ) ) * vectdist
- Compute the sharp drop/raise grid (shagrid). The cells in the
sharp drop/raise grid corresponding
to the vector lines have an elevation equal to that of the smooth modified elevation grid (smoelev)
plus a certain distance (sharpdist). All other cells have no data.
shagrid = int ( setnull ( isnull ( vectgrid ), ( smoelev + %sharpdist% ) ) )
- Compute the modified elevation grid (elevgrid).
The cells in the modified elevation grid store the results of
the surface reconditioning process. Note that for cells outside the buffer the
the equation below assigns the original elevation.
elevgrid = con ( isnull ( vectgrid ), smoelev, shagrid )
USING THE SYSTEM
Getting the System
The system consists of one AML file called agree.aml. The file can be downloaded
from our anonymous ftp site:
Address: ftp.crwr.utexas.edu
Login: anonymous
Password: your e-mail address
Directory: /pub/crwr/gishydro/agree
File: agree.aml
The file can also be downloaded from this site:
Starting the System
The system can be started from GRID with the AML &RUN directive as follows:
Grid: &run agree.aml
AGREE:
AGREE: INPUT REQUIRED
AGREE:
AGREE: Elevation Grid: tkelev
AGREE:
AGREE: Vector Coverage: tkstr
AGREE:
AGREE: Buffer Distance: 1000
AGREE:
AGREE: Note that for the upcoming smooth and sharp drop/raise
AGREE: distance positive is up and negative is down.
AGREE:
AGREE: Smooth Drop/Raise Distance: 10
AGREE:
AGREE: Sharp Drop/Raise Distance: 500
GREE:
AGREE: Starting...
AGREE:
AGREE:
.
.
.
Alternatively the input parameters can be passed to the system as follows:
Grid: &run agree.aml tkelev tkstr 1000 10 500
AGREE:
AGREE: Starting...
AGREE:
AGREE:
.
.
.
Input Data Description
- Elevation Grid. The original elevation grid (DEM) of the area. The DEM
does not have to be 'filled' in advance.
- Vector Coverage. The stream or ridgeline coverage of the area.
- Buffer Distance. The buffer distance controls the spatial extent of the
surface reconditioning. This distance should be set roughly equal to or slightly
larger than the approximate spatial scale of error among the elevation grid and
vector coverage. The spatial scale of the error can be determined by delineating streams or subbasins
from the original DEM and comparing those streams to the lines in the vector coverage. If,
for example, the two lines are found to vary at most by about 400 meters, the buffer
distance might be set to 600 meters.
- Smooth Drop/Raise Distance. The smooth drop/raise distance controls how much the cells corresponding
to the vectors are droped/raised. In order to develop some guidelines for the smooth drop/raise distance a
formula was developed which normalizes the distance based on the average surface
slope inside the buffer and the buffer distance:
(smooth drop/raise distance) = (mean surface slope inside buffer) * (buffer distance) * (forcing factor)
The forcing factor controls the magnitude of the alteration. If it is set to 0.00
the vector cells will remain at the original elevation and the slope inside the
buffer will be fairly close to the original one. A factor of 0.50 will result in a
rough doubling of the slope inside the buffer. A factor of 0.10 was found to
work well for the Tenkiller Reservoir drainage area (see the case study below).
It is important to realize that this calculation should be used only to get a rough
idea of the order of magnitude for the smooth drop/raise distance.
- Sharp Drop/Raise Distance. The sharp drop/raise distance controls how much the cells corresponding
to the vectors are droped/raised after the smooth modified elevation grid is computed. This is essentially
digging a trench/raising a wall. If vector elevation for the subsequent hydrologic analysis is not
essential the sharp drop/raise distance should be large (i.e. 1000).
Post-Processing the Data
The modified elevation grid is saved as 'elevgrid'. Note that the system does not
fill sinks. Before doing hydrologic calculations with the modified elevation grid
sinks should be filled with the grid FILL command.
CASE STUDY: SURFACE RECONDITIONING VS. BURNING IN STREAMS
The Tenkiller Reservoir drainage basin was used as a case study. The filled DEM was used
as input elevation grid. The RF1 stream coverage was used as input vector grid.
Modified elevation grids were created
using the 'burning in the streams' method and the surface reconditioning method.
Streams were then delineated from both the two different modified elevation grids using
the grid FLOWDIRECTION, FLOWACCUMULATION, CON and STREAMLINE functions.
A part of the study area which illustrates the differences among the two methods was chosen
for the subsequent discussion. The paragraphs
and figures below outline the major differences in the two methods.
-
Figure 4 shows the original DEM and RF1 streams in blue.
Note that there is an obvious discrepancy in the two data sets. Also
note the spatial scale of the error which is about four
cells or 400 meters.
Figure 4. Original DEM and RF1 Streams.
-
The 'burning in the streams' method lowers the elevation of the cells corresponding
to the streams (RF1) a certain distance. This will artificially increase the incentive
of the water to enter the stream. It is like digging a trench. Note that it is
inherent in the method that the spatial scale of the correction to the DEM is one cell
size. We will later see that this causes a problem, because the spatial scale of the
error was about four cells.
In this case
the trench was five feet deep. Figure 5 show the burned DEM and the RF1 streams in blue.
Note that the process actually created a couple of islands in the stream bed.
Figure 5. Burned DEM and RF1 Streams.
-
Streams were delineated from the burned DEM. Figure 6 shows the resulting streams in red.
Note the parallel streams created. This is a frequent problem resulting from the
'burning in the streams' method. Also note that this error can not be corrected by
filling sinks, because neither side of the parallel stream is a sink.
Figure 6. Burned DEM and Burned Streams.
-
The surface of the DEM was reconditioned with a buffer distance of 1,000 (ten cells) and
a smooth drop/raise distance of -5 ft (calculated based on a forcing factor of 0.10). The sharp
drop/raise distance was chosen to be zero. Figure 7 shows
the surface reconditioned DEM and the RF1 streams in blue.
Figure 7. Surface Reconditioned DEM and RF1 Streams.
-
Streams were delineated from the (filled) surface reconditioned DEM. Figure 8 shows the
surface reconditioned DEM and the surface reconditioned streams in green. Note that the
parallel stream problem has been eliminated.
Figure 8. Surface Reconditioned DEM and Surface Reconditioned Streams.
-
Figure 9 shows the original DEM with the RF1 streams in blue, the burned streams in red
and the surface reconditioned streams in green.
Figure 9. Original DEM and All Streams.
TXDOT Example Slides
AGREE was used on the TXDOT study region. The 500 m DEM and Rf1 stream coverage
were used as input. The DEM and the RF1 agree in areas of pronounced topography
and disagree in flat areas (especially near the coast). In areas of pronounced
topography the spacial scale of error is less than 500 m.
The streams delineated from the AGREE DEM are therefore similar to those
delineated from the burned DEM. In flat areas the spacial scale of
error is significantly larger. The topography is so flat that it does not
matter if streams are burned in or AGREE is used. The water will take the
closest path to the Rf1 in either case. The streams delineated from the AGREE DEM are
therefore, again, similar to those delineated from the burned DEM.
Below are some slides illustrating an example of where the stream network delineated
from the AGREE DEM is significantly different from that delineated from the burned
DEM. The whole region was checked at this scale. There are only a few cases where
the difference is this significant.
Input Parameters:
Input DEM: 500 m DEM
Input Vector: Rf1
Buffer: 2,000 m
Smooth Drop/Raise Distance: -10 m
Sharp Drop/Raise Distance: -10,000 m
Slides:
These materials may be used for study, research, and education, but
please credit the authors and the Center for Research in Water Resources,
The University of Texas at Austin. All commercial rights reserved. Copyright
1998 Center for Research in Water Resources.