Tree Data
Tree coverage
Note: to see how the data is constructed, see the documentation and the GitHub repository.
Insert Lit Review here
How does your suburb compare?
Note: you can adjust the distance slider from both directions to remove distanct surburbs!
Coverage of streets, parks and residential areas
This section breaks down total coverage into its component parts.
Public is defined as PPRZ, PCRZ.
Resi is all residential zones (neighbourhood residential, general, low density etc)
Streets are defined as per the model documentation.
Other is all other dwellings.
The plot below is a stacked bar chart which displays both the total coverage of streets, parks and residential areas for each LGA, as well as displaying how the total coverage is split between its three components.
Similar to the plot above, the graphic below is scaled to 100%, which allows us to see how the different land types compose the coverage of each LGA.
Who has the leafiest streets?
Interactions with Missing Middle
YM recently released Housing Targets, a data-driven model which allocates housing targets by council.
This page calculates how much tree cover might be lost in the upzoning of residential lots, and then calculating how to offset this loss by increasing coverage of street trees
Zoning
This section breaks down canopy coverage by zone type. As expected, low density residential and civic land (generally parks) top the list. Since the sample is restricted to only LGAs analysed in the Housing Targets Report, there are no greenfield units.
There is a lot of variance among zones. The below box plots uses SA2s as units of observation.
Relationships & Additional Plots
This section shows the interaction between public tree coverage and the cost of living in an area, depicted by both detached house prices, the prices of units, and median rents. Public tree coverage is defined as:
\[ \text{Public tree coverage} = \frac{\text{area of streets covered by trees + area of parks covered by trees}}{\text{area of streets + area of parks}} \]
Data Note: Rents are using ABS data, which is only available in ranges. Therefore, median rents are defined as whatever bin the median observation falls into. Also note that the Census was in 2021, and therefore rents may be impacted by COVID, and may have changed since. This possibly explains the low rent numbers observed.
House & unit prices are from Neoval.
The above figure displays the relationship between house prices and public tree coverage. There is a tangible correlation between the two variables as SA2s with higher house prices tend to have more public tree coverage. This is not a statement of causation, merely correlation.
The data is further split into two groups: SA2s within 15 kilometres of the city, and SA2s outside the 15km range. This split reveals two distinct spatial patterns.
For ‘inner’ SA2s, the relationship is much steeper. For outer SA2s, the slope of a best fit line is much shallower.
When looking at unit prices instead of detached homes, a positive pattern remains. However, the divergence between SA2s within 15km and outside of 15km does not seem to replicate in unit prices.
Warning: Removed 143 rows containing non-finite outside the scale range
(`stat_boxplot()`).
The graph above displays the relationship between median rents and public tree coverage. It is not possible to fit a line of best fit, given the categorical nature of rents.
A slight relationship is clear, as median public coverage is increasing with median rents until median rents hit 500. After the ‘500-524’ band, public coverage drops and the relationship no longer holds, although this is mostly due to expensive regions located close to the CBD such as Carlton and Fitzroy.
SEIFA Scores
Shown below is the relationship between SEIFA scores against public tree coverage. SEIFA scores indicate how disadvantaged one area is compared to others, with a composite index of wealth, education and other variables, calculated by the ABS using Census data.
Interestingly, the relationship is nearly linear when public tree coverage percentage is logged. This indicates diminishing marginal returns to tree coverage, in terms of SEIFA scores.
<- ggplot(seifa_sa2, mapping = aes(x = seifa_score, y = log(public_percentage))) +
seifa_log_plot geom_point(color = "#006D2C") +
xlab('SEIFA Score') +
ylab('Log Tree Coverage of Public Areas (%)') +
labs(title = "SEIFA Scores against Log Public Tree Coverage") +
theme_minimal()
ggplotly(seifa_log_plot)
International Comparisons
The plot below shows how Melbourne compares to other international examples. It follows methodology displayed documentation. It displays how coverage changes as distance from the centre increases. Vienna is a clear winner, followed by Sydney and Paris. It is also worth noting that only a 20km by 20km box around the centre was computed for each city, hence these statistics focus on the inner core of cities.
Note: this is using LOESS smoothing, as the scatter or line plots have significant variance. Grey bands denote a 95% confidence interval.
Urban heat island
For a bit of fun
Which suburbs are mostly streets?
Note: see the documentation to learn how I define a ‘street’.