Calculate maps of the area potentially available to trees (APA-maps) out of
tree inventory data. All vector data that is used or provided by the
APAtree
-package is stored in data.frame
s of the additional
sf
class of the sf
-package (referred to as
sf-data.frame
). APA-maps are raster data that are stored in objects of
the raster
-package.
apa_list(
plot_dat,
tree_dat,
plot_id_column,
tree_id_column,
weight_column,
agg_class_column = NULL,
core_column = attr(plot_dat, "sf_column"),
buffer_column = core_column,
res = 1,
subplot_dat = NULL,
subplot_id_column = NULL,
radius = 10,
apa_properties = NA,
edge_correction = "none",
dis_trait_column = NULL,
dis_method = "gowdis",
dis_transform = sqrt,
scope = "global",
apa_polygon = TRUE
)
An sf-data.frame
with plot-level data. plot.dat
must contain a column that specifies the unique id of the plot. the column
name of the plot id is specified with the plot_id_column
-argument.
The plot id is used to relate plot- and tree-data. A column with
POLYGON
-data that specify the outline of the plots has to be
provided.
An sf
-data.frame
with tree data.
tree.dat
must contain a unique id of each tree. The column name of
the tree id is specified with tree_id_column
. Plot and tree-data are
related by the id of the plot, which has to be a column in both datasets.
The geometry type of tree_dat
has to be POINT
-data that
specifies tree coordinates.
Column name of plot_dat
specifying unique plot
id's.
Column name of tree_dat
specifying unique tree
id's.
Column name of tree_dat
that specifies a variable
to be used as weighting factor for the calculation of APA-maps.
An optional vector of column names of tree_dat
that specify variables that are used as additional grouping variable (for
example tree species) to aggregate apa-properties (see apa_add_agg_class
for more details).
Column name of plot_dat
specifying a
sfc
-column with POLYGON
-data of plot boundaries.
Default is the active geometry of plot_dat
.
Column name of plot_dat
specifying a
sfc
-column with POLYGON
s of boundaries of a buffer-zone
around the core plot. To specify a buffer is only necessary if trees
outside of the core area of a plot were sampled (plus-sampling) and the
edge-correction
method is "critical"
. Defaults to
core_column
.
single number specifying the resolution of the APA-maps (identical in x- and y-direction).
A named list of sf-data.frames
with additional data
of subplots. If the active geometry column of plot_dat
is
POLYGON
-data, calculation of apa-properties will be done for the
area within these POLYGON
s. For POINT
-data, circular subplots
are created around the point coordinates.
A named vector specifying the id columns of
subplot_dat
.
The radius of circular subplots that should be used if a
dataset in in subplot_dat
contains POINT
-data.
A vector specifying the apa-properties that will be
calculated. May be any combination of "border_tree"
,
"apa_size"
, "ndiv"
and "pdiv"
.
which of the implemented edge correction method should
be applied when calculating apa-properties ("none"
,
"critical"
or "border_tree_exclusion"
.
A list containing combinations of traits that will
be used to estimate dissimilarity between trees when calculating
apa-properties. Refers to column names of tree_dat
.
Which method should be used to estimate dissimilarity
between trees. If dis_method
is gowdis
, FD::gowdis()
will
be used to calculate Gower dissimilarity. Alternatively, dis_method
may be any function
that calculates a dissimilarity matrix out of a
data.frame
with trait values.
A function
to transform dissimilarities. Defaults
to sqrt
.
Should scaling of the dissimilarity be done at "global"
or at "local"
level? If dis_method
scales dissimilarity
between trees according to the range of occurring values in the dataset (as
done by "gowdis"
), a "global"
scope
will use the range
of all values in tree_dat
. Any other scope
will use the range
of values at plot-level to scale dissimilarity.
logical, specifies if POLYGON
s of APA-patches be
should be added to the datasets. Defaults to TRUE
.
apa_list
returns an object of class "apa_list"
. An
apa_list
is a list
of data.frame
s with at least two
elements:
apa_list$plot_dat
: A data.frame
with the original
plot-level data is stored with an additional column apa_map
that is
a list containing all APA-maps. APA-maps of individual plots are
represented by RasterStack
objects. If additional APA-properties
are calculated at stand-level, they are appended to this data.frame
as well.
apa_list$tree_dat
: A data.frame
with the original
tree-level data Additional tree-level APA-characteristics are added to
tree_dat
as separate columns.
aggregation classes (optional): if one or multiple aggregation classes
(e.g., tree species) were added to the apa_list
, additional
data.frame
s at class-level will be added..
apa_list$subplot_dat
(optional): If subplots were specified, all
data at subplot-level are stored here.
APA-maps are derived by calculating a rasterized version of weighted Voronoi-Diagrams of tree coordinates. To each tree a weight may be assigned that reflects the competitive ability of the tree.
Glatthorn, Jonas (2021). A spatially explicit index for tree species or trait diversity at neighborhood and stand level. Ecological Indicators, 130, 108073. https://doi.org/10.1016/j.ecolind.2021.108073.
R<U+00F6>misch,K. (1995) Durchmesserwachstum und ebene Bestandesstruktur am Beispiel der Kiefernversuchsfl<U+00E4>che Markersbach. In Deutscher Verband forstl. Forschungsanstalten, Sektion Biometrie und Informatik. Gottfried Hempel (ed.) Tagung Tharanth/Grillenburg, Vol. 8, pp. 84<U+2013>103.
Gspaltl, M., Sterba, H., & O<U+2019>hara, K. L. (2012). The relationship between available area efficiency and area exploitation index in an even-aged coast redwood (Sequoia sempervirens) stand. Forestry, 85(5), 567-577.
# NOT RUN {
library(APAtree)
data(tree_enrico, package = "APAtree")
data(plot_enrico, package = "APAtree")
tree_enrico$height_class <- tree_enrico$height > 20
# only calculate an apa_list for two plots and with a coarse resolution of 1 m
# to save time.
apa_list_enrico <-
apa_list(plot_dat = subset(plot_enrico, id_plot %in% c("5.2", "8.2")),
tree_dat = tree_enrico,
plot_id_column = "id_plot",
tree_id_column = "id_tree",
weight_column = "crown_radius_95",
agg_class_column = c("species", "height_class"),
res = 1,
apa_polygon = TRUE)
apa_list_enrico
# }
Run the code above in your browser using DataLab