Register | Login
Attackpoint - performance and training tools for orienteering athletes

Discussion: Lidar Accuracy under Dense Vegetation

in: Orienteering; General

Sep 5, 2020 1:27 AM # 
For a number of years I've been seriously impressed with the possibilities of point-cloud processing both for auto map production and for base material. And have experimented with data available round here.

For some areas I know well I'm encountering anomalies with the ground model. And if that's not right then such things as estimating the runnability based on near-ground returns, cliff detection and slope gradient are useless. I've found numerous false highs (both hilltops and spurs) which seem to be associated with false low values on the vegetation plot. I'm thinking that an explanation is that insufficient pulses are reaching the ground in some places, leading to locally high values for ground elevation. The average point density is said to be 6pts/sq.m. but that is over a huge area including farmland so that could mean anything.

My areas are covered in forest native to New Zealand. This is quite dense compared to Australia which I also know but I couldnt comment on the rest of the world. It is evergreen - there is no leaf-off season. I'm interested to know whether anyone else has found similar results. If my theory is right we might have to talk about specific vegetation characteristics. If my theory is wrong are there any other suggestions?
Sep 5, 2020 1:53 AM # 
LiDAR has four quality levels: QL0 thru QL3. Read the metadata. Not all Lidar is orienteering quality.
Sep 5, 2020 2:10 AM # 
@haywoodkb, what do those levels mean relative to what we want for orienteering? What level is the minimum level one would want for an oejenteerinh mapping project?
Sep 5, 2020 2:38 AM # 
“Quality Level” is determined by point density and vertical accuracy. For orienteering, QL3 should work well; QL2 is even better. In some areas, they are mainly concerned with the definition of flood zones. Lower quality Lidar with elevation-only data works fine for this purpose. Some LiDAR is processed to define returns from water, buildings, or vegetation. Other data is only the elevation returns with no information on buildings or water features.
Sep 5, 2020 3:20 AM # 
Excuse my ignorance Kevin and other experts, but I can't find the quality level for my data. There are reports giving point density and processing details but nothing on a scale of 0-3. Can you help:

Perhaps you could amplify your note that QL3 should work well and QL2 is better. What QL levels are there which would be unsuitable?
Sep 5, 2020 7:03 AM # 
I have never heard of QL levels but if you process the lidar in OCAD the first thing it does it analyze the data and that shows point density and if there is classification into water, buildings etc.

What the points per square m figure actually means is an interesting question. Is that the number of lidar pulses per sq m irrespective of whether any of them reach the ground (when there is vegetation) and is it an average figure, in which case you would expect the actual figure to be higher in open land compared to forested land.

When in the field it seems obvious to me that the quality of lidar contours is reduced under a dense canopy. You just have to be aware of that when fieldworking. It is still going to be a whole lot better than what we got before lidar.

For vegetation, I have played around with OCADs function to generate vegetation density maps but so far have not found that very useful as a base map for fieldworking. I prefer to use the vegetation height maps in OCAD. In forested areas that basically just shows you where there any gaps in the canopy - those will be accurate no matter if the ground height is accurate. That works really well in sparse Australian eucalypt forest - you can often pick out individual trees. Of course if the canopy is uniform, which sounds like it might be the case for NZ native forest, that will not be much help.
Sep 5, 2020 9:27 AM # 
Thanks Rob. In some places the data description tells me 5.82 pts/sq.m but in trying to follow Kevin's advice I found this:

"Project Scope: Acquisition and delivery of raw LiDAR point cloud data over the entire Wellington region extending to 100m offshore. Ground model of +/-0.1 to 0.15m in z (1 sigma) with a resolution of 1.3 points per square metre."

I wonder if (a) the project massively over-delivered on point density:-)) or (b) there was a big difference between pulses sent out and pulses returning from the ground, which you hinted at. But whether it was 6 or 1 these are averages which could hide various blank or erroneous patches. Could the canopy be so dense in particular places that the "last return" comes not from the ground but somewhere in the canopy. I'm hoping there are other mappers who have worked with dense vegetation. How many pulses reach the ground in redwood forest, for example?
Sep 5, 2020 10:28 AM # 
usually only small part of last returns are from ground. Unless it is a open field.
Sep 5, 2020 10:42 AM # 
I thought a last return was by definition the ground.???
Sep 5, 2020 11:03 AM # 
Quality levels are a US/American Construct that seems to be spreading. It details post spacing, accuracy levels both horizontally and vertically among other specifications. USGS has a large manual outlining the specifications.

