Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any way to extract a river boundary (bank) from LiDAR data and its products (DEM, intensity image and slope) automatically? Digitizing is very time consuming.

share|improve this question
Automatic breakline extraction is the holy grail of LiDAR production. Academia has produced several approaches (look here and here for starters). Similar questions have been asked on GIS SE as well (here and here). – Barbarossa Sep 4 '14 at 17:55
What was the laser wavelength used in the survey? Some will be absorbed by water (e.g. near-infrared 1064 nm) and it will not be possible to precisely estimate the DEM and slope under the water (you can retrieve the river's margin, though).A laser wavelength with ~ 500 nm will penetrate water (see this presentation, third slide). – Andre Silva Sep 4 '14 at 17:59
yes, some are absorbed by water. I'm looking for an approach to automatically extract the river boundaries. there are many research works, however none of them provide a real solution for industrial projects ( with pre-defined accuracy,..) – Leila Sep 4 '14 at 18:16
@Barbarossa I love the existential spin you put on this. :p – elrobis Sep 4 '14 at 18:38
I'm with @Barbarossa on this one, I've been digitizing waterbodies off airphoto/intensity/LiDAR DEM for about 6 weeks now. The trouble is that the edge of the bank is implied and not actually existent, in many cases it's under trees as (unsurprisingly) trees grow high on the banks and obscure the airphoto. We are using a red laser which doesn't penetrate water, this shows fairly well in the intensity image, in some cases water is no return but directly under the flight path high intensity is produced; intensity with DEM shows where water is and the airphoto confirms that it's not tree shadow. – Michael Miles-Stimson Sep 4 '14 at 21:26

I've been in LiDAR processing for a couple of years now. The best approach we've found is to classify the suspect water points to something other than ground. Should be easy just classifying based on intensity (near nadir points will have high intensity, whereas turbid water will be close to 0) and laser shots are usually absorbed near shore anyway. However, there is still some interpretation and manual modification required

After water points are classified to non-ground, export a ground-only DEM representing intensity. The data voids in the DEM will have 0 values, representing probable water bodies. With some tinkering (i'm not giving away all of my secrets) in model builder, you can convert the raster to polygon, apply some smoothing, and voila...semi-automatic extracted breaklines.

Be warned that this still takes time and a careful eye to do it properly. Nothing is as accurate as the human eye. Good luck. Results may vary.

share|improve this answer
@Barbarossa: thanks, I worked with data curvature and got some interesting results. about your method, how accurate the results are? – Leila Sep 4 '14 at 21:54
As I stated, they are only as accurate as where you make them. As far as accuracy from point cloud to the final generated breakline polygons/polylines, it will depend on what resolution (cell size) your point cloud will support. I typically generate 1 meter DEMs, but only because the point cloud supports it (i.e. nominal point spacing). So with a 1m DEM, my breaklines are typically w/in 1 meter of where the actual shoreline is (if I say that's where it is). My customers have never complained about the accuracy. – Barbarossa Sep 4 '14 at 21:59
I tried a 'fill sinks' then difference combined with either no return cells or higher than focalmean (works for edges only) and got 80% ish... the sinks/difference trims out tree shadow mostly, then minimum difference/area criteria applied; this process would work better in an area not as flat as the area I used as a test, problem being that there wasn't much difference between ground and water to fill and by the time I included them spurious values were introduced. Does that sound like the start a good process @Barbarossa? In the end nothing is as good as the human eye for 100%! – Michael Miles-Stimson Sep 5 '14 at 3:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.