I'd like to use the function GroundFilter on my dataset. However, the manual says that the default values of the parameters used by this function (g parameter, w parameter) are related to a high density point cloud (> 4pts/m2).

Do you know which values I have to choose for my low density dataset (0.5 pts/m2)?

1 Answer 1


The most suitable alternative (if default settings do not work) is to simulate combinations of GroundFilter parameters until the best result is achieved. It is important to have real accurate data to compare with, though.

This is because other variables besides point density will influence in classification accuracy, such as terrain type and objects above the terrain.

You need to consider in the analysis what is the purpose of performing such classification, i.e., will the DEM be a final product which require high accuracy, or perhaps an intermediary processing step which allow some degree of generalization in it?

Also, consider the trade between having classification errors and the amount of interpolation or smoothing needed when generating the DEM.

  • Trying to reduce non ground points classified as ground can also reduce the actual number of ground points that get classified. More interpolation will be needed.
  • Trying to minimize actual ground points which don't get classified as ground can increase non ground points classified as ground. Some smoothing will be necessary to eliminate noise provoked by them.

Cell size parameter:

Make sure to be running the tool with a cell size at least slightly greater than the average ground point spacing (see, here and here), so to avoid huge classification errors (see last picture from this post). On the other hand, using a very large cell size will over generalise the resulting DEM which is also unwanted.

Here is an explanation about how GroundFilter works:

It is adapted from Kraus and Pfeifer (1998) and given by the following set of equations (weight functions):

Kraus and Pfeifer (1998) algorithm - Fusion's groundfilter


  • pi = weight attributed to a point i.
  • vi = deviation between the point i and the reference surface.
  • g = threshold, which makes points receiving maximum weight (pi = 1) when deviations (vi) are smaller or equal than it.
  • w = tolerance relative to the threshold (g) for calculation of proportional weights.
  • a and b = parameters of the sigmoid function that calculates proportional weights for points between the threshold (g) and the threshold + tolerance (g + w).
  • cell size = the square window of side length s where the algorithm will work (for example 3 x 3 meters, 4 x 4 feet, etc).

Therefore, there are 5 parameters one can work with to adjust GroundFilter: g, w, a, b and cellsize.

  1. A reference surface is calculated based on the average elevation considering all points within the cell size.
  2. The reference surface is used to compute a distance (v) for each point (vi).
  3. Points which fall above the reference surface have a positive deviation (+vi) while points which are below the surface have a negative deviation (-vi). Then, such deviations are used to calculate weights (pi).
  4. Weights are calculated according to the above set of equations. If deviation (vi) is smaller or equal than g, the weight (pi) is given the full value of 1, which means that specific point will continue in the analysis, i.e., it continues to have a chance of being classified as ground. Note the default value for g is -2, so a deviation (vi) which receive pi = 1, is smaller or equal than -2. All deviations which exceed g plus a tolerance w receive weight zero (0). Those points are considered non ground and are removed from the next iteration. Points which have deviation (vi) between g and g + w are assigned weights between 0 and 1, based on the sigmoid function of parameters a and b. Those points with g < vi <= g + w continue in the analysis, but have smaller chances of being classified as ground than points with weights equal to 1.
  5. After weights are assigned, and points with pi = 0 removed, a new reference surface is calculated through each remaining point's elevation being multiplied by their assigned weights (pi > 0). Deviations are calculated between point's original elevation and the reference surface, and so on. The algorithm keeps running until it converges (when no points are assigned pi = 0).

This is a picture simulating a calculation with the Kraus and Pfeifer algorithm with default parameters (g = -2, w = 2.5, a = 1 and b = 4). After step 3, deviations (vi) converge and no further points are discarded.

enter image description here


Kraus, K., and N. Pfeifer. 1998. Determination of terrain models in wooded areas with airborne laser scanner data. ISPRS Journal of Photogrammetry and Remote Sensing. 53: 193-203.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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