For areas with dense vegetation, there has been a lot of advances in the field primarily in the collection devices themselves allowing a higher density of points thus allowing more points to get to the ground allowing more accurate measurements to be taken. Unfortunately, it is still expensive and difficult to get collection done using one of these newer systems.
Sep 5, 2020 1:14 PM # 
Ground returns are (almost) always last returns, but last returns are not always ground. Some of them are canopy, tree trunks, boulders, buildings or whatever. Ground points are classified by comparing them to neighbouring points and guessing which are ground. More points there is easier the guessing becomes.

Imagine a building with roof windows. We can see from above a surface thought each window, how can we know for sure when it is floor and when just a table?
Sep 5, 2020 9:20 PM # 
Thanks Jagge, I wondered how returns were classified into "building", "water" etc. This would seem to demolish my theory that dense vegetation which doesnt let any pulses through might be treated as "ground" - leading to my false high points associated with false low vegetation. Unless the thick vegetation covers enough area that it can fool the guessing algorithm?
Sep 5, 2020 10:26 PM # 
Classifying points into ground, buildings, water, etc. happens after the plane lands. Some Lidar is left unclassified, or with only a limited set of classes. One set I received was only ground returns with all other data stripped out. Every Lidar contract is different.
I apologize for my earlier USA-centric comments on Lidar quality.
And Thanks to Jagge for this beautiful technology.
Sep 6, 2020 11:56 AM # 
Thanks Jagge, that makes sense. Not really on topic but I am sort of curious. A lidar unit pumps out 500 000+ pulses per second right? And each pulse can result in multiple returns? So does each pulse have a unique signature?

I have had cases when fieldworking where I have found small highpoints or spurs that are actually thickets - usually pretty obvious when you get there
Sep 6, 2020 1:13 PM # 
I am not aware of all the details, bit I don't think there is other difference between pulses than direction and timing, I guess detector seeing returns identifies returns just by direction it is coming and time when it comes?

Classifying algorithms usually accept only spikes of a pre defined size. Depending on how that was configured it may classify some bushes or boulders as ground - or do the opposite, sharp knolls not as ground. Footprints of a bush, a boulder and a sharp knoll can be pretty similar and it is often impossible to classify them always just right. More there is points easier it is to remove these spikes, because they become sharp. Under dense canopy there is not that much points (only fraction of pulses penetrate though) so these spikes are not that sharp making it harder for the algorithm to figure is it ground (knoll/spur) or vegetation.

I have thought would it be useful to classify point cloud in to ways and making two base maps. And when mapping swap between those depending on which got thing more right. But I guess not it is not worth it really.

I often just plot out ground points on a map image. It reveals places with no ground points at all or only very few. So I know base map should not be trusted there.
Sep 6, 2020 7:42 PM # 
Each pulse can contain multiple returns. Each pulse is assigned a direction from a known point. Each of the returns is assigned it's specific distance and 'intensity' (think strength). Different materials reflect the pulse differently thus altering the intensity. Unfortunately, the intensity is unique to each system so you'd have to calibrate it to get more information from it. That is possible but difficult and expensive.

There are a lot of assumptions that go into classifying the point cloud so there are and will always be problems with certain points - that is until we're smart enough to remove some of the assumptions.
Sep 6, 2020 8:28 PM # 
I've also read about Geiger-mode LiDAR which compiles multiple returns from a single ground point. The Lidar transmits both forward and rearward looking, and collects returns from both directions. The ground may not visible from one direction due to dense vegetation or other obstruction,
but may be visible from a slightly different direction as the aircraft flies along a path.
Sep 8, 2020 8:44 PM # 
From my experience with one RIEGL LiDAR sensor, (and probably any type of LiDAR sensor?), Pulse Repetition Rate is an important parameter. With 50kHz you are able to fly higher but then you get less point density and scanning with 300 kHz you get more point density but you must fly at lower heights. A 300 kHz point cloud will show more first returns (more points at the tree crown rathen than in the middle or ground sections) while 50 kHz should get more 2nd or 3rd returns and therefore more % of middle and ground points. Anyway,different flight configurations should be tested if we are paying for a Lidar base map, sometimes 2 pts/m2 is enough but in a rainforest or a forest with different vegetation densities or a lot of low bush, you need to find the right flight planning parameters (pulse rate, speed+height, etc) in order to get points at the middle and low threshold.

