Compute the stem base position, metroid of the crown projected area and the stem height of a tree
Arguments
- tree
tree_pc or data.frame (x, y, z) of the tree point cloud. Coordinates have to be in metric system!
- z_min
integer of length 1 describing the the minimum number of points needed in the lowermost 1 voxel depth Z layer to consider it part of the tree. Default is 100. If changing the voxel resolution (res) from the default value of 0.1, different settings may be necessary.
- h_xy
numeric of length 1 describing the height range in m over the stem base over which the x and y positions are used to calculate the x and y coordinates of the stem base. Default is 0.3 m.
- res
res numeric of length 1 defining the resolution of a voxel as passed on to
VoxR::vox()
. Defaults to 0.1 (10 cm voxel size).- tree_name
character vector of length 1 with the name of the tree as returned with the output object. Defaults to NULL (take name from
tree
argument).
Value
object of class "tree_pos" containing the following components:
base_pos
numeric vector of length 3 with the x, y, z coordinates of the tree base position.crown_pos
numeric vector of length 3 with the x, and y coordinates of the central point of the crown projected area and the z position of the stem base identified as above.height
numeric of length one containing the tree height in m.cpa_m2
numeric of length one containing the crown projected area in m².cpa_xy
data.table
with the x and y positions of the crown.tree_name
name of the object used as the "tree" argument, or name specified by the user.
Details
Calculates the stem base position, metroid of the crown projected
area and height of a tree from a data.frame with a point cloud as created
with read_pc()
.
For the stem base, the z position is taken as the z position of the first voxel layer containing at least z_min points of the point cloud (the standard value is 100). This is done to avoid outlying values affecting the calculated stem base height and should usually be consistent with taking the median z value of the lowermost group of points, but with a lower sensitivity to outliers. The x and y position of the stem base are calculated as the median of the voxelized x and y coordinates of all voxels in the first h_xy m over the stem base (on default: first 0.3 m - values that are too low should be avoided here as the stem shape may be irregular close to the ground).
The crown projected area is computed as the projected area of all voxels belonging to the tree.
The central point of the crown projected area is computed as the median of the x and y position of the projected area of the tree.
The height is based on difference between the z value of the highest voxel belonging to the tree over and the z value identified for the stem base.
The calculation is done on voxels to ensure consistency with downstream analyses and to reduce bias caused by inhomogeneous point densities on different sides of the stem.
In our opinion, in most cases it makes more sense to calculate competition indices based on the central point of the tree crown than based on the stem base because for strongly inclined trees a cylinder constructed around its base may contain no voxels of the crown of the central tree at all.
See also
read_pc()
for details on reading point clouds,
compete_pc()
for computing tree competition from point cloud objects.