Where are the most roads: in the city or the bush?

Australia’s a big country. You can drive forever down long, dirt roads. It’s also highly urbanized. More than 85% of the population lives within 50 km of the coast, and coastal cities have huge networks of busy freeways, highways and residential roads.

Which leads to the question: are there more roads in the city or in the bush? More precisely: is the total length of roads in all the cities and towns more or less than the total length of all the roads that run between the cities and towns?

If that question is too simple, let’s make it a bit harder by asking: by how much? Is the total length of roads in either the city or bush twice as long or 10 times as long or perhaps 100 times as long as the other group of roads?

I can’t answer those questions for all of Australia but we can for New South Wales (NSW), which is the 5th largest Australian state and the largest by population. The patterns in NSW suggest likely answers for the rest of Australia too. So let’s hop to it and examine city and country roads in NSW using the fantastic database called OpenStreetMap.

Some terms

For simplicity I use the term ‘cities and towns’ to refer to all human settlements in NSW, from the smallest country towns (or hamlets and villages) to the capital city, Sydney. (The methods section at the end of this post provides more details.) ‘The bush’ refers to everything between all the mapped cities and towns.

‘City and town roads’ include all roads that are within cities and towns (including roads in the smallest country towns) and ‘bush roads’ include all the roads that lie between the cities and towns. In densely settled areas near the coast, the term ‘connecting roads’ is often more appropriate than ‘bush roads’ but, for simplicity, I’ve used the one term for the entire state and all roads that lie between mapped cities and towns are termed ‘bush roads’, including major highways.

Map 1. A selection of town boundaries (red lines) constructed to estimate the area of all townships and to calculate the length of roads in cities and towns. Click on any image in this post for a larger view.

OpenStreetMap holds excellent data on Australian roads and the location of human settlements. It doesn’t show the boundary of each city or town (i.e. where each town starts and ends) as it’s a pretty nebulous concept, but we can draw a pretty good border around each city and town using OpenStreetMap’s landuse data and related features, as shown in Map 1 above.

With this information, we can add up the total length of roads in all the cities and towns, and the total length of bush roads between the cities and towns, and work out where the most roads lie, in the city or the bush.

A big country

Let’s start with the cities. The first finding is super obvious: compared to the bush, cities and towns are pretty small (or, more accurately, the bush is really big). Pooled together, all cities and towns occupy less than 1% of the total area of NSW. In fact, if you arranged them all into one big square, that square would be just 72 km x 72 km in size or about 5,200 sq km in area (Map 2). The four biggest cities (greater Sydney, Newcastle, Gosford-Wyong and Wollongong-Shellharbour) take up nearly half of that area.

Map 2. Cities and towns (yellow) occupy a very small part of NSW. The orange square (72 km x 72 km in size) shows the area that all of the cities and towns would occupy if they were packed together. Click on any image for a larger view.

City roads

Cities and towns may look small when compared against the countryside but, as every commuter knows, they have extremely dense road networks. As you’d guess, the longest road networks are in the biggest cities.

Table 1. The area and total length of roads in the 5 largest cities in NSW. These 5 cities also have the longest road networks.

CityArea (sq km)Road length (km)% City roads
Greater Sydney1,85217,28943%
Newcastle2512,0265%
Gosford-Wyong2261,6974%
Wollongong-Shellharbour1771,5484%
Maitland705761%
All NSW cities & towns5,18940,721100%
The area of each city is derived from landuse data in OpenStreetMap and does not refer to the administrative boundary of each city. See methods below. Data © OpenStreetMap Contributors, accessed on Jan 5th, 2023.

The greater Sydney region dwarfs all other cities. By area, it occupies over 1,800 square kilometers, which is more than a third of the combined area of all towns and cities in NSW. The road network in the greater Sydney area is over 17,000 km long, and includes 43% of all city and town roads in NSW (Table 1).

Yellow boundary is derived from OpenStreetMap data and does not correspond to official, administrative units. Image shows only the large, central polygon that covers the greater Sydney area. Other smaller urban areas and roads surrounding this large polygon are not shown.

Map 3. The greater Sydney region contains more than 17,000 km of roads. This is by far the longest urban road network in NSW.

As the crow flies, the distance from the far western to the far eastern tip of Australia is about 4,000 km. The total length of roads in all towns and cities in NSW is nearly 41,000 km (Table 1). So if you drove every road in every city and town in NSW, you’d drive about the same distance as if you flew (on a crow) across Australia 10 times. For what it’s worth, that’s about a tenth of the way to the moon.

Bush roads

As you drive west across NSW, the density of roads declines dramatically. If we break NSW into three large zones (as in Map 4), the density of bush roads declines from 43 km of roads in every 100 square kilometers (sq km) along the east coast to just 7 km of roads in every 100 sq km in the far west. (Note that I’ve excluded all the roads inside cities and towns here, and these numbers and the map below show the density of roads that lie between all the cities and towns.)

Map 4. The density of ‘bush roads’ (or ‘connecting roads’, i.e. the roads that lie between all cities and towns) declines greatly as you head west across NSW. This map does not show any roads within city and town boundaries.

