Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

What do the 4 numbers mean in Mapbox's heatmap specification?

Mapbox has an example heatmap page. Several times, 4 numbers (0,0,6,1, 0,1,9,3, 0,2,9,20, and 7,1,9,0) appear in the specification:

// Increase the heatmap weight based on frequency and property magnitude
'heatmap-weight': [
'interpolate',
['linear'],
['get', 'mag'],
0,
0,
6,
1
],

or:

// Increase the heatmap color weight weight by zoom level
// heatmap-intensity is a multiplier on top of heatmap-weight
'heatmap-intensity': [
'interpolate',
['linear'],
['zoom'],
0,
1,
9,
3
],

or:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

// Adjust the heatmap radius by zoom level
'heatmap-radius': [
'interpolate',
['linear'],
['zoom'],
0,
2,
9,
20
],
// Transition from heatmap to circle layer by zoom level
'heatmap-opacity': [
'interpolate',
['linear'],
['zoom'],
7,
1,
9,
0
]

This page explains the concept of heatmap-weight, heatmap-intensity, heatmap-radius and heatmap-opacity, the concepts the above code deals with:

heatmap-weight: Measures how much each individual point contributes to
the appearance of your heatmap. Heatmap layers have a weight of one by
default, which means that all points are weighted equally. Increasing
the heatmap-weight property to five has the same effect as placing
five points in the same location. You can use a stop function to set
the weight of your points based on a specified property.

heatmap-intensity: A multiplier on top of heatmap-weight that is
primarily used as a convenient way to adjust the appearance of the
heatmap based on zoom level.

heatmap-radius: Sets the radius for each point in pixels. The bigger
the radius, the smoother the heatmap and the less amount of detail.

heatmap-opacity: Controls the global opacity of the heatmap layer.

However, I am not clear with what each of the repeatedly appearing 4 numbers represent.

How do each of the 4 numbers relate to heatmap-weight, heatmap-intensity, heatmap-radius and heatmap-opacity?

>Solution :

These numbers are used to define so-called interpolate expressions. In the first case, it’s a data expression because it’s based on mag data value (magnitude of an earthquake), for all the rest, it’s based on zoom factor (and hence is a camera expression).

Each of these can be treated as pair of numbers: first one in each pair is stop_input, second is corresponding output. For example, this…

'heatmap-opacity': [
  'interpolate',
  ['linear'],
  ['zoom'],
  7, 1,
  9, 0
]

… can be read like this: if zoom is 7 or less, use 1 as heatmap-opacity, if zoom is 9 or greater, use 0, and interpolate linearly in between.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading