Showcase · Data layers · City of Melbourne open data
Where the canopy runs out
The City of Melbourne’s 82,064 trees shade 274 hectares. The council rates each tree’s useful life left. On those ratings, 21.8 ha (8%) of the shade is on trees whose useful life ends by 2045. The ten years after that are the cliff: by 2055 it is 57%. The biggest group going first is elms, 37% of that shade, many planted together along the same streets and in the same gardens.

Twenty years, then a drop
Take each tree as gone by the top of its useful life band, and add up the shade still standing. Through 2035 almost nothing changes: the 663 trees with under ten years left carry only 1.4 ha. By 2045, 4,946 trees and 21.8 ha have gone. Then the 21,115 trees rated 21 to 30 years go, and with them most of the city’s council shade: 117 ha left in 2055, of 274 ha now.

The map
Each block coloured by the council-tree shade still standing in the year on the slider, as a share of the block. Switch to Share lost by 2045 to see where the next twenty years bite, or to Streets for the road segments. Zoom in to street level for every tree as a dot. Hover over a block or a street, or tap it on a phone, for its numbers and its decades as a small chart.
The streets and blocks
By 2045 the biggest losses are in the large gardens: Royal Park (block 931) loses 3.1 ha, Kings Domain and the Domain parklands (block 852) 1.9 ha and Fawkner Park (block 866) 1.7 ha. Some smaller blocks lose much more of what they have. Of the 262 blocks with at least 2,000 m² of council-tree shade, 9 lose a quarter or more by 2045. Block 605 in East Melbourne loses 47%, and Melbourne General Cemetery and its streets (block 273) 41%.
Along the streets, St Kilda Road loses the most street-tree shade by 2045: 5,259 m², 10% of its shade now. Then Swanston Street (2,385 m²) and Punt Road (2,170 m²). The single segment losing most is Swanston Street between Elgin Street and College Crescent: 2,117 m².


How it was made in Plotlay
The council publishes each tree as a point with its useful life band, and its canopy as outlines traced from 2021 aerial imagery. Neither says which streets and blocks lose their shade. A point has no shade, and an outline has no years left. One Plotlay project put them together:
- Each tree’s share of the canopy (in Python, before Plotlay): the part of the 2021 outline its trunk stands in that is nearer to it than to any other council tree, within 15 m. That gives 274 ha to 59,440 trees.
- A map on the Geoscience Australia base map and a data layer called Blocks (Data layers, in the Site workspace).
- Pick from a layer, Take all. The council’s census blocks file, with its licence: all 603 blocks in one step, keyed by their block_id.
- Place rows by their position. The trees, as a table with a row for every decade each tree still stands, drop into the block they stand in. The year is the time axis, so the slider steps from 2025 to 2065. The trees again, one row each, show as 82,064 dots.
- Formula columns:
canopy_2025tocanopy_2065(coalesce(sum(canopy_m2, year = 2045), 0)), the shade lost by 2045 and its share, and the trees ending by 2045 (count(end_by <= 2045)). - A second layer, Streets: the 1,809 road corridor segments that hold a council tree, taken the same way and keyed by
seg_id, with the same columns. - A third, Precincts: the 13 census small areas, with roll-up columns adding up the blocks inside each (602 of 603 blocks).
- Colour by the shade standing, divided by the block area, with breaks set by hand; then by the share lost by 2045.
- Export each layer as GeoJSON, TopoJSON for the Power BI Shape Map, CSV with WKT for Azure Maps, the linked tables and a Python starter.



Plotlay’s block totals were checked against the same trees placed in the blocks by GeoPandas: the largest difference for any block is 153.3 m². Nothing here comes from OpenStreetMap, and no imagery was traced.
More about Data layers · Make a data layer of your own · Melbourne pedestrians: footpaths through a day · New York City: twenty years of street trees
Power BI


The same layers and tables as a Power BI Project (.pbip): a Shape Map of the blocks from the TopoJSON with a year slicer, the shade at each decade, the blocks and streets losing most, the species, the precincts, and Azure Maps with every tree. It reads the data straight from the GitHub repository, so it refreshes with no gateway.
The Power BI project is in the plotlay-melbourne-canopy repository on GitHub, with steps to open it in Power BI Desktop.
Python
A narrated Jupyter notebook loads the trees and the three layers with GeoPandas, works out the shade at each decade again, places the trees in the blocks a second way and checks Plotlay’s numbers against it.
Download the notebook (with its outputs) and the data. It is also in the plotlay-melbourne-canopy repository on GitHub.
Read it carefully
- The years left are the council’s ratings, in bands. A tree is taken as gone by the top of its band, counted from 2025, the dataset’s last update (22 September 2025). The dataset does not say when each tree was rated: a tree rated earlier reaches the end of its band sooner. So the dates here are the latest the bands allow.
- Useful life is the council’s measure of a tree’s healthy, safe years, not a removal date. Trees past it are often kept for years, and some go sooner.
- 17,410 trees have no rating (the portal’s number column says 50 for them, which is a fill). They are counted as standing.
- Shade is the 2021 canopy outline. Trees planted since have no measured shade, and newly planted trees (9,275) are given none. A small tree beside a big one shares the outline between them equally, so a block or street total is steadier than any one tree’s figure.
- Canopy over private land, and trees the council does not manage, are left out: 274 ha of the 442 ha of 2021 canopy in the municipality.
- New planting is not counted. This is the shade today’s trees give, not a forecast of the city’s canopy.
Sources and licences
Trees, with species and dimensions (Urban Forest), updated 22 September 2025, and Tree Canopies 2021 (Urban Forest): City of Melbourne Open Data, data.melbourne.vic.gov.au, licensed under CC BY 4.0. Changes: each tree given its share of the 2021 canopy and the year its useful life band ends, counted from 2025.
Blocks and small areas for the Census of Land Use and Employment (CLUE), and road corridors: City of Melbourne Open Data, CC BY 4.0, taken into Plotlay whole and keyed by their own ids. Base map: © Commonwealth of Australia (Geoscience Australia), CC BY 4.0.
Our shapes and tables are CC BY 4.0 and the code is MIT: see the licence files in the data download and the plotlay-melbourne-canopy repository on GitHub. Map: Leaflet. Charts made with Matplotlib. This is independent work using open data, not endorsed by the City of Melbourne.
Put your own points in your own places
Plotlay is free to start: every tool, three cloud projects.
Create free accountThen open Data layers in any map project