GIS Tools

Language

Made withfor the GIS community

Heatmap Renderer

Render point data as a smooth heatmap visualization

Map Viewing

Drop files here or click to browse

Supported formats: GeoJSON

GeoJSON

or

Color Scale

LowHigh

Tips

  • Heatmaps show point density or weighted values
  • Select a numeric field to weight by value
  • Zoom in to see individual points at high zoom
  • Adjust radius for smoother or more detailed view

What Is a Heatmap Generator?

A heatmap generator is a visualization tool that takes a layer of point data and turns it into a smooth color gradient showing where points cluster β€” the denser the points, the hotter the color. Instead of drawing 50,000 individual markers (which would be unreadable), a geographic heatmap draws a continuous density surface that immediately communicates where activity is concentrated. If you have ever looked at a Strava global heatmap, a Twitter geotag heatmap, or a crime density map, you have seen a heatmap generator at work.

The gis.tools heatmap renderer creates heatmaps from point data entirely in the browser using Kernel Density Estimation (KDE), the same mathematical technique behind QGIS's heatmap plugin, ArcGIS Spatial Analyst's Kernel Density tool, and deck.gl's HeatmapLayer. KDE assigns a kernel function (usually Gaussian) to each point and sums the contributions across all points on a grid, producing a smooth density surface.

Heatmaps are one of the most popular ways to create heatmap from points data for several reasons: they hide individual identities (useful for privacy-sensitive data like crime locations), they work on dense data where individual markers would overlap, and they communicate density patterns with almost no cognitive overhead.

How the Heatmap Renderer Works

Kernel Density Estimation

KDE is a non-parametric method for estimating the probability density function of a set of point samples. For every pixel on the output grid, the tool sums the contributions from all nearby points, weighted by a kernel function (Gaussian, Epanechnikov, triangular, or uniform). The influence of a point falls off with distance, controlled by a bandwidth parameter.

Mathematically, the density at location x is proportional to the sum over all points of K((x - xi) / h), where K is the kernel function and h is the bandwidth. In practice, the browser implementation uses a spatial grid and a precomputed kernel kernel to make this fast.

Radius (bandwidth)

The single most important parameter in heatmap generation is the kernel radius (also called bandwidth or sigma). A small radius produces a sharp, pointillist heatmap where individual clusters are visible; a large radius smooths everything into broad regional patterns. There is no universally correct value β€” it depends on the spatial scale of the phenomenon you are studying.

Silverman's rule of thumb provides a statistical estimate of optimal bandwidth based on sample variance and size, and is what QGIS uses as a default. The gis.tools heatmap renderer lets you set the radius in pixels (fixed size regardless of zoom) or in meters (fixed real-world distance).

Weight field

Each point can carry a numeric weight that scales its contribution to the density. Without weights, every point contributes equally (count density). With weights, points representing more significant events contribute more (e.g., earthquake magnitude, sales revenue, traffic count).

Color ramp

The final step converts density values to colors using a ramp. The classic heatmap look uses a red-yellow-white gradient on a dark background. For scientific visualization, perceptually uniform ramps like viridis or magma are more accurate. Sequential ColorBrewer palettes work well on light basemaps.

Key Parameters and Options

Radius

The kernel bandwidth. Start around 20 pixels for point-dense data, 50+ pixels for sparse data. Adjust interactively to find the visually meaningful scale.

Intensity

A multiplier on density values, controlling how quickly the heatmap saturates. Higher intensity makes hotspots pop; lower intensity keeps everything cooler.

Color ramp

Choose from classic red-yellow-white, viridis, magma, blues, or custom gradients.

Opacity

Controls how much the heatmap blends with the basemap underneath. Between 0.6 and 0.9 usually reads best.

Weight field

Optional numeric field that scales each point's contribution.

Practical Applications

Crime density mapping

Police departments use heatmaps to identify crime hotspots without exposing individual incident locations. A geographic heatmap of 911 calls over a 30-day window reveals patterns that dot maps obscure. Because the kernel blurs individual points, it also provides a degree of privacy protection for victims.

Traffic accident analysis

Transportation safety engineers use heatmaps to find dangerous intersections and road segments. Weighting by severity (injury, fatality) rather than pure count produces maps that prioritize intervention.

Retail and business analytics

A retail chain overlays a heatmap of customer loyalty card scans on a map of existing stores to identify underserved areas. Weighting by transaction value instead of scan count produces a revenue heatmap.

Biodiversity and species occurrence

Ecologists use heatmaps to visualize species occurrence data from GBIF, iNaturalist, or field surveys. A heatmap from bird sighting points reveals migration corridors and breeding density without drawing millions of individual markers.

Social media and sentiment analysis

Geotagged tweets, Instagram posts, or Foursquare check-ins plotted as a heatmap show where online activity concentrates. Combining this with sentiment scores as weights produces a sentiment heatmap.

Disease surveillance

Epidemiologists map disease case locations as heatmaps to identify outbreaks. The kernel smoothing reduces the visual noise of individual cases and highlights clusters that warrant investigation.

Sports and movement analysis

