2

I have some questions about individual tree segmentation in lidR. I'm looking at using the function lastrees with algorithm watershed.

My first question is how to apply it for large areas. How big areas or how big datasets (number of points) can be handled in one call to lastrees?

My second question is, if there is an upper limit on the data size, is there then a way to handle bigger areas by combining the resulting segments? Is that included in lidR or should the user implement this?

Finally, is there any publication where this has been used and validated for segmentation and forest estimation and does it include suitable parameter settings and ways to define a chm for the watershed?

1
  • 2
    Try asking only one question per post or your question might get closed.
    – BERA
    Feb 4, 2020 at 15:14

1 Answer 1

2

This question have already been answered (partially) here. Individual tree segmentation in broad coverages is not currently (v2.2.2) an easy task in lidR. There are several reasons for that:

  1. lidR brings 3 algorithms for making a CHM which each have various tweaks and various parameters + 4 algorithms for ITS including a point-cloud based methods which is thus internally very different to the CHM-based ones. This give us dozens of different processing options. They cannot all work in a single straightforward functions
  2. The LAScatalog processing engine processes broad coverage by independent chunks. This generate troubles in lastrees() to make a continuous output with valid tree IDs. See also this question and this question.

To achieve this task you must create your own routine and use the LAScatalog processing engine. The example provided in this question is a workable solution to get a shapefile of crowns with a set of metrics for each tree.

However if you want to get a continuous raster with a single ID per trees it is harder. The current development version of the package (v2.3.0) will provide different strategies to guarantee uniqueness of tree IDs. But in all cases you will need to write your own routine.

My second question is, if there is an upper limit on the data size, is there then a way to handle bigger areas by combining the resulting segments? Is that included in lidR or should the user implement this?

This is what the LAScatalog processing engine does. See help("catalog_apply"), help("LAScatalog-class") and this vignette.

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