This is an R script that can be used to derive crop heights and lodging areas from point clouds or digital elevation models of agricultural plots.
Required input datasets are:
- terrain height information (as point cloud (.laz) or DTM (.tif))
- crop surface information (as point cloud (.laz) or DSM (.tif))
- Shapefile with plot boundaries
- (optional) Shapefile with region of interest
The output generated by this script is:
- a table (.xlsx) with crop height statistics and lodging percentages per plot
- the input plot boundary Shapefile with added plot attributes (crop heights and lodging percentages)
- a crop height model (.tif) of the plot areas
- a raster (.tif) with a lodging/no-ldging classification of the plot areas
Several processing parameters can be set by the user:
- type of input datasets (point cloud or raster)
- desired resolution of generated DTM and DSM (if input datasets are point clouds)
- export of generated raster datasets
- buffer width of plot boundaries
The meaning of the columns in the output table is as follows (height values in meters):
| Column | Meaning |
|---|---|
| ID | plot ID |
| Parzelle | plot index |
| mean_height | mean height |
| median_height | median height |
| SD_height | standard deviation of heights |
| MAD_height | median absolute deviation of heights |
| percentile.90. | 90th percentile of height |
| most_likely_lodging_% | percentage of plot area that is most likely lodging |
| probably_lodging_% | percentage of plot area that is probably lodging |
| probably_not_lodging_% | percentage of plot area that is probably not lodging |
| most_likely_not_lodging_% | percentage of plot area that is most likely not lodging |
| threshold | height threshold between lodging and not-lodging classes |
| lower | height threshold between the classes "most likely lodging" and "probably lodging" |
| upper | height threshold between the classes "probably not lodging" and "most likely not lodging" |
| min_angle | minimum lodging angle that leads to classification as lodging |
The lodging/no-lodging classes are represented by the following values in the output classification raster:
| Class | Raster value |
|---|---|
| most likely lodging | 1 |
| probably lodging | 2 |
| probably not lodging | 3 |
| most likely not lodging | 4 |