walkThroughFlag_office: To determine a tree-level flag in a walk-through sample in...

View source: R/walkThrough.R

walkThroughFlag_officeR Documentation

To determine a tree-level flag in a walk-through sample in office

Description

This function determines the walk-through area and assign walk-through flag for a tree

Usage

walkThroughFlag_office(
  boundaryList,
  radiusYSM = 11.28,
  treeNo,
  bearingTree,
  distanceTree
)

Arguments

boundaryList

list, A list of boundaries, The first element is bearing (degree) for a walk-through edge. The second element is distance (m) between IPC to the walk-through edge.

radiusYSM

numeric, The radius (m) of a YSM plot, default is 11.28.

treeNo

numeric, Defines a tree number.

bearingTree

numeric, Defines bearing of a tree number from IPC.

distanceTree

numeric, Defines distance of a tree number from IPC.

Value

The function returns three objects: 1. a figure shows the plot and boundary and trees with wkthrough codes 2. a lookup table in which a field crew can identify a tree's wkthrough codes based on a tree's bearing. 3. assigned wkthrough codes for the trees provided.

Note

This method is adapted from Ducey 2004 paper. The population boundary is a simple straight line, which is defined by the boundary bearing (bearingBoundary) and boundary distance (distanceBoundary). Purple line (from P1 to P4) is the boundary. P1 to P4 are the four pins. The dark grey area is the walkthrough area, in which all trees should be marked as W. The white area in the circular plot is out of the plot, in which trees should be marked as O. No mark should be made for trees in rest of the plot (light grey area). pin1 (P1 in green) is always the right direction (90 degree on your right) from the distance point (D in red) with your back to the IPC. The bearing of boundary is clock-wise angle from the North to the D-P1. The distance of boundary is between IPC and D.

Author(s)

Yong Luo

Examples

## Not run: 
treelist <- data.frame(expand.grid(bearing_tree = seq(0, 360, by = 20),
                                   distance_tree = seq(3, 11, by = 2)))
treelist <- rbind(treelist, data.frame(bearing_tree = 50,
                                       distance_tree = 13)) # this tree is beyound 11.28 m
treelist$tree_no <- 1:nrow(treelist)
# example 1, one boundary in plot
plot_exam1 <- walkThroughFlag_office(boundaryList <- list(c(100, 6)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 2, one boundary out of plot
plot_exam2 <- walkThroughFlag_office(boundaryList <- list(c(100, 13)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 3, two boundaries and out-of-plot zones are overlapped
plot_exam3 <- walkThroughFlag_office(boundaryList <- list(c(100, 6),
                                                          c(150, 7)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 4, two boundaries and out-of-plot zones are not overlapped
plot_exam4 <- walkThroughFlag_office(boundaryList <- list(c(100, 6),
                                                          c(250, 7)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 5, two boundaries with one of them has out-of-plot zone and the other one is out of plot
plot_exam5 <- walkThroughFlag_office(boundaryList <- list(c(100, 6),
                                                          c(150, 13)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 6, two boundaries are out of plot
plot_exam6 <- walkThroughFlag_office(boundaryList <- list(c(100, 15),
                                                          c(150, 13)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)
# example 7, three boundaries
plot_exam7 <- walkThroughFlag_office(boundaryList <- list(c(100, 7),
                                                          c(150, 3),
                                                          c(300, 15)),
                                     treeNo = treelist$tree_no,
                                     bearingTree = treelist$bearing_tree,
                                     distanceTree = treelist$distance_tree)

## End(Not run)


bcgov/FAIBBase documentation built on Feb. 12, 2025, 7:28 p.m.