Findings · 5 July 2026
How we built the Australian Zoning Atlas
Over the course of a few months, we built a database that shifted hundreds of numbers hundreds of times—all in service of building the first comprehensive account of land use regulation across our country. This is a technical account of the tool that measures, classifies, and compares Australian zoning.
What we’re measuring
The Atlas asks one question of every capital city: what share of its residential land is highly restricted by planning controls? We treat a parcel of land as restricted if it trips any one of four controls:
- it’s capped at two storeys or fewer;
- it’s zoned low-density only;
- it carries a heritage overlay; or
- it permits only a detached house.
A parcel counts as “highly restricted” if any of these apply.
The first problem is what you count over. We use parcels as the main unit of measurement as zoning polygons — the coloured shapes on a planning map — often clip through roads, easements and reserves, so their area is not the area people actually live or build homes on.
The second problem is that Australia has no single zoning dataset. Every state and territory publishes planning data in its own format, each with unique challenges:
Gather zoning and heritage datasets were a simple affair for most capital cities with their state-wide consolidated datasets, but there is one major exception: Brisbane. To create a cohesive picture of the zoning landscape of Greater Brisbane it involved piecing together unique datasets from Brisbane, Redlands, Logan, Morton Bay and Ipswich.
Some cities like Sydney and Adelaide had extensive datasets on planning controls such as height limits, however, most cities did not. For the most part, manual coding of height limits from state/local planning schemes was necessary. Some had standardised controls that made this process easier, but some, like Melbourne for example, we manually coded up over two hundred distinct local variations. And for where there were no clear answers (or the controls were not well documented) then we made conservative assumptions.
To make these comparable we flatten differences down to shared conventions: heights convert to storeys at 3.1 metres per storey, after taking off a one-metre allowance for the roof, rounded down; for the restriction test every heritage listing counts the same, so a Hobart overlay and a Sydney overlay both simply mark a parcel as heritage (the finer gradings are kept elsewhere for detail); and every city is measured out from its own CBD in one-kilometre rings.
In the end, this provides a strong high level picture of how planning systems play out across Australia in regards to 2 or less storey limits, low-density, typology bans and heritage. However, this does not mean this analysis is perfect. We caution that this should only be taken as a high level picture, and that the complexities of planning systems are simplified for the sake of consistent and clear analysis.
The pipeline, in three stages
The build is deliberately split in two languages: the geospatial from-raw work is done in R, one self-contained extractor per capital; everything downstream—combining, deriving, tiling, testing—is done in Python. One orchestrator runs the whole chain end to end.
Stage one: eight extractors. Each city’s extractor reads its raw planning and cadastre data and emits an identical standard table—ring, area, dwellings, storeys, low-density flag, heritage flag, zone category. The “highly restricted” measure is computed here, in exactly one place, so the per-ring summaries and the map geometries work from the same ground truth. Brisbane’s extractor is really five sub-extractors—one per council—merged and joined onto the state cadastre.
Stage two: the combiner. This reads the eight cities’ outputs and builds the canonical set of tables. The load-bearing design decision is that the restriction shares—highly-restricted, low-density, heritage, the height splits—are all derived from one long-form table of per-ring numerators and denominators, rather than computed independently. That means the low-density share you read on a city page and the low-density figure behind a map are the same number by construction—they cannot disagree, because they come from the same source. The combiner also pads each city out to its own edge (Sydney reaches 140 kilometres from the CBD; Darwin, 30) and runs its stages concurrently in dependency order.
Stage three: derived outputs and maps. From the canonical tables we roll up population and dwellings by ring, per-parcel lot counts and median sizes, per-suburb and per-council rankings, the zone classification that colours the detailed map, the reform-uplift model, and the map tiles themselves.
The maps deserve their own note. Every parcel is rendered as its own map feature—across more than a dozen layers per city—converted to a compact vector-tile format and served as a single bundle from cloud storage that browsers read a viewport at a time. At full fidelity that bundle runs to about a gigabyte.
The judgement calls
In order to make an analysis work, we need to make assumptions. Here are some of the major ones underpinning the Atlas:
- Unknown heights count conservatively. A parcel with no published height limit stays in the denominator but never enters the restricted numerator. Where we’re unsure, we under-count restriction—never over-count it.
- Discretionary and mandatory controls are treated the same. In order to have comparable measures between systems, we’ve treated the stated discretionary standard as the intended “limit”.
- Cumulative shares add the parts, not the percentages. To get the figure for “within five kilometres,” we sum the restricted area and the total area across those rings and then divide—we never average five ring percentages, which would quietly give the wrong answer.
- Heritage is flattened, deliberately. All gradings become a single local-heritage flag so cross-city comparisons are apples to apples; where a state publishes less heritage detail than another, the comparison is conservative rather than invented.
Where it landed
The current release is a maturity milestone rather than a new measurement—the same numbers as the last candidate, promoted to a stable, dated version. The scoreboard, measured on each city’s contiguous urban footprint:
| City | Residential land | Highly restricted |
|---|---|---|
| Sydney | 1,006 km² | 85.2% |
| Melbourne | 1,500 km² | 49.5% |
| Brisbane | 788 km² | 84.3% |
| Perth | 657 km² | 88.6% |
| Adelaide | 372 km² | 88.1% |
| Hobart | 96 km² | 97.2% |
| Canberra | 111 km² | 76.0% |
| Darwin | 27 km² | 88.4% |
Behind those eight rows sit roughly 4,557 square kilometres of residential land, 137 councils, more than 2,300 suburbs, a parcel-by-parcel map of all eight capitals.