background image

Algorithms

Arttu Soininen

Software developer

Terrasolid Ltd

background image

Low points

For finding bad points clearly below the ground

Usually run before ground classification

Simple routine, can find only clearest cases

Not iterative, you should run it at least 2-3 times

background image

Low points – Single points

Classifies a point if all other points Within 

search radius are at least More than above 

the point

Within

More than

background image

Low points – Groups of points

Physical features may cause multiple points 

below the ground at the same location

Groups of points option finds groups of 

points which are all lower than any of the 

neighbouring points

background image

Low points – Multiple runs

Multiple runs needed for locations with bad 

points below the ground at multiple 

elevation levels

First run finds only the lowest and regards 

everything else as valid points

background image

Below surface

For finding bad points below the ground

Has to be run after ground classification

Can find points a little (15cm) below ground

background image

Below surface

For each point, finds 6-12 closest neighbouring 

points

Fits a plane equation to the neighbouring points

Checks the elevation distance to the plane

Regards point as valid ground point unless it is 

at least Tolerance below plane

background image

Below surface

Computes standard deviation of the distances 

between the neighbouring points and the fitted 

plane

If point being checked is more than Limit * 

standard deviation below the plane, it will be 

classified as a point below the ground

background image

Smoothing

Laser data is dense but has a level of noise

Produces a rough, noisy looking surface

Smoothing modifies elevations of laser points 

if that produces a smooth surface locally

Smoothing keeps the original elevation of a 

laser point if the location does not become 

smooth

This helps to keep breakline changes intact

Iterative process

During each iteration round, a point moves up or 

down to match a plane equation fitted to 

neighbours

background image

Smoothing

original laser points

background image

Smoothing

For each point, finds 6-12 closest neighbouring 

points

Fits a plane equation to the neighbouring points

Closest neighbours have bigger weight in fitting

Point gets an elevation correction towards the 

plane equation

background image

Smoothing

During one iteration round:

Fits a plane equation to neighbours of every 

point

Computes an elevation correction for every point

Applies the correction but limits the change from 

the original elevation to be within maximum 

movement setting  

background image

Smoothing

As a result of one iteration round:

Points match neighbours a little better

Iteration continues as long as there is movement

background image

Smoothing

As a result of iteration:

Iteration stops when there is no movement

Some points do not match neighbours even 

though they have been moved by the maximum 

change

Routine restores the original elevation of those 

points and their neighbours

background image

Smoothing

Second iteration:

'Rough' points restored to original elevation stay 

fixed

Second iteration is performed in order to make 

'smooth' points match their 'rough' neighbours


Document Outline