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 |