Skip to main content
Topographic Mapping Errors

Choosing a TIN Simplification Threshold That Doesn't Erase Flow Channels

Simplification sounds harmless. Reduce the triangle count, keep the shape. But for topographic mapping errors , that one parameter — the threshold — can quietly erase flow channels that took expensive lidar to capture. I've seen it happen: a model looks fine until you run a flow accumulation and the streams just stop halfway down a hillslope. So who's making this call? Usually a remote sensing analyst or a civil engineer prepping terrain for hydrologic modeling. And the deadline might be next week, with the client expecting a seamless DEM that doesn't crash their software. The pressure to simplify is real — but picking a threshold blindly can turn a high-quality lidar survey into a useless surface. Who Has to Decide, and Why the Clock Is Ticking The typical workflow: lidar to TIN to raster You have a bare-earth point cloud. You build a TIN.

Simplification sounds harmless. Reduce the triangle count, keep the shape. But for topographic mapping errors, that one parameter — the threshold — can quietly erase flow channels that took expensive lidar to capture. I've seen it happen: a model looks fine until you run a flow accumulation and the streams just stop halfway down a hillslope.

So who's making this call? Usually a remote sensing analyst or a civil engineer prepping terrain for hydrologic modeling. And the deadline might be next week, with the client expecting a seamless DEM that doesn't crash their software. The pressure to simplify is real — but picking a threshold blindly can turn a high-quality lidar survey into a useless surface.

Who Has to Decide, and Why the Clock Is Ticking

The typical workflow: lidar to TIN to raster

You have a bare-earth point cloud. You build a TIN. You simplify it — usually by selecting a tolerance that says, essentially, “keep only the vertices that matter.” Then you rasterize what’s left. That sequence, executed in about twenty minutes, decides whether your streams survive as connected flow paths or degrade into a chain of disconnected puddles. The odd part is: most analysts spend more time picking a color ramp than choosing the simplification threshold.

I have watched teams run las2tin with the default tolerance — often 0.5 or 1.0 map units — and move on. Why? Because the lidar delivery memo says the point density is “high enough.” That sounds fine until you zoom into a headwater draw where the TIN has collapsed three meanders into one straight edge. The channel is still there in the point cloud; the simplification just erased it.

Why deadlines push analysts toward aggressive simplification

The clock is ticking because topographic mapping for hydrology rarely stands alone. You're feeding the DEM into a watershed model, a floodplain delineation, or a habitat connectivity analysis — and all of them have submission dates. Aggressive simplification shrinks file sizes, speeds up raster processing, and makes your supervisor happy. The catch: each removed vertex brings you closer to the moment when a first-order stream simply vanishes from the output.

That hurts. But you can't tell the project manager, “We need three more days to tune the threshold,” because the data-volume argument looks like a technical preference, not a scientific necessity. The pressure feels invisible — no one demands you erase channels — yet the default settings quietly do exactly that.

Data volume vs. channel fidelity — the hidden conflict

The conflict is not academic. A full-resolution TIN for a 1-km² survey in a low-relief coastal plain might hold 15 million triangles. Cut that by a 90% simplification and you get 1.5 million triangles — fast to render, small to store. But here is the trade-off: those 1.5 million triangles now stretch across the same terrain. The algorithm has to decide what to keep, and its criterion is usually vertical error, not channel connectivity.

“I have seen a 0.3-meter RMSE pass inspection while the DEM showed a drainage network that looked like a string of beads — dots, not lines.”

— Senior GIS analyst, private conversation

Vertical error thresholds treat all terrain equally. They preserve steep breaks in slope but happily flatten the subtle, continuous gradient of a low-relief channel. The result passes QA — the RMSE number is green — but the flow routing fails. Most teams skip this check because no one asked for a channel-preservation metric on the delivery form. That's the hidden conflict: you optimized for the wrong success criterion.

What usually breaks first is not the main river — that stays visible because its banks are sharp. It's the tributary that feeds it, the one with a vertical drop of only 15 centimeters over 50 meters. The TIN sees a nearly flat surface and discards the intermediate vertices. Not maliciously. Just mathematically. And once those vertices are gone, no later resampling brings them back.

So the decision is made under pressure — not by a committee, but by a default slider in a software dialog. You can move that slider. The question is whether you will take the time to find the setting that keeps your channels alive before the deadline forces your hand.

Three Ways to Set the Threshold — and What Each Hides

Maximum vertical error tolerance (e.g., 15 cm)

