Hi folks,

I’m working on a project to expose Solr’s heatmap capability through
GeoServer. You can find details about Solr heatmaps here:

    https://cwiki.apache.org/confluence/display/solr/Spatial+Search (search
for “Heatmap Faceting”.

But the gist of it is this: If you have a spatial field that uses the
recursive prefix tree type (ie. geohash) for indexing then it’s easy using
Solr’s facetting infrastructure to generate a heatmap grid. What you get
back from Solr is a 2D array representing the geohash grid, where each
value is a count of documents that intersect that grid cell. Applying some
symbolization you can get something that looks like this:


https://raw.githubusercontent.com/voyagersearch/leaflet-solr-heatmap/master/sample.png

The above screen shot comes from a leaflet plugin that visualizes the
heatmap directly in the browser. I would like to add a similar looking
visualization for GeoTools/GeoServer.

My first thought was to expose this as a new type of coverage reader, since
the data is simple grid it falls into the model quite easily. The major
benefit of this approach is that becomes trivial to configure in GeoServer
and easy to style using all of the existing raster symbology support. I’m
interested to hear if others think this is a good approach.

If that sounds good my plan was to add this to the existing solr module. It
won’t add any new dependencies aside from a dependency on the coverage
module.

@Andrea: you’re listed as the module maintainer… although if I recall
correctly we agreed to co-maintain the module?

I have a prototype working so if that all sounds good I’ll push up a branch
for folks to look at. One thing I am particular eager to get some feed back
on is how to best achieve the blur affect that makes heatmaps look “
pretty”. At the moment what I have done is baked in a parameter to the
coverage format that specifies a blur radius and then when reading the
coverage I run it through the Convolve operation to achieve the desired
affect. It would be ideal if this could be done at symbolization time. I’m
wondering if we currently have any way to define a blur or some similar
effect at rendering time with sld? Would a rendering transform work?

Thanks folks.

-Justin
------------------------------------------------------------------------------
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to