Methodology & sources
Where the numbers come from, how they change over time, and how the leaderboards are ranked.
Where coverage comes from
Canopy Cup v0 does not pull live satellite feeds. Each city starts from published baselines — city forestry reports, LiDAR or NAIP imagery studies, American Forests analyses, and open municipal datasets. Every percentage links to its source in the tables below.
Urban tree canopy means the layer of leaves, branches, and stems covering the ground when viewed from above, usually expressed as a percent of land area inside city limits. Methodologies differ across cities, so compare within a climate bucket when you can.
How aging works
Values on Compare and Leaderboard are modeled forward from each city's anchor baseline. That is why the numbers shift week to week and month to month — you are watching the model run, not a live sensor.
canopy_now = anchor_canopy_pct + annual_delta × years_since(anchor_date)
- anchor_date + anchor_canopy_pct — last credible published reading for that city.
- annual_delta — modeled change in percentage points per year, derived from historical snapshots, city climate goals, or forestry reports.
- 7-day / 30-day columns — difference between
canopy_nowtoday and the modeled value 7 or 30 days ago (so Austin at +1.1 pts/yr moves about +0.02 pts per week).
When better imagery arrives, update cities.json (new snapshot or revised
annual_delta). No code changes required.
How rankings work
| Board | Sorted by | Meaning |
|---|---|---|
| Shade Index | canopy_now high → low |
Who has the most urban tree shade right now. |
| Climbers | annual_delta high → low |
Who is improving most aggressively. Negative = losing ground. |
Climate buckets
Per-city sources
Anchors, historical snapshots, and links to origin documents.