Topogrid is a command in the grid module of ESRI's ARC/INFO software. It converts spot data and contour lines to a lattice of elevations. Topogrid is based on a software package called ANUDEM from the Australian National University. It is a very powerful and complex package, using an iterative finite difference interpolation. See the ESRI documentation for details.
Rather than giving topogrid a difficult task, let's give it an absolutely simple problem to solve. I define 12 blocks of regularly-spaced contour lines, representing 6 uniform slopes. These blocks are 600m square, contour intervals are 30 meters, and contours are densified to 5 meters. I will be working exclusively with a lattice spacing of 30 meters. I chose contour spacing of 13m, 19m, 25m, 35m, 50m, and 70m to be out of phase with the 30-meter lattice. The slopes are 19°, 26°, 35°, 45°, 52°, and 62°. These are steeper than most users encounter, but they are in the range that are routinely logged in the Northwest. The important thing is the relationship of lattice spacing to contour spacing, and these same spatial relationships can be seen in flatter landscapes if the contour interval is decreased or the lattice spacing increased.
Then I ask [version 7.1.1] topogrid to create a lattice of elevations.
Of course, the spaces between blocks are garbage. The areas near the edges of the blocks show a surprising degree of action-at-a-distance from neighboring blocks, but that is not my concern today. Let's define subregions of the blocks for further analysis.
The first image is the elevations clipped to small windows. The second image is calculated slope minus the true slope.
All this was done with default values of tolerance = 2.5m, 30 iterations, and drainage enforcement turned on. Let's try to be thorough by trying 42 different combinations of these parameters:
I compiled statistics on maximum - minimum slope, mean slope - true slope, and standard deviation of slope. I was tempted to study variation in aspect, but refrained. For each of the 6 slopes, here are the rankings by standard deviation: Combining all the slopes, the rankings are:
tolerance | iterations | drainage enforcement | Max - mean | mean - true | standard deviation | ||
19° 70m | 12.5 | 20 | off | 7.71 | .59 | 2.45 | |
25 | 20 | off | 7.71 | .59 | 2.45 | ||
2.5 | 20 | off | 7.71 | .59 | 2.45 | ||
12.5 | 40 | off | 7.81 | .59 | 2.48 | ||
12.5 | 50 | off | 7.81 | .59 | 2.48 | ||
12.5 | 60 | off | 7.81 | .59 | 2.48 | ||
25 | 40 | off | 7.81 | .59 | 2.48 | ||
25 | 50 | off | 7.81 | .59 | 2.48 | ||
26° 50m | 12.5 | 20 | off | 5.79 | -.15 | 2.02 | |
25 | 20 | off | 5.79 | -.15 | 2.02 | ||
2.5 | 20 | off | 5.79 | -.15 | 2.02 | ||
12.5 | 40 | off | 6.21 | -.14 | 2.14 | ||
12.5 | 50 | off | 6.20 | -.14 | 2.14 | ||
25 | 40 | off | 6.21 | -.14 | 2.14 | ||
25 | 50 | off | 6.20 | -.14 | 2.14 | ||
2.5 | 40 | off | 6.21 | -.14 | 2.14 | ||
35° 35m | 12.5 | 50 | off | 12.62 | .52 | 3.25 | |
25 | 50 | off | 12.62 | .52 | 3.25 | ||
2.5 | 50 | off | 12.62 | .52 | 3.25 | ||
12.5 | 40 | off | 12.64 | .52 | 3.26 | ||
12.5 | 60 | off | 12.63 | .52 | 3.26 | ||
25 | 40 | off | 12.64 | .52 | 3.26 | ||
25 | 60 | off | 12.63 | .52 | 3.26 | ||
2.5 | 40 | off | 12.64 | .52 | 3.26 | ||
45° 25m | 12.5 | 20 | off | 4.38 | -.04 | 1.42 | |
25 | 20 | off | 4.38 | -.04 | 1.42 | ||
2.5 | 20 | off | 4.38 | -.04 | 1.42 | ||
12.5 | 50 | off | 4.54 | .01 | 1.44 | ||
25 | 50 | off | 4.54 | .01 | 1.44 | ||
2.5 | 50 | off | 4.54 | .01 | 1.44 | ||
12.5 | 40 | off | 4.55 | 0 | 1.45 | ||
12.5 | 60 | off | 4.55 | 0.2 | 1.45 | ||
52° 19m | 12.5 | 40 | off | 4.08 | .02 | .99 | |
12.5 | 50 | off | 4.11 | .04 | .99 | ||
25 | 40 | off | 4.08 | .02 | .99 | ||
25 | 50 | off | 4.11 | .04 | .99 | ||
2.5 | 40 | off | 4.08 | .02 | .99 | ||
2.5 | 50 | off | 4.11 | .04 | .99 | ||
12.5 | 60 | off | 4.14 | .05 | 1.00 | ||
25 | 60 | off | 4.14 | .05 | 1.00 | ||
62° 13m | 12.5 | 30 | on | 1.13 | .23 | .29 | |
25 | 30 | on | 1.12 | .22 | .29 | ||
2.5 | 30 | on | 1.13 | .24 | .29 | ||
12.5 | 40 | on | 1.29 | .21 | .30 | ||
25 | 40 | on | 1.25 | .20 | .30 | ||
2.5 | 40 | on | 1.30 | .22 | .30 | ||
12.5 | 30 | off | 1.24 | .28 | .31 | ||
25 | 30 | off | 1.24 | .28 | .31 |
Summarizing all the contours together, the results are:
tolerance | iterations | drainage enforcement | Max - mean | standard deviation | |
12.5 | 40 | off | 6.12 | 1.77 | |
2.5 | 40 | off | 6.12 | 1.77 | |
2.5 | 40 | off | 6.12 | 1.77 | |
12.5 | 50 | off | 6.14 | 1.77 | |
2.5 | 50 | off | 6.14 | 1.77 | |
2.5 | 50 | off | 6.14 | 1.77 | |
12.5 | 20 | off | 6.08 | 1.78 | |
2.5 | 20 | off | 6.08 | 1.78 | |
2.5 | 20 | off | 6.08 | 1.78 | |
12.5 | 60 | off | 6.17 | 1.79 | |
2.5 | 60 | off | 6.17 | 1.79 | |
2.5 | 60 | off | 6.17 | 1.79 | |
12.5 | 30 | off | 6.16 | 1.79 | |
2.5 | 30 | off | 6.16 | 1.79 | |
2.5 | 30 | off | 6.16 | 1.79 | |
2.5 | 30 | on | 6.32 | 1.85 | |
2.5 | 40 | on | 6.35 | 1.85 | |
2.5 | 50 | on | 6.39 | 1.86 | |
2.5 | 40 | on | 6.39 | 1.87 | |
12.5 | 40 | on | 6.41 | 1.87 | |
2.5 | 50 | on | 6.43 | 1.87 | |
2.5 | 60 | on | 6.43 | 1.87 | |
12.5 | 30 | on | 6.40 | 1.87 | |
2.5 | 60 | on | 6.45 | 1.88 | |
12.5 | 60 | on | 6.45 | 1.88 | |
2.5 | 20 | on | 6.44 | 1.88 | |
2.5 | 20 | on | 6.46 | 1.88 | |
2.5 | 30 | on | 6.45 | 1.89 | |
12.5 | 50 | on | 6.49 | 1.89 | |
12.5 | 20 | on | 6.48 | 1.89 | |
12.5 | 10 | off | 7.84 | 2.28 | |
12.5 | 10 | on | 7.84 | 2.28 | |
2.5 | 10 | off | 7.84 | 2.28 | |
2.5 | 10 | off | 7.84 | 2.28 | |
2.5 | 10 | on | 7.84 | 2.28 | |
2.5 | 10 | on | 7.85 | 2.28 | |
12.5 | 5 | off | 9.85 | 2.90 | |
12.5 | 5 | on | 9.85 | 2.90 | |
2.5 | 5 | off | 9.85 | 2.90 | |
2.5 | 5 | on | 9.85 | 2.90 | |
2.5 | 5 | off | 9.85 | 2.90 | |
2.5 | 5 | on | 9.85 | 2.90 |
ESRI acknowledges this as a feature.
Main Mountain Drainage Research Group Page