Honours Thesis · University of Waterloo · 2024–2025

Evaluating Site & Situational Factors on Tree Height and Carbon Storage in Urban Areas

An individual tree-level geospatial study of the Montgomery Creek watershed in Kitchener, ON — combining LiDAR point cloud processing, machine learning, and socioeconomic data to understand what drives urban tree growth and carbon sequestration.

RlidRLiDARRandom ForestPIMPPostGISQGISWhiteboxToolscancensus

Why This Matters

Urban trees are one of the most cost-effective tools municipalities have for climate adaptation — they sequester carbon, reduce urban heat islands, manage stormwater, and improve air quality. But not all urban trees grow the same way. A street tree fighting for soil space between pavement and a hydro pole grows very differently from a park tree with open soil and no overhead obstructions.

Most urban forestry carbon models apply species-level allometric equations uniformly, ignoring the site conditions that fundamentally shape how a tree develops. This research asks: what environmental, infrastructural, and socioeconomic factors actually explain variation in urban tree height and carbon storage — and do these factors differ between street trees, private trees, and park trees?

Study Area

The Montgomery Creek watershed in Kitchener, Ontario — a mid-sized Canadian city with a diverse mix of residential, commercial, and park land uses. The study area was selected for its spatial diversity and availability of high-resolution 2016–2018 LiDAR data from the City of Kitchener, combined with an existing street tree inventory, building footprints, road network, and parcel data.

Methodology Pipeline

01

LiDAR Point Cloud Processing

Raw LiDAR tiles from the City of Kitchener ingested via lidR in R. Ground points removed using Cloth Simulation Filter (CSF), followed by noise filtering using Statistical Outlier Removal (SOR). Processed in parallel across tiles using a LAScatalog pipeline.

02

Individual Tree Segmentation

Height-normalized point clouds clipped to vegetated land use zones. Tree tops located using a variable-radius Local Maximum Filter (LMF), where search radius scales with estimated tree height (ws = 0.3z + 2). Outputs validated and refined in QGIS to remove false detections.

03

Predictor Variable Attachment

Twenty site and situational variables attached to each detected tree via spatial joins, distance calculations, raster extraction, and census API queries. Variables span infrastructure proximity, topography, land use, ecological context, and neighbourhood socioeconomics.

04

Statistical Modelling

Linear regression and Random Forest models trained on segmented tree subsets (street, private, park). Best-subset selection via adjusted R², AIC, and BIC. RF hyperparameter tuning (mtry, ntree, nodesize) via grid search and 5-fold cross-validation.

05

Variable Importance — PIMP

Permutation Importance (PIMP) used instead of naive Gini importance to assign statistical significance to each predictor. Highly correlated variables removed iteratively, retaining the highest-PIMP variable from each correlated cluster.

06

Partial Dependence Analysis

Partial Dependence Plots (PDPs) generated via the iml package to interpret the marginal effect of each significant predictor on tree height — separating the direction and shape of influence from raw correlation.

Predictor Variables

18 variables attached to each of the ~10,000+ individually segmented trees, sourced from municipal open data, City of Kitchener datasets, Statistics Canada census data, and derived from the LiDAR and satellite imagery directly.

Distance to RoadDistance to BuildingDistance to SidewalkStreet WidthNearest Building HeightDistance to Hydro PoleOverhead Hydro LinesObstructions within 5/10/20mSlopeTopographic Wetness IndexDistance to CreekTotal Permeable AreaTrees within 5/10/20mIn ParkZoning CategoryParcel SizeMedian Household IncomeRoad Orientation
InfrastructureTopographicEcologicalLand UseSocioeconomic

Models

Linear Regression

Best-subset selection using adjusted R², AIC, and BIC across all predictor combinations. Separate models fit for street trees, private trees, and park trees — revealing that the significant predictors differ meaningfully by tree context.

Random Forest + PIMP

Random Forest with hyperparameter tuning (mtry, ntree, nodesize) and 5-fold cross-validation. Permutation Importance (PIMP) used to assign p-values to each predictor, addressing the well-known bias of Gini-based variable importance toward high-cardinality features.

Key Findings

Infrastructure proximity — particularly distance to roads, hydro poles, and overhead lines — emerged as a consistently significant predictor of tree height suppression across all tree types. Trees closer to infrastructure are systematically shorter, consistent with pruning pressure and root zone restriction.

Neighbourhood socioeconomics (median household income) showed a positive association with tree height in street and private tree contexts, aligning with the broader urban forestry literature on green space equity. Higher-income neighbourhoods tend to have older, larger trees.

Topographic Wetness Index and permeable surface area were significant for park trees, where water and soil availability are less constrained by impervious cover — suggesting that natural site factors matter more when infrastructure constraints are removed.

The Random Forest models outperformed linear regression across all tree subsets, with PIMP analysis confirming that several variables significant in linear regression did not retain significance under permutation — highlighting the importance of rigorous importance testing.

Technical Stack

Point Cloud Processing

lidR, RCSF, CloudCompare

Spatial Analysis

sf, terra, WhiteboxTools

Machine Learning

randomForest, ranger, vita

Statistical Analysis

leaps, FactoMineR, fitdistrplus

Visualization

ggplot2, iml (PDP), ggcorrplot

Data Sources

City of Kitchener, StatCan (cancensus), QGIS