Back to Blog

Adding a Heat Map Layer to the Azure Maps Visual in Power BI - When It Helps and When It Misleads

August 16, 20267 min readMichael Ridland

There is a particular moment in a lot of client workshops where someone points at a map full of overlapping dots and says "I can't tell where the busy areas are". They are right. A scatter of individual points across a map of Australia turns into a solid blob over Sydney, Melbourne and Brisbane and tells you almost nothing about relative intensity. That is exactly the problem the heat map layer in the Azure Maps visual is built to solve.

The heat map layer is one of the layer types the Azure Maps visual gives you, and it is genuinely useful for the right question. It is also easy to reach for when it is the wrong tool, and easy to configure in a way that makes it lie to you. I have used it on real reports, retail catchments, incident density, service coverage, so this is the honest guide to when it earns its place. Microsoft's documentation on adding a heat map layer covers the mechanics. I want to cover the judgement.

What a heat map layer is actually for

A heat map answers one question well: where is activity concentrated. It renders your data points as a smooth gradient of intensity, so dense clusters glow hot and sparse areas fade cool, and the eye reads the pattern instantly without counting anything.

That is a different question from "where exactly is each thing", which is what a bubble or point layer answers. If a stakeholder needs to see individual sites and their exact values, a heat map is the wrong choice, it deliberately blurs the individual to show the aggregate. But if the question is "which parts of the city have the highest customer density" or "where do our incidents cluster", a heat map communicates that far faster than any number of dots or a table of postcodes.

The classic good fit is anything where the pattern matters more than the individual record. Foot traffic, delivery density, where support calls come from, where your customers actually live versus where you assumed they did. On one retail project the heat map immediately showed a concentration of online customers in a suburb with no physical store nearby, which turned into a genuine conversation about where to open next. A table of postcodes would have buried that.

Getting the layer on the map

The mechanics are refreshingly simple once you have the Azure Maps visual on the page with geographic data in it. You add the heat map layer through the visual's formatting options, and it renders from the same location data you have already supplied. If your data is geocoding correctly for a bubble layer, it will heat map correctly too.

The one field decision worth thinking about is whether to weight the heat map by a measure or just by point count. By default the heat map treats every point equally, so density is purely about how many records fall in an area. Often that is what you want. But you can weight it by a value instead, so a single high-revenue customer contributes more heat than several small ones. Which you choose changes the story completely. Unweighted answers "where are there lots of them". Weighted answers "where is the value concentrated". Be deliberate, because a viewer cannot tell which one they are looking at, and the two can point in opposite directions.

The settings that make or break it

Here is where people get burned. The heat map layer has a handful of controls, radius, intensity, opacity, and the colour gradient, and the defaults will not suit every dataset. Get these wrong and you produce a map that looks authoritative and is quietly misleading.

Radius is the big one. It controls how far each point's heat spreads. Set it too large and everything blends into one warm smear where nothing stands out. Set it too small and you get isolated pinpricks that lose the whole density-mapping benefit. The right radius depends on your zoom level and how spread out your data is, and it genuinely needs tuning by eye. I always adjust it while looking at the actual data at the zoom level people will use, not the default view.

The subtle trap with radius is that it does not adapt as the user zooms. A radius tuned for a state-level view looks completely wrong zoomed into a single city. If your users will pan and zoom a lot, test the heat map at the zoom levels they will actually use, because a heat map that looks perfect at one zoom can be useless at another.

Intensity and opacity control how strong and how see-through the heat is. Crank intensity too high and the whole map reads as maximum-hot, which flattens the very contrast you are trying to show. Keep some transparency so the base map stays visible underneath, because a heat map floating over a blank background loses the geographic context that makes it meaningful in the first place.

Where it will mislead you if you let it

I like the heat map layer and I will still warn you off it in the wrong hands, because it is one of the easier visuals to accidentally lie with.

The biggest risk is that a heat map with no legend, no scale, and no sense of the underlying counts looks precise while being vague. It shows relative intensity beautifully and absolute values not at all. A hot spot means "more here than there", not any specific number. If a decision needs the actual figure, the heat map has to be paired with something that supplies it, a tooltip, a companion table, a number card, or people will read certainty into a gradient that does not carry it.

Population is the other trap, especially in Australia. A raw heat map of almost any activity will glow over the major cities simply because that is where the people are. That is not always the insight, it is often just population showing through. If you want to find genuinely interesting concentration, you frequently need to normalise, per capita, per store, per whatever the sensible denominator is, before the map tells you something you did not already know. An un-normalised heat map that just rediscovers "lots of people live in Sydney" is a very common way to waste a nice visual.

Low data volumes are the last one. Heat maps need a reasonable density of points to produce a meaningful gradient. With a handful of records you get a few isolated blobs that imply a pattern that is not really there. Below a certain volume, a simple bubble layer is more honest.

How we use it on client work

When we build geographic reporting through our Power BI consulting engagements, the heat map is a deliberate choice for a specific question, not a default. We reach for it when the story is about concentration and the individual record does not matter, and we pass over it when someone needs exact locations or exact values. Picking the right layer for the question is most of the skill, the configuration is the easy part after that.

The other thing we insist on is honesty in the tuning. We set the radius and intensity to represent the data faithfully at the zoom people will actually use, and we normalise when raw density would just re-draw the population map. A heat map is persuasive precisely because it is visual and immediate, and that persuasiveness is a responsibility. It is very easy to produce a map that convinces a boardroom of something the data does not actually support. This is the sort of judgement that runs through all our business intelligence work, the visual is only as trustworthy as the thinking behind it.

The short version

The heat map layer in the Azure Maps visual is the right tool when the question is about where activity concentrates, and the wrong tool when someone needs exact locations or exact numbers. Adding it is easy. The judgement is in whether to weight it by count or by value, tuning the radius and intensity to the zoom people actually use, and normalising for population so you find real concentration instead of just redrawing where Australians live. Pair it with something that supplies the actual figures, because a gradient shows relative intensity and nothing precise.

If you are building geographic reporting and want maps that tell the truth as clearly as they tell a story, that is the kind of work we do. Have a look at our services or get in touch and tell us what you are trying to map.