There are nearly 169,000 km of bush roads in NSW (again, this number excludes roads in all the cities and towns). If you drove them all, you’d drive about the same distance as you would if you: (a) flew on a crow across Australia 40 times, (b) took just under ten 20-hour flights from Sydney to London, or (c) flew nearly half way to the moon.

Table 2. The length and density of bush roads in three zones across NSW. Roads in towns and cities are not included in this table.

RegionArea (sq km)Road length (km)Road density (km/100 sq km)
West361,80125,5177
Central351,189105,20630
East88,20038,05243
All NSW801,191168,77521
Data source © OpenStreetMap Contributors, accessed on Jan 5th, 2023.

We can now answer our two big questions: are there more roads in the city or the bush in NSW? Obviously, the bush wins. The answer to the question, “by how much?” is more interesting. In NSW, the total length of bush roads (i.e. the roads between all the cities and towns) is 4.2 times as long as the total length of city roads. Did you get both answers right?

Paved or dirt?

Here’s one more set of numbers for your next trivia game. If you only drive on bush roads, between the cities and towns, how often would you cruise down a sealed road and how often would you have to bump along on dirt? (This stat actually is important. It keeps the National Party in business.)

The contrast between bush roads and city and town roads is stark (Table 3). In the cities and towns, 97-98% of the length of all roads is sealed. But out in the bush between the towns, that drops to just 41% sealed. It’s worst out west. In the western region (see Map 4), only a quarter of bush roads (26%) are sealed .

Table 3. The proportion of bush roads and city and town roads that are sealed and unsealed.

Road surfaceCityBush
Sealed97%41%
Unsealed2%59%
Unknown1%0.1%
Total100%100%
Unknown indicates roads with no surface data in OpenStreetMap. Nearly all of those in cities will be paved. Data source © OpenStreetMap Contributors, accessed on Jan 5th, 2023.

Even though lots of bush roads are unsealed, the total length of sealed roads in the bush is actually much longer than the total length of sealed roads in the city. There’s nearly 70,000 km of sealed roads in the bush versus nearly 40,000 km in cities and towns. So, while there’s a lot more dirt roads between the country towns, there’s still more sealed roads there than in all the cities and towns combined.

Your trivia questions answered

So there you have it. You’ve gained four new facts for your next game of road-trip trivia.

  • The total length of bush roads in NSW is more than four times greater than the total length of all roads in cities and towns.
  • Nearly all roads in cities and towns are sealed (97-98%) while most bush roads are unsealed (59%).
  • However, there are still far more sealed roads in the bush than in cities and towns (nearly 70,000 km vs 40,000 km).
  • And, not surprisingly, there’s a heap more unsealed roads in the bush too. The total length of unsealed roads in the bush is a whopping 144 times greater than in towns and cities.
  • So how come there’s so many 4WDs in Sydney?

Acknowledgements

I hope you enjoyed this post. All maps and tables were created using the comprehensive data in OpenStreetMap. It’s an honour to acknowledge the thousands of editors who have compiled this amazing resource.


Data and Methods

All data were downloaded from OpenStreetMap (OSM) in January 2023. I used QGIS for all analyses. OSM holds comprehensive, accurate data on NSW roads. Data for the following road classes were downloaded on Jan 5, 2023 using Overpass Turbo: highway = motorway, trunk, primary, secondary, tertiary, unclassified, residential, plus all link roads (highway = primary_link etc). Highway=service and highway=track were excluded so analyses do not include laneways (service=alley) or tracks in forests and elsewhere (highway = track). I collapsed OSM’s detailed information on road surface types (surface=paved, asphalt, unpaved, gravel, etc.) into two broad categories: sealed and unsealed.

Township boundaries

For brevity, I use the term ‘townships’ here to include all settlements, as created by the process described below. Township boundaries are arbitrary lines drawn around human settlements to distinguish, for the purposes of this post, areas and roads that are inside and outside of mapped settlements. ‘City and town roads’ are inside the boundaries and ‘bush roads’ lay outside. The boundaries are intended to be viewed at the scale of an entire township or above and are not intended as finely detailed representations at high zoom levels. The broad process was as follows:

  1. I created a short list of OSM tags that encompasses the bulk of the area inside many human settlements in NSW. These data were then downloaded from OSM and analysed in QGIS.
  2. Nearby features (e.g. residential and commercial areas, football ovals, etc) were joined and holes inside joined features were filled using buffering and hole filling tools.
  3. I added a narrow buffer around the outside of all created polygons so that roads on the outer edge of townships could be assessed as ‘city and town roads’.
  4. Finally, I deleted all created polygons that did not contain residential areas.

Thus, a ‘township’ comprises the merged outline created from the features listed in the Overpass Turbo query below. These outlines were then filtered so that only those outlines that contained residential areas were retained. It is important to reiterate that the created boundaries do not in any way represent formal, government, administrative boundaries (except by coincidence).

The outcome of the process is illustrated in the animated gif at the top of this post. Note that the process was implemented across the entire NSW dataset, not across separate towns one-by-one.

