Plotlay

Showcase · Data layers · City of Melbourne open data

How much footpath does each person get?

At 8 am on a weekday, 2,598 people an hour walk past the sensor outside Southern Cross Station, on a footpath 4.4 m wide. Walking at 1.2 m/s, that is about 7.3 m² each, just over half a car space. At the weekend's busiest hour the same footpath carries 207 people an hour, so each person has about 92 m².

Map of central Melbourne with 53 footpath zones coloured by the space each person has at the busiest weekday hour, darkest where it is tightest. Southern Cross Station and Town Hall are called out.
Space each person has at each footpath's busiest weekday hour. The zones are drawn wider than they are so they show at this scale.
Open in PlotlayThe 53 footpaths, coloured, with the hour slider. No account needed.The dataZones (GeoJSON, TopoJSON, WKT) and hourly tables, CC BY 4.0Data, notebook and Power BI files on GitHubThe plotlay-melbourne-pedestrians repository

The city breathes

Add the 53 sensors together and the city breathes in and out. On an average weekday they count 1,051 people an hour at 4 am, and 67,022 at 5 pm: 64 times as many. Weekends start later and stay out later: at midnight the sensors count 3.1 times as many people as on a weekday. In 25 of the 53 footpaths the busiest weekday hour is 5 pm.

An average weekday from 4 am round to 4 am: people an hour on each metre of footpath width.
7.3 m²Southern Cross Station, 8 am weekdays
10.4 m²Town Hall (West), 1 pm weekdays
16.2 m²Median of 51 footpaths, weekdays
13 m²A car space, for scale

The map

Every footpath zone, coloured by people an hour on each metre of its width, for the hour on the slider. Switch between weekdays and weekends, or press Play to watch the day go round. Hover over a footpath, or tap it on a phone, for its numbers and its day as a small chart. Grey zones are not compared: their outline could not be checked against what the sensor counts.

5 pm

Weekday city, weekend city

Divide a weekend day by a weekday and the city splits in two. At Southern Cross Station a weekend day brings 0.16 of a weekday's walkers: 2,610 against 16,313. On Lygon St in Carlton it is the other way round, 1.58 times a weekday, and both days are busiest at 8 pm. 31 of the 51 compared footpaths are busier at the weekend. The commuter footpaths are the business end of the city: Collins Place (0.38) and La Trobe and William (0.53). The weekend ones are where people eat and shop: Chinatown on Little Bourke St (1.56), and the Queen Victoria Market at Peel St (1.49).

Map of the footpath zones coloured by weekend over weekday, orange for weekday footpaths and purple for weekend ones, with the day's shape at Southern Cross Station and Lygon St.
Orange footpaths are busier on weekdays, purple ones at the weekend.
Heatmap of every compared footpath by hour, weekdays beside weekends, sorted from commuter footpaths at the top to weekend footpaths at the bottom.
Every footpath, every hour. Commuter footpaths light up at 8 am and 5 pm on weekdays; weekend footpaths fill in the afternoon and evening.

The busiest days

Counted across the zoned sensors, the busiest day of the year was Saturday 7 March 2026, with 1,003,937 passes, 24% more than the median Saturday (810,796). The next two were Sunday 8 March 2026 and Friday 6 March 2026, and Thursday 5 March was fifth: the days leading into the Labour Day long weekend. The public holiday itself, Monday 9 March, was quieter (748,606). The counts don't say why those days were busy.

These are real changes, not changes in the counting. All 53 sensors were in place before the 12 months began. The two busiest days had all 53 reporting all 24 hours; the Friday had 52 and the Thursday 51. A sensor that missed an hour is left out of that day, so those two totals are, if anything, low. Only days when at least 51 sensors reported in full are compared (225 days). No sensor shows a step that would mean it moved. The two with the biggest swings follow the calendar: Southern Cross Station is quieter over the summer holidays, and RMIT's Building 80 follows the university semester.

How it was made in Plotlay