Strava's global heatmap is the most famous example β€” every GPS track from millions of users combined into a single density surface. Coaches use similar heatmaps to analyze player positioning.

Step-by-Step Workflow

  1. Load a point layer in the Online Map Viewer (Multi-Layer). CSV files with lat/lon columns work perfectly.
  2. Open the heatmap renderer panel.
  3. Optionally specify a weight field.
  4. Set the radius. Start around 20–30 pixels and adjust.
  5. Pick a color ramp. Dark basemaps pair with red-yellow-white; light basemaps pair with viridis or blues.
  6. Tweak opacity and intensity until the density pattern is clearly visible.
  7. Compare with a Clustered Points Renderer for a different view of the same data.
  8. Export the rendered map via the Print Composer.

Worked Example: Mapping Taxi Pickup Density

You have a CSV of 100,000 taxi pickup locations in a major city over one day. Loading the CSV via the CSV to Points Layer tool produces an unreadable black mass of overlapping points. Switching to the heatmap renderer with a 25-pixel radius and the classic red-yellow-white ramp on a dark basemap transforms the visualization: the airport glows white-hot, downtown is yellow, and peripheral neighborhoods fade to red. You weight by fare amount and the high-value business district pops even more. The final map is ready for a transportation planning presentation.

Common Pitfalls and Gotchas

  • Over-smoothing. Too large a radius erases the structure you wanted to see. Start small and increase.
  • Under-smoothing. Too small a radius produces a noisy, pointillist heatmap that is no improvement over individual dots.
  • Ignoring population density. A heatmap of any human activity looks like a map of population density. Normalize or interpret carefully.
  • Web Mercator distortion. At high latitudes, a pixel-based radius corresponds to a smaller real-world distance. Use meter-based radius for geographically meaningful analysis.
  • MAUP for aggregated data. If your input is already aggregated to administrative units (not true points), heatmap is the wrong tool β€” use choropleth instead.
  • Edge effects. Density near the edge of the study area is underestimated because points outside the boundary are not counted.
  • Color ramp mismatch. A red-yellow-white ramp on a white basemap disappears at the hottest end. Use a dark basemap or a different ramp.

Tips for Best Results

  • Pair with a dark basemap for maximum visual impact. The Basemap Switcher has a dark matter option.
  • Use weighted points for phenomena where magnitude matters (fire severity, sale value, earthquake magnitude).
  • Interactively tune radius β€” move the slider and watch the map reshape.
  • Show both the heatmap and the underlying points at high zoom.
  • Compare with cluster renderer and hex density grid to validate the pattern.
  • For scientific publications, use perceptually uniform colormaps like viridis.

Comparison with Desktop GIS

QGIS ships two heatmap implementations: a renderer in the layer symbology (no preprocessing required) and a processing algorithm called Heatmap (Kernel Density Estimation) that produces a raster output. ArcGIS Spatial Analyst's Kernel Density tool does the same thing. Both require the layer to be loaded in a desktop project and produce static outputs you have to re-export to publish online.

The gis.tools heatmap renderer runs live in the browser, so you can tweak parameters and see instant visual feedback β€” a significantly faster iteration loop than desktop workflows for exploratory analysis.

Performance Considerations

Heatmap rendering via KDE is O(n Γ— k) where n is the number of points and k is the kernel footprint size in pixels. For 100,000 points at 25-pixel radius, this is fast enough for interactive use. Beyond a million points, consider pre-aggregating with the Density Grid tool into hex or square bins before rendering.

Data Privacy and Browser-Based Processing

All heatmap generation happens in your browser. Points never leave your computer. This is especially important for sensitive data like crime locations, patient home addresses, or poaching incident reports where even point aggregation provides additional privacy protection beyond the anonymization of the raw points.

Related GIS Concepts

Kernel Density Estimation (KDE). The statistical technique underlying most heatmap generators. Non-parametric density estimation.

Bandwidth selection. Choosing the kernel radius. Silverman's rule of thumb, cross-validation, and visual inspection are the common approaches.

Hot spot analysis. Statistical tests (Getis-Ord Gi*, Moran's I) that identify clusters with statistical significance, going beyond visual heatmaps.

Density grid / hex binning. Discrete alternative to continuous heatmaps β€” aggregates points into fixed grid cells. See Density Grid.

Frequently Asked Questions

How do I create a heatmap from points in CSV format?

Load the CSV via the CSV to Points Layer tool, then open the heatmap renderer.

What radius should I use?

Start around 20–30 pixels and adjust interactively. There is no universal answer β€” it depends on the phenomenon's spatial scale.

Can I weight points by a numeric field?

Yes. Select a weight field in the heatmap panel and each point's contribution is scaled accordingly.

Why does my heatmap look washed out?

Increase the intensity multiplier or decrease the radius. A washed-out heatmap usually means the density values are too low relative to the ramp's dynamic range.

Is the heatmap a statistical hotspot analysis?

No β€” KDE is a visualization technique, not a significance test. For statistical hotspot identification, you need tools like Getis-Ord Gi* that are beyond this renderer's scope.

Related Tools on gis.tools

100% client-side processing - your data stays private and never leaves your device