Most GIS manuals point you here first. You set a ceiling—say, 15 cm—and the algorithm drops any triangle whose vertical deviation stays under that limit. The appeal is obvious: you can point to a contract spec and say your DEM honors it. I have seen teams at water agencies lean hard on this number because their lidar acquisition contract guaranteed 10 cm RMSE, so 15 cm felt like a safe buffer. The catch is deep. That 15 cm tolerance doesn't know whether the error sits on a flat parking lot or the lip of a headwater channel. On a 2% slope it erases nothing. On the inside bend of a swale it shaves off the very feature you need—the thalweg disappears while the slope still sits within tolerance. ArcGIS Pro’s 'maximum vertical error' setting in the TIN simplification tool works exactly this way. You can watch it happen: crank the tolerance from 5 cm to 20 cm and watch first-order streams vanish, silently, one triangle at a time. The odd part is—people trust this number because it sounds rigorous. It's not rigorous. It's a single scalar applied blindly across a surface that varies by orders of magnitude in local relief.

Percent reduction in triangles (e.g., 80%)

This one feels like a performance win. You start with 2 million triangles, target 80% reduction, end up with 400,000. Faster rendering, smaller files, happy server. Most real-time terrain viewers, including CesiumJS’s quantized-mesh encoder, default to a percent-reduction slider. The trap: percent reduction is blissfully ignorant of where the geometry lives. An 80% reduction that works on a desert alluvial fan will gut a coastal creek network. The algorithm chooses the cheapest triangles to remove—the flattest, the most coplanar—which means channel edges, which are already sparse in the raw TIN, get culled first. We fixed this once by running the reduction at 50% and then applying a curvature filter afterward. That doubled the processing time but kept the channels. The plain truth is that percent reduction is a file-size target masquerading as a quality threshold. It doesn't ask what the terrain needs. It asks what the disk wants.

'Eighty percent fewer triangles sounds like a bargain until you realize you just paid for it with every stream junction in the basin.'

— drainage engineer, post-audit on a flood model that missed a 1.2 km channel

Not every geographical checklist earns its ink.

Curvature-based adaptive simplification

This is the least common approach and, in my experience, the one that saves the most channels. Instead of a blanket tolerance or a raw percentage, the algorithm evaluates local curvature—how much a surface bends per unit distance. High curvature zones (channel banks, ridge crests, scour holes) keep more triangles. Flat benches and uniform slopes shed them. WhiteboxTools has a 'curvature-based TIN decimation' parameter that works with a curvature threshold and a minimum triangle count per curvature bin. The numbers matter: set the curvature threshold too high—say, above 0.1 m−1—and you lose subtle channel initiation points. Too low, and you keep noise from the lidar point cloud. A colleague once spent a week iterating between 0.03 and 0.08 before the output matched field-surveyed channel heads. The payoff: the final TIN held 65% fewer triangles than the raw mesh but retained all 43 channel reaches that the client had ground-truthed. That said, curvature simplification is not plug-and-play. It demands an auxiliary raster of slope or curvature values computed beforehand, and the threshold is site-specific—what works on Appalachian shale will fail on coastal dunes. The trade-off is clear: you trade setup time for geometric fidelity. Most teams skip this because it takes an extra afternoon to tune. Then they wonder why their flow accumulation raster looks like a skeleton.

What Matters When You Compare Threshold Strategies

Flow channel density after simplification

Open a simplified TIN next to the original lidar and count the blue-line channels still visible. That number is your first honest metric. I have watched teams compare thresholds solely by RMSE against ground control points—and then watch their drainage network collapse by forty percent. The catch: channel density drops nonlinearly. A threshold that removes 5% of vertices may erase 30% of first-order streams, especially in low-relief agricultural flats where a single vertex is the difference between a rill and a hill. Most teams skip this: they compare RMS error under 0.2 m and call it good. Wrong order. You need to count continuous flow paths, not just elevation residuals. What usually breaks first is the narrow headwater channel that feeds your entire lower basin—gone because one node was averaged into a slope face.

The tricky bit is that channel density alone misleads. A dense channel network in the original data might be noise—roadside ditches, plow furrows, meter-scale berms. Over-simplifying those is fine. The real problem is the sparse, critical channel: the single incised gulley carrying runoff from a 200-hectare catchment. That one channel must survive. So I ask teams to flag three known channels in their raw data—one steep, one flat, one midslope—and verify each survives after simplification. If the flat-zone channel breaks, your 0.15 m threshold is wrong for your terrain. Period.

Local slope preservation in steep vs. flat zones

Here is the asymmetry that kills drainage models: a uniform threshold flattens steep slopes less than it flattens gentle ones. On a 30-degree hillside, removing vertices rarely changes the overall grade by more than a degree. On a 2-degree alluvial fan, deleting three consecutive vertices can invert the local aspect—sending flow the opposite way. That sounds like a microscope error. It's not. A single inverted slope cell below a 50-hectare ridge will route runoff into the wrong watershed outlet. I have debugged a catchment delineation where the entire subbasin shifted 400 m east because of one mis-simplified fan edge. The fix? Measure slope residuals per class: steep (≥15°), moderate (5–15°), flat (

Share this article:

Comments (0)

No comments yet. Be the first to comment!