[mapserver-dev] RFC-108 : heatmap generation

Even Rouault even.rouault at mines-paris.org
Thu Jan 30 13:21:45 PST 2014


Le jeudi 30 janvier 2014 22:09:56, thomas bonfort a écrit :
> Hi Even,
> I haven't looked at the gdal implementation, but from what you explain
> I guess that we're not doing the processing steps in the same order.
> The proposed implementation first accumulates all the vector samples
> in a 1 band float pixmap, and then applies a gaussian filter on this
> pixmap. As such, the number of sample points does not influence the
> processing time (aside from the initial accumulation, but that step
> has a linear computation time wrt the number of features, that can't
> be cut down). I haven't investigated the final difference between the
> two methods; if the gdal one is more rigorous it might be added as an
> alternate method should the need arise.

Thanks for the explanation. Indeed it is very different from the GDAL 
implementation, and more efficient. The GDAL implementation might be more 
precise since there is always a small imprecision added when burning the point 
into the pixmap (the point becomes a pixel square), but in most cases, you 
don't need sub-pixel accuracy. So the mapserver heatmap algorithm could be an 
interesting idea in order to improve gdal grid.

> 
> --
> Thomas
> 
> On 30 January 2014 21:25, Even Rouault <even.rouault at mines-paris.org> wrote:
> > Le jeudi 30 janvier 2014 17:58:07, Thomas Bonfort a écrit :
> >> Devs,
> >> 
> >> please have a look at RFC-108 [1]. The associated code and the RFC are
> >> still beta, so there's still plenty of room for modification or remarks.
> > 
> > Hi Thomas,
> > 
> > Very cool. As it somehow related to what gdal_grid does (admitedly in a
> > less beautiful fashion), I'm wondering if you've thought about the
> > performance implications of a point layer with a lot of features (I've
> > not looked at your code). Iterating over each point for each pixel might
> > be very slowly. For some modes of gdal_grid I had started building a
> > in-memory quadtree to speed-up the search for candidate points. Or
> > perhaps you assume that the point layer has a spatial index (PostGIS,
> > .qix, etc...) and use msQueryByRect() ?
> > 
> > Even
> > 
> >> best regards,
> >> thomas
> >> 
> >> [1] http://mapserver.org/development/rfc/ms-rfc-108.html
> >> _______________________________________________
> >> mapserver-dev mailing list
> >> mapserver-dev at lists.osgeo.org
> >> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
> > 
> > --
> > Geospatial professional services
> > http://even.rouault.free.fr/services.html

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html


More information about the mapserver-dev mailing list