TopoStackGuides
Browse guides

How lake depths work

A lake outline tells us where the water is, but not what lies beneath it. TopoStack combines published surveys, lake information, and surrounding terrain to build a lake floor for your map.

Survey data comes first. Where it is missing, we can estimate a lake floor. The studio warns you when depths include predictions, and exports retain that distinction.

Three kinds of information, different jobs

The shape on land

Terrain and shorelines

Mapzen elevation tiles, plus higher-resolution lidar terrain where available, describe the surrounding land. Lake outlines locate the water and islands. An ordinary terrain map often shows a lake as a flat surface, so it cannot reveal its floor by itself.

Evidence underwater

Published surveys

Bathymetry is the underwater equivalent of topography. Survey datasets provide either a grid of lake-floor values or contour lines connecting equal depths.

When a survey is missing

Depth estimates

Maximum and average depth estimates constrain a predicted basin. Nearby slopes help vary its shape. A known maximum depth alone does not tell us the shape of the entire floor.

HydroLAKES supplies lake outlines, identifiers, surface elevations, and estimated average depths. GLOBathy supplies maximum depths, using reported measurements where available and model estimates elsewhere. TopoStack builds its own predicted floor from these inputs; we do not simply display GLOBathy’s depth rasters.

Explore the integrated survey sources

Coverage is regional and can be partial. A source appearing here does not mean every lake in that region is covered.

Find your lake in the surveyed-depth directory, or visit source credits and processing notes for dataset-specific details.

How surveys become a usable lake floor

  1. Prepare the published data. We convert supported source formats and units into map tiles. Some surveys report depth below a reference waterline; others report the floor’s elevation. We convert elevations to depths using the dataset’s reference water level, except for Swiss lakes, which are aligned approximately to the lake surface elevation from HydroLAKES.
  2. Fill between measured contours. Where a source provides depth lines, we interpolate the spaces between them into a continuous surface. Those in-between values are calculated from survey evidence, not individually measured points. We limit interpolation to supported coverage and water boundaries.
  3. Match your map. The browser loads the tiles for your area and aligns them with the terrain grid. Lake outlines keep depths out of surrounding land and islands. Depths are positioned beneath the map’s lake waterline.
  4. Keep track of gaps. Available survey values take precedence. Other providers may fill uncovered cells. Remaining gaps use existing underwater terrain or a modeled basin when enough information exists. Without a depth estimate, a narrow unsurveyed strip along the shore tapers from nearby survey depths; anything else remains at the waterline.

A lake can therefore contain both survey data and estimates. That is mixed coverage. We preserve the distinction rather than describing the whole lake as measured.

Survey dates, detail, and reference water levels vary. For example, NOAA’s Lake Superior grid is a draft, and Swiss floor elevations use an approximate alignment to the lake surface. These datasets do not represent today’s water level. Source credits list the reference level used for each dataset.

How we predict a lake without a survey

We start with the shoreline and an available maximum depth. Distance from shore provides a basic basin: shallow at the edge and deeper inward. Then we look at the dry terrain just outside the lake.

Steep banks suggest faster drop-offs; gentle banks suggest broader shallows. We sample several nearby points, reduce the influence of isolated terrain spikes, and blend the slope influence into a continuous floor. The deepest point can move toward a steep bank instead of always sitting in the geometric center.

The maximum depth limits the basin, and the estimated average depth helps shape its overall fullness. A shallow bowl and a steep-sided basin can have the same maximum depth but very different average depths.

See what changes the shape

Gentle bankSteep bank
Illustrative lake cross-section at 1 times depthThe basin deepens gradually from the left and more quickly from the right. Its deepest point moves toward the steep right bank. The maximum displayed depth is 46 meters. 0 underwater contour levels fit at 50-meter intervals.
Waterline and predicted floor50 m contour intervals

46 m displayed depth · 0 underwater contours. The basin is shallower than one contour interval. Increase the depth scale to see a contour appear.

Illustration only, not a real lake or the prediction algorithm itself. The example starts at 46 m deep and uses a fixed 50 m contour interval. Your map’s interval depends on terrain relief, material thickness, scale, and the sheet limit.

