When processing a dtm from lidR::grid_terrain() I'm seeing several warnings that say:

There were 4 degenerated ground points. Some X Y Z coordinates were repeated. They were removed.

What is a degenerated ground point?

I am wondering if this this normal, or indicative of some larger problem with my .las tiles.


If you are trying to create a 2.5D digital terrain model (a height field) from a point cloud then there might be two possible problems. Multiple points in the cloud at the same location don't add any information to the data, so are dropped. Multiple points with the same XY location but different Z location (height) are inconsistent with the idea of a planar 2.5D terrain model, and in this case grid_terrain will take the smallest value of Z.

Repeated XYZ coordinates are probably not a problem unless you've got a lot of them, which might reveal that you've accidentally duplicated large amounts of your point cloud. In your case it looks like there's just four out of (I assume) a much larger number. grid_terrain does the right thing. The internal lidR function check_degenerated_points removes the repeats of identical XYZ points, leaving one point only at that position.

| improve this answer | |
  • In addition, degenerated points generally produce unexpected outputs such as infinite spike, crash or simply wrong outputs. This is why they are removed. But this triggers a warning because there is no good reason for the presence of degenerated points. The package does not tell you if it is a serious issue. It only provides the best output it can with the existing data. Use lascheck() for a more in-depth inspection of the data. – JRR Sep 24 '19 at 0:14
  • @JRR That will be more of a problem if you are doing something with more attributes of each point such as using the colour. Having two coincident pojnts with different colour will confuse an algorithm that is trying to smooth the colour over a cloud. For terrain reconstruction the only information used is the point location. – Spacedman Sep 24 '19 at 6:19
  • Exact. There are many cases where it is a real problem. And lidR does not check them all. – JRR Sep 24 '19 at 11:05
  • Thank you @Spacedman. This was just 1 of several similar warnings that came out of running grid_terrain() on a catalog of 23 ~250 ha tiles. I'll make sure I'm not duplicating any data. If I'm not duplicating data, then I will assume that a few degenerated points here and there is acceptable in such a large coverage. – Lucas Sep 24 '19 at 13:29
  • Just to clarify, degenerated points are those with identical XY AND Z? Which are discarded w/ check_degenerated_points. Are points with identical X&Y but different Z also considered degenerated? I'm asking because my lidar data is from a TLS scanner. So I'm wondering if, in my case, it's best to keep the min. Z values (they look like noise to me). – Derelict Jul 2 at 19:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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