The council publishes each sensor as a point with its hourly counts. It also publishes its footpaths as outlines, but not which footpath each sensor counts. Without a shape there is no width, so a count can't become a crowd. One Plotlay project did it:

  1. A map on the Geoscience Australia base map and a data layer called Footpaths (Data layers, in the Site workspace).
  2. Pick from a layer. The City of Melbourne's footpaths file, with its licence: one click takes the footpath under it. 52 zones were made this way.
  3. A strip for Princes Bridge, where the council splits the footpath into a 127 m² piece at the abutment and the bridge span. A line along the bridge at the span's width, 5.0 m, gives 618 m².
  4. Join by coordinates. The sensor locations, linked from the council's open data portal, drop into the zone they sit in. Sensors on building walls sit up to 10.8 m from their footpath, so rows within 12 m of a zone go to the nearest one. Every one of them is more than 100 m from any other zone.
  5. Key the shapes by a column. Each zone takes its sensor's id, so the portal's tables keyed by that id link straight on.
  6. Link by address, with Refresh. The average people in each hour of the day for weekdays and for weekends, worked out by the portal's API. The hour is the time axis, and the slider loops through it.
  7. Formula columns: the width from the area and edge, the weekend over the weekday, and the space each person has at the busiest hour.
  8. Colour by people an hour divided by the width, with breaks set by hand. Show in 3D raises each footpath by its value.
  9. Summarise on the way in. The portal's whole hourly file, 1,629,587 rows, grouped by day in seconds, for the busiest days.
  10. Export GeoJSON, TopoJSON for the Power BI Shape Map, CSV with WKT for Azure Maps, every linked table and a Python starter.
Plotlay picking footpaths from the City of Melbourne footpaths file: the council's outlines shown faintly, the picked ones in the data layer.
Picking footpaths from the council's layer.
Plotlay with the footpaths coloured by people an hour per metre of width at 5 pm on a weekday, with the legend and the hour slider.
5 pm on a weekday, with the legend and the hour slider.
A 3D render of the CBD footpath zones, each raised by people an hour per metre of width at 5 pm on a weekday, in afternoon sun with shadows. The height is the value, not a building.
Show in 3D, then Render: each footpath raised by people an hour per metre of width at 5 pm on a weekday, the sun at 4 pm on 20 March. The height is the value, not a building.

Every zone was checked at full size against the council's footpaths, building footprints and road corridors: 49 fine, 2 adjusted, 2 that could not be verified. 4 sensors have no zone: two in the Flinders Walk underpass, one in the Convention Centre forecourt, and one whose position falls inside a city block. Zones that could not be verified stay on the map but are left out of medians and rankings. Nothing here comes from OpenStreetMap, and no imagery was traced.

More about Data layers · Make a data layer of your own · Sydney schools: ground per student · Kerbside parking through a day: the same streets for cars

Power BI

Power BI report page for 5 pm on a weekday: a Shape Map of the compared footpaths on the city streets, darker where busier for their width, with hour and day slicers, cards reading 67K people an hour across all sensors, a median of 18.6 m² each at that hour and 16.2 m² at each footpath's busiest hour, and the 8 busiest footpaths for their width, Spencer St and Collins St first at 534 people an hour per metre.
In Power BI Desktop, from the repo’s .pbip: 5 pm on a weekday, the map, the cards and the 8 busiest footpaths for their width.
Power BI report page: a weekend day divided by a weekday for the 51 compared footpaths, Lygon St (West) highest at 1.58, beside people an hour through the day at Southern Cross Station, with weekday peaks at 8 am and 5 pm, and at Lygon St (West), busier at weekends into the evening.
In Power BI Desktop, from the repo’s .pbip: weekday city, weekend city. Southern Cross peaks with the commute; Lygon St fills at weekends.

The same zones and tables as a Power BI Project (.pbip). It has a Shape Map from the TopoJSON and Azure Maps from the GeoJSON. Hour and day slicers sit above them, and a scatter chart with a play axis on the hour moves every footpath through the day. The DAX measures cover people an hour per metre of width, space each and weekend over weekday, with the Plotlay theme. It reads the data straight from the GitHub repository, so it refreshes with no gateway.

The Power BI project is in the plotlay-melbourne-pedestrians repository on GitHub, with steps to open it in Power BI Desktop.

Python

A narrated Jupyter notebook loads the zones with GeoPandas, works out each footpath's width again from its area and edge, and checks it a second way. It recomputes every number on this page from the hourly and daily tables.

Download the notebook (with its outputs) and the data. It is also in the plotlay-melbourne-pedestrians repository on GitHub.

Read it carefully

Sources and licences

Pedestrian counts (Pedestrian Counting System, counts per hour) and sensor locations: City of Melbourne Open Data, data.melbourne.vic.gov.au, licensed under CC BY 4.0. Changes: averaged by hour of the day for weekdays and weekends, and added up by day.

Footpaths, 2023 building footprints and road corridors: City of Melbourne Open Data, CC BY 4.0. The footpath zones are the council's footpath outlines picked in Plotlay, and one strip along a council footpath. Base map: © Commonwealth of Australia (Geoscience Australia), CC BY 4.0.

Our zones and tables are CC BY 4.0 and the code is MIT: see the licence files in the data download and the plotlay-melbourne-pedestrians repository on GitHub. Map: Leaflet. This is independent work using open data, not endorsed by the City of Melbourne.

Make shapes for your own data

Plotlay is free to start: every tool, three cloud projects.

Create free accountThen open Data layers in any map project