If the terrain offers little useful variation, or the lake reaches the edge of the map, we keep the simpler distance-from-shore profile. Include the whole lake and a margin of surrounding land to give the terrain-based prediction useful context. Without a usable maximum depth, we cannot generate a fully modeled basin; a crop with no visible shoreline may also lack enough information.

A little more about the algorithms

We measure how far each water sample lies from shore, in ground meters: from the lake outline for a complete lake when Smooth contours is on, or with a grid distance transform otherwise. For suitable complete lakes, we estimate slopes along short outward sampling lines, soften extreme values, and propagate their influence inward. A numerical solver joins opposing slopes into a continuous floor. We then scale the result to the depth constraint and fit a curve to the mean-depth estimate where available.

The fallback uses a power curve of normalized distance from shore, measured against the whole lake’s size when that is known. Cropped lakes, and lakes without an average depth, use a straight cone: we skip average-depth fitting because the visible portion is not a fair sample of the entire basin. This is a deterministic geometric model, not a generative-AI reconstruction.

Why your finished layers can look different

The lake floor is carved into the elevation grid before we generate contours. Those contours become holes and recesses in the stacked sheets. The same resulting geometry drives the preview and cut files.

Depth exaggeration
Scales surveyed and predicted floors relative to their waterlines, from 0.25× to 4×. At 4×, a 20 m depth is displayed as 80 m. It also applies to sea floors in coastal maps. This improves visibility; it does not improve the source data.
Maximum depth
Appears for lakes that are modeled at least in part and have a published depth estimate. It changes the depth constraint for the modeled basin, including modeled survey gaps. The published average depth is kept, so a new maximum also changes the basin’s shape. It does not replace measured survey samples or existing underwater terrain, or turn a prediction into a survey.
Material and depth resolution
A shallow lake may fall between contour levels and show no underwater step. Mountains can make each interval large. Automatic coverage adds the required depth sheets at the terrain’s vertical scale without reducing land relief. You can enable Limit depth layers and set an explicit allowance. Material thickness determines the smallest depth step.
Fit lake depth to available layers
Off by default. With an explicit depth-layer limit, it compresses an over-deep lake to fit that allowance, keeping its waterline fixed and scaling depths uniformly; the studio shows the percentage of requested depth applied to each lake. Sea floors are not compressed. With fitting off and an explicit limit enabled, the deepest floor can be flattened, and the warning offers Fit depth to turn fitting on. Use manual depth turns it off again.

If a lake looks flat: confirm that Water depth is on in layered mode, check the warnings, and try raising depth exaggeration. A shallow lake can show no underwater step at 1× and one or more at 4×, depending on the crop and material settings. Flat engraving does not generate the stacked lake-depth recess.

Some lakes stay flat regardless of settings: lakes without a survey or a published maximum depth, water with no shoreline inside the map (zoom out to include one), and lakes too small to cut at your size and minimum feature setting.

How to read the result

Exported project files record each lake’s depth source as one of these values:

Surveyed: the floor uses survey coverage or underwater relief already present in the terrain data. Grids can themselves contain interpolation; this does not mean every displayed point was directly measured.

Modeled or user-adjusted: the floor is predicted, even if its maximum depth comes from a measurement or a value you entered.

Mixed: available survey samples are retained, with gaps filled from terrain or modeled depths where possible. A maximum depth you enter for a partly surveyed lake keeps it mixed.

The studio displays “Some lake depths are estimated rather than surveyed” when any lake in the output is not fully surveyed, and a separate warning for each lake with incomplete survey coverage. Exported project metadata keeps depth provenance, applied depth fitting, and warnings. Source credits accompany the export.

Nearby hills cannot reveal every submerged channel, sediment deposit, dam, or glacially carved hollow. Our terrain-based model has not been calibrated to promise a particular real-world accuracy. Even a surveyed floor is simplified and scaled for fabrication. Use the result as decorative terrain artwork, not a navigation or engineering depth map.

Create a topographic map