By default the SLD to generate a heatmap in Geoserver takes numbers between 0 - 1 to define the color ramp. So this would be a relative scale, where 1 is assigned to the area with the highest value in relation to the rest of the dataset.

I have multiple layers and I want to visualize them on the same scale. Each layer is based on different data, I would like to visualize them on an absolute scale.

For example: I'm using the following color-ramp: green-yellow-red. I would like all area's with a value of 500 + to be red, with a value of 250 to be yellow and with a value of 1 to be green. This means I might have some layers without red, or yellow area's. I want this so I can visually compare the different layers to eachother.

Is there a way to do this, without writing my own rendering transformation in Java?


If you want to do a serious analysis with heat maps (and there are many reasons not to do this) you need to create the heat maps for the whole layer rather than just the part in the view, which is what the GeoServer sld transformation does.

So, yes you need to write some code to do it properly, remember to normalise for population at risk distribution before you draw any conclusions.

enter image description here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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