Blog·

i-Tree Canopy vs aerial canopy mapping: what's the difference?

A street canopy formed by mature oak tree branches arching over a tree-lined road

If you've run a canopy assessment for your city, you've probably used i-Tree Canopy at some point, or at least had someone on council ask why you didn't. It's free, it's backed by the US Forest Service, and it gives you a citywide tree cover percentage you can put in a report. The question that comes up every budget cycle is whether that's enough, or whether you need something that maps canopy instead of sampling it.

How i-Tree Canopy works

i-Tree Canopy drops a set of random points over your jurisdiction on aerial imagery (usually Google or Bing base imagery, whatever's loaded) and asks a person to classify each point by eye: tree, grass, pavement, building, water, whatever your land cover classes are. You click through them one at a time. With enough points classified, the tool gives you a citywide (or study-area) percentage cover estimate with a margin of error attached to it.

That margin of error is the part that matters for planning work. It's a function of how many points you classify and how much your land cover varies. Run 500 points citywide and you'll get a reasonable citywide number. Try to split that same point set by council district, let alone by block, and the error bars get wide fast, because each subdivision only gets a fraction of the original sample. i-Tree Canopy was built to answer "what's our citywide cover," not "which of these 40 blocks in the target neighborhood needs trees."

It's also a manual process every time you run it. Someone sits down and classifies a few hundred points by hand, and if you want a second reading six months later to check progress, someone classifies another few hundred points by hand. There's no persistent layer sitting underneath it that updates on its own. Each run is its own standalone sample.

What a mapped canopy layer gives you instead

A block-level canopy layer works the other way around: instead of sampling points and extrapolating, it classifies every pixel of VHR imagery (RGB plus near-infrared, down to half-meter resolution) across the whole jurisdiction. Every block gets its own canopy percentage, not a citywide average with a confidence interval wrapped around it. You can pull up the three blocks in your planting-target area with the lowest cover and know that number is a count of classified canopy pixels on that block, not an estimate inferred from a handful of sample points that happened to fall nearby.

The practical difference shows up when you're trying to justify where planting crews go next. "Citywide cover is 28%, margin of error plus or minus 2 points" doesn't tell a council member which eight blocks in Ward 4 are under target. A block-level layer does, because the classification was never aggregated up from a sample in the first place; it was built at the resolution you need from the start.

It also matters for tracking progress over time. A planting program measured every two years needs the same method run twice so the comparison means something. Sampling the same study area with a fresh batch of random points each cycle introduces a second layer of noise on top of whatever changed on the ground. A classified layer recut from new imagery on a fixed cadence compares the same blocks the same way each cycle, which is what a planting-target program needs to show whether the thin blocks from two years ago are still thin.

Where each one fits

i-Tree Canopy still earns its keep for a quick citywide number, a grant application that just wants one headline percentage, or a gut-check between full assessments. It's free and it doesn't take much setup. But if your planting-target program lives or dies on knowing which blocks are below target right now, point sampling was never built to answer that question at the resolution you need, and no amount of extra sample points fixes it cleanly, because the error only shrinks so far before you're effectively classifying every pixel by hand anyway, which is the job a mapped layer does for you.

Urban Tree Canopy builds that block-level layer and refreshes it on a two-year cycle, so the thin blocks in your target area show up by name instead of by margin of error. If block-by-block tracking against your planting targets is the job in front of you, take a look at how the layer and summary table work before your next assessment cycle comes due.

Get started

← Back to the blog