This question already has an answer here:

I have ground lidar points, nonground lidar points and tree lidar points.

The problem is some of the ground lidar points are incorrect. For example, the highest elevation values of tree and building are not over 200 but a few of points in ground lidar points are over 300.

so I want to remove the points higher than 200 and replace them with the surrounding values in ground lidar data.

Any help?

marked as duplicate by user30184, Erica, Dan C, Jason Scheirer, whuber Oct 1 '14 at 19:23

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • You could try reclassifying them using lastools lasground which will classify to ground/nonground - it wont help your trees but at least you can get a reasonable ground surface from it. – Michael Stimson Sep 28 '14 at 23:47
  • 4
    what tools do you have at your disposal? saga, qgis, arc, python... – user1269942 Sep 29 '14 at 3:02
  • I have just started using a program, FugroViewer, which is good at displaying LiDAR data in 3D etc. At least that makes it easier to identify where you have points that ain't aligning. Not sure yet if it can edit points as well (but Viewer in the name might be a hint that it can't). – Martin Sep 29 '14 at 8:50

Sounds like you need a ground DEM first. In SAGA, you can import the point cloud, turn it into a grid while extracting ground points, then fill in the gaps with interpolation.

Then, do the same thing by gridding the maximum elevation points + fill in the gaps. This will produce the DSM (digital surface model).

Create a mask by taking a subset (extract) of your DSM greater than 200. Reclassify to 0/1 binary raster.

Reclassify all points > 200 in DSM to zero.

Multiply your DEM raster by your binary raster and add it to your DSM (raster calculus).

If you're familiar with python/numpy, the last 3 steps can be done by:

mask = dsm > 200
dsm[mask] = ground_dem[mask]
  • you can extract points classified as ground points. what you hope for is a suitable density of ground points that you can make a DEM from. it can still give outliers...I think some refer to them as "dirt points" (below ground level). Filtering outliers would come after the gridding process (in SAGA). – user1269942 Sep 30 '14 at 22:31
  • 1
    I don't think so. If it is unclassified or if there are areas without ground points(dense canopy) then you can extract the lowest z into a grid. However, once you have done this, then it should be cleaned with a 'hill climbing' or 'multi-directional lee filter' to remove points that don't behave like natural terrain. Then you fill in the voids with splines/interpolation. I'm sure there are canned programs that do this but this is what I have done using SAGA. – user1269942 Oct 1 '14 at 5:49

If you have LiDAR points then I will assume that you are working with a LAS file. Andre Silva raised the useful point that a robust solution to this problem would not require previously classified data, and so I am providing this alternative solution. Since your off-terrain points are one-hundred or so metres above your ground surface (possibly birds if it is airborne LiDAR) then they will have extremely high local maximum downward angles (i.e. the maximum angle between a point and any lower point), very near 90 degrees in most cases. Depending on the ruggedness of your terrain, the ground terrain points will have much shallower maximum downward angles. Even in mountainous environments, the maximum slope angle is generally much shallower than 85-90 degrees. So, I would suggest using a threshold of this metric as a basis for removing your spurious points. This is the approach first described by Vosselman (2000) and Sithole (2001) and it has the benefit of not requiring any additional classification information. I have developed a tool in the free and open-source GIS Whitebox Geospatial Analysis Tools, for which I am a developer, called Isolate Ground Points.

enter image description here

Vosselman, G. 2000. Slope based filtering of laser altimetry data. International Archives of Photogrammetry and Remote Sensing, 33(part 3B), 935-942.

Sithole, G., 2001. Filtering of laser altimetry data using a slope adaptive filter. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 34(part 3/W4), 203-210.

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