I love the library and would like to make a feature request to build a heatmap from values. Here a superior argument from somebody else (from mapbox/mapbox-gl-js#4756):
by default, heatmaps render according to point density (so two points in the same spot are twice as intense as one). But there are cases where we want a different behavior — imagine an air pollution map that shows measurements from spots around the country. Multiple measure points clustered close together shouldn't cause the area to appear many times more polluted compared to an area with the same pollution but only one measure spot.[...]
I can imagine it would work like this:
var heatmap = new HexgridHeatmap(map, "hexgrid-heatmap", "waterway-label");
heatmap.setType('value'); // or 'density' which is default
heatmap.setWeightProperty('airPollutionLevel'); // a property in each Feature of the FeatureCollection
heatmap.setReduceFunction('mean'); // 'median' or even a function which accepts values
//normal init from before
heatmap.setIntensity(6);
heatmap.setSpread(0.15); //
heatmap.setCellDensity(0.5); // small value == bigger hexagons
heatmap.setData(berlinData);
heatmap.update();
I assume clustering logic would need little or no changing, but instead of counting all objects are iterated through, the value from the property extracted and the reduce function called.
I love the library and would like to make a feature request to build a heatmap from values. Here a superior argument from somebody else (from mapbox/mapbox-gl-js#4756):
I can imagine it would work like this:
I assume clustering logic would need little or no changing, but instead of counting all objects are iterated through, the value from the property extracted and the reduce function called.