I have a point dataset in which each point has a value for a "rating" field. Points distributions don't follow any pattern and can overlap at identical locations. My requirement is to generate something like a heat map showing geographical variation of "rating", where high values are "hot" and low values are "cold".
My project already uses GeoServer's Web Processing Service and heatmap rendering transformation for a different requirement. Its existing heatmaps show the density of points that match given criteria, e.g. all points where "rating" < 1. This visualisation is meaningful because heat maps show density and only meaningful points are selected, however I can't use the same approach to show the variation across "rating". I can set the heat map process's weightAttr
variable to "rating", but the resulting visualisation will not differentiate between areas with fewer points and areas with low "rating" values.
What I need is a transformation very similar to heat map but that instead of counting how many points are contained within each grid cell it calculates an average value across all values in each grid cell.
- Is such a transformation possible within GeoServer / WPS, and
- If not, is there documentation available on how to write and test my own rendering transformation?