I am analysing borehole water supply in rural communities. I have CSV data which includes the GPS location for each water point and a flag as to whether the water point is currently functioning (Yes/No).

I want to create a "heatmap-style" output with areas where there are functioning waterpoints to be coloured in green, areas where there are non-functioning water points covered in red but areas with no water points to be left untouched (ie white).

I can convert yes/no to boolean and interpolate but then areas where there are no water points - mountains etc - will be coloured depending on how the surrounding water points, which might be 10km away, are performing.

Do I need to somehow create both an interpolated layer and a heatmap and then group them together, such that transparency levels are set by point density (heatmap) and the actual colour is set by interpolation?

1 Answer 1


A heatmap is typically suited to show density of observations, not necessarily taking into account any values at each observation. What you have is essentially two sets of data mixed together: functioning water points and non-functioning points. If you want to stay with the "heatmap-style" I would suggest to split the data into two, make a separate heat map for each, then color to your liking.

An alternative could be IDW interpolation where you set in advance the functioning points as +1 and the non-functioning to -1. The resulting interpolation will have continuous values from -1 - +1. Again you can color as you choose.

In any case the "areas with no water points" is unclear. Perhaps your best option is to skip the idea of heat-maps or interpolations. Just create a buffer of 10 km around the points, and color the resulting circles as red or green.

  • Thanks. I did think about that sort of approach. However, if I put two heatmaps on top of each other, they are separate layers and one will always display on top of the other. For example, if I have one functioning and three non-functioning water point right next to each other and then I make two heatmaps and put "functioning" as the top layer, this area will be coloured strongly as "functioning", because that layer is on top - whereas in reality, the functionality rate in that area is 25%, so it should be coloured more towards "non-functioning" really May 29, 2017 at 11:37
  • In that case, you can consider adding together the values of the functioning and non-functioning heat maps. If "functioning" are positive values, and non-functioning are negative, then a sum of all overlapping rasters might give you the visual result you want.
    – Micha
    Jun 1, 2017 at 7:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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