Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

With QGIS, I am trying to create a heatmap from a set of points I added as a layer using the "Add Delimited Text Layer" plugin.

The points are a collection of complaints from around a city and I want to visualize portions of the city that have a higher frequency of complaints.

Using the heatmap plugin, I choose the following options:

  • Input Point Vector: my CSV layer of complaint points
  • Output Raster: heat_map
  • Output Format: GeoTIFF
  • Radius: 1000 meters
  • Decay Ratio: 0.1

I click OK and then choose NAD83, EPSG:4269 for coordinate system.

Next, I get a large grey box with tiny transparent circles.

I've tried switching the color map to pseudocolor and adding a transparent pixel list to make anything with a value of zero appear to be transparent.

Then the whole map disappears.

I'm not getting a heatmap at all and I've followed all of the popular guides I can find with Google.

Advice would be greatly appreciated.

Thank you!

share|improve this question
a screenshot would really help (if you can't insert pictures upload it to an imagehoster and post the link). Furthermore also have a look at all the other heatmap-related qgis questions in the right sidebar – Curlew Mar 15 '13 at 21:29
Which CRS are your points from CSV in? – underdark Mar 16 '13 at 8:58
Sorry, Stackexchange wouldn't let me upload any screenshots until I've done some more activity on the site. Here is screenshot 1: Here is screenshot 2: Hi underdark, I've seen your blog. I made the CSV using Google's geocoding engine, so I'm not positive. The CSV is storing the locations as lat/long. THanks! – Twitch Mar 16 '13 at 21:47
Reproject the points from CSV to EPSG:4269 using "Save as ..." to Shapefile and 4269 as target CRS. This is necessary as far as I know because the Heatmap plugin fails with WGS84 points. – underdark Mar 18 '13 at 13:50
I didn't choose a CRS when I originally geo-encoded the CSV from addresses using Google's geo-encode API. All I have is a CSV file with the address in one column, and the lat and long each with their own columns. When I added the layer, I chose WGS84. – Twitch Mar 27 '13 at 18:45

You cannot (to my knowledge) generate a heatmap from an unprojected layer. You will first need to reproject your source data to an appropriate projection with meter mapping units (UTM works). Right-click on your points layer, select Save As..., then next to CRS choose either Project CRS if your project has an appropriate projection, or Selected CRS to select a different projection (See How to reproject a vector layer in QGIS?). After that the heatmap plugin should work correctly.

I recently needed to explain to someone how to use the heatmap plugin, and you may find the video useful:

share|improve this answer
I changed the CRS to WGS84/UTM16N - I hope that was the correct one. So I have the points showing up and another layer also showing up in the right place, but now the Google map I added using OpenLayers isn't lining up correctly. – Twitch Mar 27 '13 at 18:47
Okay okay - I think I got it. Here is what I did: - Changed the points to WGS84 and added a background using OpenLayers which is WGS84 Pseudo Mercator. - Changed the project CRS to match the OpenLayers background (WGS84 Pseudo Mercator) - Took the points -> Save As -> Selected CRS to match the Project CRS I now have something that looks like a heat map. :D – Twitch Mar 27 '13 at 19:04
I'm glad you got it working! I usually do it this way: 1) load the points as WGS84, 2) save that layer in a UTM projection (if the area fits within one UTM zone, otherwise some appropriate local projection). 3) create the heatmap using the projected points as input 4) reproject resulting heatmap to pseudo mercator using raster warp 5) load openlayers. You shouldn't have any alignment problems that way, and you're not doing analysis in pseudo mercator (which can lead to distortion errors). – rudivonstaden Mar 28 '13 at 11:15
Here's a useful explanation of why it's not recommended to do analysis in Pseudo Mercator (also known as Web Mercator):… If you are only after the "heatmap effect" and not worried about the spatial meaning (x points within kernel radius), then you can get away with generating heatmaps with data in EPSG:3857 projection. If those numbers are important, then it's best to reproject. – rudivonstaden Mar 28 '13 at 12:43
Thanks rudivonstaden! – Twitch Mar 29 '13 at 15:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.