Step 1. Selection of OSM features to use

I first ran a series of trials on selected cities and towns to create a short-list of features that occupied the bulk of most township areas. These features are listed in the Overpass query below. Two points:

  • The downloaded data do not have to occupy the entire township area as gaps between polygons are filled by buffering.
  • The outer boundaries of large cities (Sydney, Melbourne, etc.) can probably be estimated using very few features (landuse=residential plus landuse=industrial at a minimum) and by then infilling internal gaps. Many more features are required to provide credible boundaries around smaller townships. The query below worked well for creating a useful boundary for inspected towns.
Overpass query

Landuse and related features were downloaded from OpenStreetMap using the Overpass Turbo query below. I used a statewide query rather than a boundary box query (which is shown below), but the query below works well if you want to look at landuses in a specific town. You can run the query directly from this link.

// SELECTED URBAN LANDUSE AND RELATED FEATURES
// Collectively, these features work well to delineate the approximate boundaries of human settlements in Australia.
// Red = residential areas, BLUE = all other features

[out:json][timeout:60];  
(  
wr["landuse"~"residential|retail|commercial|education|religious|industrial|construction|railway|recreation_ground|cemetery|grass"]["industrial"!="mine"]({{bbox}});   
wr["leisure"~"park|sports_centre|recreation_ground|stadium|pitch|golf_course"]({{bbox}});  
wr["amenity"~"hospital|school|college|university|parking"]({{bbox}}); 
wr["tourism"~"caravan_site|camp_site"]({{bbox}});
wr["aeroway"="aerodrome"]({{bbox}});
); 

out body; 
>; 
out skel qt;

{{style:  
/* BLUE = all features except residential */ 
area{color: blue; fill-color: blue; width:1; opacity:1}
/* RED = residential landuse */  
area[landuse=residential]
 {color:red; fill-color: red; width:1; opacity:1}  
}}
Step 2. Buffering and gap filling

I intentionally used a very wide buffer (250 m) to merge adjacent landuse features. As a consequence, all OSM features within 500 m of an adjacent feature were merged into a composite polygon. All holes inside a composite polygon were then filled. Thus, every ‘township’ includes all places inside the outer boundary (including any enclosed lakes, etc.).

The buffering process added 250 m to the outside of the merged, composite polygon. I removed 250 m from the outer edges of the composite polygon to bring it back to the size of the original OSM dataset. Finally, I added a 50 m buffer to the outside of the composite polygon so that all roads on the outer edge of each town were interpreted as ‘city and town roads’.

The wide initial buffer (250 m) had two advantages over a narrow buffer. First, it creates a more generalized boundary around the outside of townships. Not all landuses are mapped in OSM, and boundaries that weave in and out of small vacant lots are unnecessarily precise for the purposes required here. Wide buffers also joined nearby polygons into one large polygon, so that the bulk of each township was contained inside a single polygon rather than being spread across many, nearby polygons.

Step 3. Remove outlier non-residential polygons

Most of the features downloaded from OSM can exist within and outside of townships (e.g. industrial areas, caravan parks, golf courses). I removed OSM features that were most likely to lie outside of township areas using a simple procedure. All composite polygons that contained a residential area (landuse=residential) were interpreted as being part of a human settlement (hamlet, town, city, etc.) and all composite polygons that did not contain a residential area were assumed to be out-of-town and were deleted.

These steps created a statewide dataset of township boundaries. I then clipped the road data into two subsets using the township boundaries and calculated the length of ‘bush roads’ (roads that run between the cities and towns) and ‘city and town roads’ (roads inside town boundaries). The three zones in Map 4 were drawn by hand based on the visual patterns in road density.

Caveats

The most important assumption is that OpenStreetMap contains reasonably good data on landuse and related features in cities and towns across NSW. This appears to be the case from my inspections (I also added data to OSM to fill some holes), but the data is far from perfect. Residential landuse polygons do not exist in many small settlements so these areas are not included in the analyses. However, because they are small their absence will have little influence on the results.

Different buffering and hole filling settings will alter the boundaries created and, as a consequence, will influence estimates of the length of bush roads versus city and town roads. However, the impact on the state-wide results is likely to be small for two reasons. (1) Within townships, road density tends to be greatest in central and residential areas, so the inclusion or exclusion of extra land on town outskirts has a small impact on the length of roads contained within cities and towns. The effect may be noticeable at the town scale while being marginal at the state scale. (2) The pooled area of all cities and towns is small compared to the size of NSW, so tweaks to city boundaries will have little impact on the overall results, especially given that the results are dominated by the largest cities. In the big scheme of things, ongoing suburban expansion in western Sydney and coastal areas overwhelms all small changes elsewhere in the state.

These caveats aside, I suggest that all results be interpreted broadly, given that all estimates of city and town boundaries are arbitrary. For example, a prudent interpretation would be that the pooled area of cities and towns in NSW exceeds 800,000 sq km, rather than the pooled area is exactly 801,191 sq km, as is listed in Table 2.

I hope you enjoyed this post.

Related posts

One thought on “Where are the most roads: in the city or the bush?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s