Toronto Tree Canopy
Type a Toronto address. Get a per-lot tree screening from 2023 LiDAR: tall-canopy area, tallest surface, canopy percent, and the calibrated chance a mature tree stands on the lot.
Try: · ·
Ward 12 (Davenport) pilot · tall-canopy structure measured from 2023 airborne LiDAR (1 m) · mature-tree probability calibrated on 13,208 Ward 12 street trees · screening signal, not a permit determination
Screen a Ward 12 address to see the lot's tall-canopy measurements and verdict.
How the screen works
From 2023 LiDAR to a per-lot verdict
Measure canopy structure
The NRCan HRDEM mosaic (CanElevation series, open data) serves 2023 airborne LiDAR flown for the Toronto and Region Conservation Authority over Toronto at 1 m. Surface minus terrain gives a canopy height model; per parcel the screen reports tall-canopy area at 6 m and 8 m, max height, and canopy percent, for the lot and for the 6 m neighbour band the by-law's site-plan rule cares about.
Calibrate mature-tree probability
A logistic regression maps LiDAR height and canopy area around 13,208 Ward 12 street trees to the probability the trunk clears 30 cm (and 61 cm for the Distinctive tier). Street trees are managed road-allowance trees, so the transfer to private trees is approximate; the fit quality is reported as AUC below.
Score against the by-law
LiDAR peaks 6 m and up on the lot are scored with the calibration and rolled up to the chance at least one mature tree stands on the lot, and the same for the 6 m neighbour band. Tall structures such as buildings read as canopy in LiDAR, so the number is a screening signal, never a permit determination.
Accuracy (measured)
The mature-tree calibration scores AUC 0.76 on 13,208 Ward 12 street trees with known trunk diameters (5-fold cross-validation). Individual crown detection was tried first and failed honestly: pre-trained DeepForest F1 0.023, fine-tuned F1 0.000, and 1 m watershed F1 0.046 on hand-labeled tiles, because all five City orthophoto vintages are leaf-off spring captures. This screen sidesteps detection entirely: it measures canopy structure, not crowns.
Open data
Download the Ward 12 canopy dataset
Every Ward 12 parcel with its measured 2023 LiDAR tall-canopy metrics (area at the 6 m and 8 m thresholds, max height, canopy percent) and calibrated mature-tree probabilities, for the lot and the 6 m neighbour buffer. MIT licence for the code; data carries the City of Toronto and NRCan open data terms.
For AI agents
Connect your agent
The screen is available over MCP (Streamable HTTP) and a plain REST API. Two tools: canopy_screen takes an address and returns the full screening payload; parcel_crowns takes a parcel ID and returns its parcel payload (the crowns array is reserved for a future segmentation win and currently empty). Paste the block into your harness and point it at this server.
Paste into Claude Code
Claude Code connects to this MCP server with one command: claude mcp add --transport http toronto-tree-canopy https://trees.canada.nshipyard.com/mcp Then: "Use canopy_screen to screen 1843 Eglinton Ave W" or parcel_crowns with a parcel ID like TOP-5293472.