I am sure it is all about Physics, and how much energy has the pulse at different pulse rates, although I am not 100% sure about this.

This paper ( is very interesting and introduces a new (or old) discussion between single and multi-photon LiDAR. In Spain we have had succesful results , 12 pts/m2, using single-photon LiDAR in Navarra region. Raw point cloud was very noisy but post processing algorithms were used in order to remove these noise points.
Sep 9, 2020 12:22 AM # 
Thanks to all contributors, I have a better understanding of what my data may mean.

The possibilities of new technology are fascinating. But we have a tiny orienteering population and are totally reliant on published data - acquired for who-knows-what purpose. In many cases some years ago, my area was surveyed in 2013. I'm thinking it might have used early equipment and less sophisticated processing than are available today.

Just as with aerial photography in days gone by, we have to make the most of what there is. With photogrammetry from too-high photos we became used to drawing the contours up the reentrants and adding high and low points. Now we have the opposite problem - smoothing out and disregarding the phantom wiggles, highs and lows. A feel for what is leading to these errors will help a lot. Any any other experience with elevation data under dense vegetation would be most welcome.
Sep 16, 2020 3:41 AM # 
My normal procedure with lidar with few ground returns is something like this:

Grid at 2m, 3m, 6m, even 10m until your output contours are smooth and don't have the characteristic "no data" indication (bad or very noisy contours). Sometimes this is enough. Realize that compared to a 1m grid, the 2m grid runs about 4 times faster, the 3m grid 9 times faster, the 6m grid 36 times faster, and the 10m grid 100 times faster. The really old North Carolina lidar with 1 ground point in every 4x4m actually achieves pretty usable contours, but it does miss small details and ditches.

Now I'm listing this second, but it's really my first. Try Karttapullautin. I don't know how it works for making contours, but I assume it mixes large grids and small grids (as I described above) to achieve smooth contours with the small details retained.

Recategorize the ground points with LASTools. I did some work with Big Basin Redwoods State Park, which had redwood patches with extremely low numbers of ground returns. I tried all the -wilderness -town -metro settings in lasground (read the readme file). Interestingly, the 25m or 50m metro setting worked best. One problem with ground categorization in urban/industrial areas is buildings with extreme footprints that mess up the ground categorization. The 25m or 50m setting was best able to find ground points---I guess because it's similar to that industrial case where there are no ground points anywhere under a really large building.

Run lasinfo and look for the post spacing of the ground points only. The basic command is lasinfo -i input_lidar_file.laz -otxt , but you might need a switch to show post spacing. You can possibly compare the basic txt output of the number of ground points before and after reclassifying, but it's probably confounded by many factors.

I find OL-Laser, as old as it is, is very convenient for quickly gridding and creating contours. But you have to create a new setting for the different grid dimensions under "Maintenance". Contact me for details. It's kinda involved. And I'm a little embarrassed that I use OL-Laser because it doesn't do bounding boxes, meaning it has digital artifacts at the tile boundaries, but it's really convenient, and really fast for playing with data, especially if you use small files as input. I suggest a max of 60MB input files in laz format. Experiment.

If you can point me to a problem tile or file, I'd like to give it a try.

Note that the free version of lasground.exe deletes the intensity information and some other things. Sometimes the intensity rasters (esp gnd and all last return intensity rasters) are better than any available aerial photos, so be sure to retain the original lidar files so you don't lose this valuable information.
Sep 16, 2020 6:48 AM # 
OL Laser, good point, it is excellent tool and has plenty of not much used potential. For example cliffs dxf from OL Laser has cliff height in meters for each vertex point written in. So it is possible to tweak, filter, symbolize by that (if you know how to). It also has somekind of batch mode to process larger areas seamlessly. But apparently even that mode has some memory limits. But I think there is workaraund with appropriate buffers (make buffered laz files with lastools) and post cropping.

Please login to add a message.