treeselection: Tree selection (trees to be exploited, future and reserve...

Description Usage Arguments Details Value See Also Examples

View source: R/treeselection.R

Description

Tree selection (trees to be exploited, future and reserve trees)

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
treeselection(
  inventory,
  topography,
  plotslope,
  harvestablepolygons,
  maintrails,
  speciescriteria,
  scenario,
  objective = NULL,
  fuel = NULL,
  diversification = NULL,
  specieslax = FALSE,
  objectivelax = FALSE,
  advancedloggingparameters = loggingparameters()
)

Arguments

inventory

input inventory (see the inputs formats and metadata in the vignette) (data.frame)

topography

Digital terrain model (DTM) of the inventoried plot (LiDAR or SRTM) (DTMParacou) (RasterLayer)

plotslope

Slopes (in radians) of the inventoried plot (with a neighbourhood of 8 cells) (default: PlotSlope) (RasterLayer)

harvestablepolygons

Accessible area of the inventoried plot (default: HarvestableAreaDefinition) (sf polygons data.frame)

maintrails

Main trails defined at the entire harvestable area (sf polylines)

speciescriteria

Table of species exploitability criteria : species names, economic interest level, minimum and maximum felling diameter, in the same format as SpeciesCriteria (data.frame)

scenario

Logging scenario: "RIL1", "RIL2broken", "RIL2", "RIL3", "RIL3fuel", "RIL3fuelhollow" or "manual"(character) (see the vignette)

objective

Objective volume (m^3/ha) (numeric)

fuel

Fuel wood exploitation: no exploitation = "0", exploitation of damage and unused part of logged trees for fuel = "1", exploitation of hollow trees, damage and and unused part of the log for fuel = "2"

diversification

Possibility to log other species in addition to the main commercial species (species with a value of 2 for commercial in the SpeciesCriteria table) (logical)

specieslax

Allow diversification if the stand is too poor to reach the objective volume without diversification, = FALSE by default (logical)

objectivelax

Allow exploitation in case of non-achievement of the objective volume (if stand too poor), = FALSE by default (logical)

advancedloggingparameters

Other parameters of the logging simulator loggingparameters (list)

Details

Trees will be designated as "harvestable" if they:

Trees with visible defects are identified ('VisiblyDefectModel' in 'advancedloggingparameters' argument) among the trees with harvestable criteria and are therefore considered 'non-harvestable'.

If fuel = 2, the hollow trees (identified with the "RottenModel" (loggingparameters)) will be harvested and are therefore included in the objective volume. If fuel = 0 or 1, the hollow trees will not be exploited, so the function looks for other trees to reach the objective volume (if possible).

If the harvestable volume is higher than the objective volume, MinFD of the 1st economic rank species is increased. If this is not enough and if diversification is allowed, MinFD of 2nd economic level species is increased. Then, the trees to be harvested are chosen in decreasing order of volume, until the objective volume is reached.

If the harvestable volume is lower than the objective volume, diversification can be applied if it was not already applied ('specieslax') (trees of all commercial ranks are selected in decreasing order of volume until the objective volume is reached), or harvesting can continue despite an unreached objective volume, or be abandoned ('objectivelax')

Future trees are all trees satisfying the following conditions:

Reserve trees are randomly chosen among future trees so that the number of reserve trees is equal to the number of harvested trees.

Value

A list with:

See Also

Paracou6_2016, SpeciesCriteria, DTMParacou, PlotSlope, loggingparameters

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
## Not run: 
data(Paracou6_2016)
data(DTMParacou)
data(PlotSlope)
data(MainTrails)
data(HarvestablePolygons)

inventory <- addtreedim(inventorycheckformat(Paracou6_2016),
volumeparameters = ForestZoneVolumeParametersTable)

treeselectionoutputs <- treeselection(inventory,
maintrails = MainTrails,
topography = DTMParacou, plotslope = PlotSlope,
harvestablepolygons = HarvestablePolygons,
speciescriteria = SpeciesCriteria, objective = 20,
scenario ="manual", fuel = "2", diversification = TRUE, specieslax = FALSE,
objectivelax = TRUE,
advancedloggingparameters = loggingparameters())

NewInventory <- treeselectionoutputs$inventory

NonHarvestable <- sf::st_as_sf(
dplyr::filter(NewInventory, LoggingStatus == "non-harvestable"),
coords = c("Xutm", "Yutm"))

Harvestable <- sf::st_as_sf(
dplyr::filter(NewInventory, LoggingStatus == "harvestable"),
coords = c("Xutm", "Yutm"))

HarvestableUp <- sf::st_as_sf(
dplyr::filter(NewInventory, LoggingStatus == "harvestableUp"),
coords = c("Xutm", "Yutm"))

Selected <- sf::st_as_sf(
dplyr::filter(NewInventory, Selected == "1"), coords = c("Xutm", "Yutm"))

Reserve <- sf::st_as_sf(
dplyr::filter(NewInventory, LoggingStatus == "reserve"),
coords = c("Xutm", "Yutm"))

Future <- sf::st_as_sf(
dplyr::filter(NewInventory, LoggingStatus == "future"),
coords = c("Xutm", "Yutm"))

ProbedHollow <- sf::st_as_sf(
dplyr::filter(NewInventory, ProbedHollow == "1"), coords = c("Xutm", "Yutm"))

VisibleDefect <- sf::st_as_sf(
dplyr::filter(NewInventory, VisibleDefect == "1"), coords = c("Xutm", "Yutm"))

library(ggplot2)
ggplot() +
  geom_sf(data = NonHarvestable,
  aes(colour = "Non-harvestable"), show.legend = "point") +
  geom_sf(data = VisibleDefect,
  aes(colour = "Visible defect"), show.legend = "point") +
  geom_sf(data = Future,
  aes(colour = "Future"), show.legend = "point", size = 4) +
  geom_sf(data = Reserve,
  aes(colour = "Reserve"), show.legend = "point", size = 4) +
  geom_sf(data = Harvestable,
  aes(colour = "Harvestable"), show.legend = "point", size = 4) +
  geom_sf(data = HarvestableUp,
  aes(colour = "HarvestableUp"), show.legend = "point", size = 4) +
  geom_sf(data = Selected,
  aes(colour = "Selected"), show.legend = "point") +
  geom_sf(data = ProbedHollow,
  aes(colour = "Probed hollow"), show.legend = "point") +

  scale_colour_manual(values = c("Non-harvestable" = "grey",
  "Visible defect" = "pink", "Harvestable" = "skyblue",
  "HarvestableUp" = "blue", "Selected" = "red", "Future" = "orange",
  "Reserve" = "purple", "Probed hollow" = "forestgreen")) +
  labs(color = "Logging status")

## End(Not run)

thomasgaquiere/Maria documentation built on Dec. 24, 2021, 1:20 a.m.