A long history of human interest in forests includes the estimation and cataloging of tall tree and canopy heights.
Thanks to this longstanding relationship, we are aware of the heights and grandeur of countless giants having the fortune (or misfortune) of living during the Anthropocene.
Vast collections of writings, resources, records and surveys further detail the living forests we enjoy today, including beautiful web articles showcasing living giants of the Pacific Northwest, a.k.a. ‘Cascadia.’
Now our enjoyment of tall tree lore can benefit widespread aerial LiDAR surveys, which conveniently provide high density, precise height measurements of the ground and canopy.
LiDAR: Public Data
Light Detection and Ranging (LiDAR) is a bright star in the constellation of modern environmental measuring campaigns collectively referred to as remote sensing.
For those of us not professionally engaged in approaching these data with institution-scale talent and computing resources, a bit of home baking can be done to personally explore this laser-based view of the landscape.
The Washington State DNR LiDAR Portal provides impressively comprehensive data downloads from various aerial LiDAR surveys in various forms: DSM for a ‘surface’ model that includes canopy height, DTM for the model of underlying terrain (solid ground), hillshades for convenient pseudo-3D visualizations of these models, and also the multidimensional LiDAR point cloud data itself.
Processing
For personal exploration on a home computer, reasonably-sized areas of special interest can be selected to for processing, working with ~100MB to 1GB blocks at a time (or in parallel).
Height above ground (HAG)
Using the point cloud data directly, it is possible to compute height above ground (HAG), a metric convenient for cataloging and visual rendering of putative tree heights:
#!/bin/sh
pdal translate $1 `basename $1 .laz`-HAG.laz filters.hag_delaunay
ajustinfocus.com
ajustinfocus.com
Annotation
A catalog of trees and their heights can also be tabulated directly from these point cloud data, for example using the whitebox_tools function ‘IndividualTreeDetection.’
GeoTIFF difference mapping
A more expedient way to catalog putative tree heights over a larger area and/or smaller data files is to download the DTM and DSM models for an area (these are GeoTIFF files), and perform GeoTIFF subtraction to yield a crude ‘canopy height model.’
gdal_calc -A [DSM GeoTIFF] -B [DTM GeoTIFF] --calc "A-B" --outfile DSM-DTM-diff.tiff
This produces a GeoTIFF-formatted representation of usable canopy heights (when performed on a forested area) that can be loaded and styled in QGIS, and perused for tall trees and their heights (found in the ‘value’ panel).
This DSM-DTM difference map can also be peak-picked for tall trees using home-baked (or ‘AI’-informed) python scripts to generate vector-based features and tables for individual treetops, that be filtered and labeled by height.
ajustinfocus.com
ajustinfocus.com
ajustinfocus.com
Community projects
I was a bit surprised to find that this kind of tree cataloging isn’t yet included state-wide as a derived product alongside the public data.
There are a few community efforts to bring this new knowledge to the public, such as this LiDAR cataloging effort by the Whatcom Million Trees Project, and some work in Seattle like this Tree Canopy dataset.
While much hype promises ‘AI’-infused approaches for more powerful identification and classification in the near future, it is nice to know that we can access vast datasets that we paid for (as science-appreciating taxpayers) for independent perusals on a single modern laptop.
Now at least, if a tree falls in the woods, the next LiDAR survey might bear witness to it.