Tutorials
ArcGIS
Hydrologically Correct Surface
💡

Tutorial Video available! 🥳
Watch the video: Tutorial Video (opens in a new tab)

Guide: Building a Hydrologically Correct Elevation Surface in ArcGIS Desktop

This guide walks you through generating an elevation surface for a 7-square-kilometer area near Lake Tahoe, optimized for water flow modeling. Using ArcGIS Desktop 10.7 and the Spatial Analyst extension, you’ll employ the Topo To Raster tool to ensure hydrological accuracy.

Time Required: About 50 minutes
Requirements:

  • ArcGIS Desktop 10.7 (Basic, Standard, or Advanced)
  • Spatial Analyst extension

Step 1: Get the Data

  1. Download the dataset if you haven’t already.
  2. Place it in a directory like C:\Training\GISData for convenience.

Step 2: Load the Map File

  1. Launch ArcMap.
  2. Navigate to C:\Training\GISData and open TerrainData.mxd.
    • The map includes feature layers from USGS Digital Line Graph (DLG) data for interpolation, plus reference hillshade and elevation layers from a 30-meter USGS DEM.

Step 3: Set Up Analysis Settings

  1. From the Geoprocessing menu, select Environments.
  2. In the settings dialog, configure:
    • Output Coordinates:
      • Set the coordinate system to Same As Display.
    • Processing Extent:
      • Set the extent to match the TerrainBoundary layer.
    • Raster Analysis:
      • Choose As Specified Below for cell size and enter 10.
  3. Click OK to save.

Step 4: Build the Elevation Surface

  1. Open the Topo To Raster (Spatial Analyst) tool via the search bar.
  2. Add input features and configure them:
    • TerrainSpots:
      • Type: PointElevation
      • Field: Height_Meters (elevation samples for peaks not in contours).
    • TerrainContours:
      • Type: Contour
      • Field: Height_Meters (key for ridges and valleys; watch for z-value errors).
    • TerrainStreams:
      • Type: Stream (no elevation; ensures downhill flow).
    • TerrainLakes:
      • Type: Lake (no elevation; levels cells to the lowest boundary value).
    • TerrainBoundary:
      • Type: Boundary (no elevation; clips output to exclude edge errors).
  3. Set output parameters:
    • Output Raster: HeightSurface
    • Cell Size: 10 (default)
    • Extent: Default coordinates
    • Margin in Cells: 20 (extends interpolation beyond the boundary for accuracy).
  4. Leave these as defaults:
    • Smallest/Largest Z Values: Blank (uses 20% of input range).
    • Drainage Enforcement: ENFORCE (removes all sinks).
    • Primary Input Type: CONTOUR (prioritizes contour lines).
    • Max Iterations: 20 (controls multi-resolution refinement).
    • Roughness Penalty: Blank (zero for contours).
    • Discretisation Error Factor: 1 (standard smoothing).
    • Vertical Standard Error: 0 (assumes no random errors).
  5. Adjust tolerances:
    • Tolerance 1: 6 (half the 12-meter contour interval for sink depth).
    • Tolerance 2: 100 (prevents removing high barriers like dams).
  6. Add optional outputs:
    • Stream Polylines: C:\Training\GISData\Output\Streams.shp (shows generated streams/ridges).
    • Remaining Sinks: C:\Training\GISData\Output\Sinks.shp (unremoved sinks for error checking).
    • Diagnostic File: C:\Training\GISData\Output\Diagnostics.txt (logs process details).
  7. Click OK to run the tool.
  8. In the table of contents, drag HeightSurface to the top.

Insight:

  • Contours drive the surface shape, streams enforce drainage, and lakes flatten areas—all clipped by the boundary.

Step 5: Visualize the Surface

  1. Open the Hillshade (Spatial Analyst) tool.
  2. Set:
    • Input Raster: HeightSurface
    • Output Raster: SurfaceShade
  3. Click OK.
  4. Turn off all layers except SurfaceShade and the reference TerrainHillshade.
  5. Adjust SurfaceShade properties:
    • Set Stretch Type to Standard Deviations, n=2 (match TerrainHillshade).
  6. Right-click SurfaceShade and select Zoom To Raster Resolution.
  7. Activate the Effects toolbar:
    • Go to Customize > Toolbars > Effects.
    • Set the layer to SurfaceShade.
    • Use the Swipe Layer tool to compare SurfaceShade (10-meter) with TerrainHillshade (30-meter).
    • Tip: Hold Ctrl and click to swipe the whole map at once.

Insight:

  • The 10-meter surface shows sharper streams, lakes, and ridges compared to the 30-meter DEM.

Step 6: Remove Remaining Sinks

  1. Zoom to the map’s full extent and turn off all layers.
  2. Move Sinks to the top and enable HeightSurface and Sinks.
  3. Open the Fill tool.
  4. Set:
    • Input Raster: HeightSurface
    • Output Raster: HeightSurfaceFilled
  5. Click OK.
  6. Save the map with a new name in C:\Training\GISData\Output.
  7. Close ArcMap.

Insight:

  • The Fill tool eliminates leftover sinks if Tolerance 1 was too low, ensuring a fully hydrological surface.

Key Takeaways

  • Why use Topo To Raster?
    • It integrates points, contours, streams, lakes, and boundaries for a drainage-ready surface.
  • What’s a sink?
    • A low spot where water pools; real sinks are intentional, others are errors to fix.
  • How does resolution affect detail?
    • The 10-meter output captures finer terrain features than the 30-meter reference.
Share this page: