Why population is mapped in hexagons, and how to read a heat map of people
Population grids use small hexagons instead of districts or squares. What an H3 hexagon is, why it is used, and how to read a heat map of residents without fooling yourself.
Population is mapped in hexagons because a grid of equal, small hexagons lets you count people anywhere without depending on district boundaries that differ in size from one city to the next. Each hexagon holds the number of people living in it; a heat map simply colours them, darker where more people live. To read one well, remember that every cell is the same size, that colour means residents and not activity, and that the scale of the colours decides what stands out.
This article is for anyone who has opened a heat map of a city and wondered what exactly they are looking at: planners, analysts, marketers, people preparing a site report. It explains the grid in plain words, shows what a heat map can and cannot tell you, and how to make one for your own area.
What the hexagon grid is
Imagine laying a honeycomb over the whole planet. Every cell has a fixed size and a code, and a cell in Cairo is the same size as one in Vancouver. xMap's population grid uses the H3 system at its ninth level of detail, where each hexagon covers about 0.1 km². Each cell carries an index such as 8943a020083ffff, which is how software knows exactly which piece of ground it is.
For every cell the grid stores how many people live there, how many are men and women, and how many fall into each of nine age bands. When you ask about a circle or a district, the Demographics block adds up the cells inside it.
Why hexagons and not squares
- Every neighbour is the same distance away. A square touches four cells along its sides and four more only at the corners, so "next door" is ambiguous. A hexagon has six neighbours, all equally close.
- They tile without gaps, so nobody is counted twice or left out at the edges.
- They look like what they are. Clusters of hexagons trace the real shape of a neighbourhood more naturally than blocky squares.
Why not districts or postcodes
Official districts are drawn for administration, not analysis. One may hold a few hundred people, the next a hundred thousand. A big district looks crowded on a map simply because it is big, and redrawing the boundaries can change the story without a single person moving. Equal cells avoid that: a dark cell is dense because many people live in that small patch, not because the patch is large.
How to read a heat map of people
When you put every hexagon on a map and switch to the heat view, the colour of each spot is weighted by how many people live there. A few habits help.
- Find the legend or the scale first. Strong colour means relatively many people, compared with the other cells on this map, not a fixed number.
- Look for clusters, not single cells. One dark hexagon may be a large apartment block; a run of them is a neighbourhood.
- Notice the blanks. Pale or empty areas are often parks, water, rail yards, airports or industrial land, where few people live.
- Remember what is missing. Offices, malls and stations look pale because they have few residents, however busy they are by day.
- Zoom to the scale of the decision. For a corner shop, look at a few hundred metres; for a hospital, the whole city.
An example from Bangkok
Suppose a delivery start-up in Bangkok wants to see where people are packed most tightly before choosing a small warehouse. It draws the districts it could serve, asks for every hexagon, and puts them on a map. The heat view shows a dark band along the older neighbourhoods near the river, paler stretches over the business district and a large blank over a park. This is a made-up reading, but it is typical of what the first look shows: the darkest band is where a short delivery radius reaches the most homes.
The next step is to turn the picture into numbers. Instead of every hexagon, ask for Totals for each area over a few candidate circles, and compare residents and people_per_km2 in a table. Maps help you find candidates; tables help you choose between them.
Making your own heat map
In xMap Flows a heat map of residents takes four blocks:
- Area of interest: draw the district or pick a city.
- Demographics with Give back set to Every hexagon. Each hexagon becomes an item with its index (h3_cell), its centre, its people and its age bands, up to 5,000 a run.
- Show on a map, which draws up to 2,000 of them; its heat view is weighted by population.
- Optionally Sort and limit to keep only the most crowded cells, or an Email with the map.
An area bigger than one search is read in parts of about 170 km², so for a whole metropolis draw the part you need rather than asking for the entire region. The template Where the concert crowd lives, for ad targeting builds a map like this for a venue, and Where my workers live, for shift buses does it for a factory.
Questions
What does H3 mean?
It is a worldwide system of hexagonal cells at several levels of detail. Population figures here use level 9, where each cell is about 0.1 km².
Why are some parts of the city blank on the heat map?
Few people live there: parks, water, airports, industrial land, or districts of offices and shops. Blank can also mean the country is not covered.
Can I compare heat maps of two cities?
Not by colour alone, because each map is coloured on its own scale. Compare numbers instead, such as residents per km² in areas of the same size.
How many hexagons can one run return?
Up to 5,000 hexagons a run; a map shows up to 2,000 of them.
Templates that do this
Read next
More on population and demographics · Every article · Templates