Leaflet.heat
Leaflet.heat copied to clipboard
fixed radius
Hi,
I'd like my heat point around lat/lng
to have a fixed (zoom independent) radius of 500m : how can I specify this ?
Thank you
Nice suggestion, I'll look into it — shouldn't be hard to implement. Just need to recalculate the radius on each zoom.
Also, in my opinion, having the radius expressed in meters by default makes more sense than pixels in that case.
Let me know if I can help in anything.
Cheers
Having a similar but not exactly the same issue here. Because I am not sure about how to recalculate the radius of each feature on each zoom, I implement this by removing old layers and add back new layers on each zoom. Something like
map.on('zoomend', function() {
// remove existing layer
map.removeLayer(old_layer);
// add in new
new_layer = L.geoJson(data, data_options);
map.addLayer(new_layer);
});
and in my data_options, I implemented the resizing method
var data_options = {
pointToLayer: function(feature, latlng) {
mk = L.circleMarker(latlng);
var pointC = map.latLngToContainerPoint(latlng);
var pointX = [pointC.x + 1, pointC.y];
// convert containerpoints to latlng's
var latLngC = map.containerPointToLatLng(pointC);
var latLngX = map.containerPointToLatLng(pointX);
// Assuming distance only depends on latitude
var distanceX = latLngC.distanceTo(latLngX);
// 100 meters is the fixed distance here
var pixels = 100 / distanceX;
mk.setRadius(pixels);
return mk;
}
};
Hope this helps! I refer to http://stackoverflow.com/questions/27545098/leaflet-calculating-meters-per-pixel-at-zoom-level when I implemented method for calculating meters per pixel at different zoom levels.
any updates here? re-drawing of whole heatmap doesn't solve my problem
http://leafletjs.com/reference.html#circle Maybe by using circle itself (not circleMarker) could help? As the unites are in meters, not pixels.
Other than this point, you may want to check out some other statistical stuff for more accurate "heat" calculation.
Hi folks! Firstly @mourner thank you for this plugin! Any update on this feature? And another wish is fixed radius starting from zoom level :)
+1
I think i made something looks like fixed radius
@kuzvac Does keeping the radius fixed avoid merging of the lat/lng value colors on zoom out?
@cpunekar can you please explain more detailed?
Thanks @kuzvac for the reply. I wanted to have fixed radius when I asked this question but now since the intensity value of points get added as we zoom out, I was curious if we can recalculate the radius each time we zoom in and out. As in I want the radius to increase when we zoom in and to decrease when we zoom out. This would give me a better picture of the intensity values as I am not looking for density heatmap.