Visualizing Point Data

Sean Gillies sgillies at FRII.COM
Fri Feb 3 10:00:10 EST 2006


On Feb 3, 2006, at 12:06 AM, Bill Binko wrote:

> Hi everyone,
>
> I posted a fairly specific question to the GDAL-dev list (and more  
> on IRC)
> the other day, asking for input on how to do Kernel Density mapping  
> using
> an OGR data source and sending the raster back through GDAL to be
> displayed through Mapserver.
>
> I got some good responses, one of which was: are you sure that's  
> what you
> want?  Well, to be honest, I don't know.  So I'm posting a more  
> general
> question here, hoping that someone in this larger audience has  
> solved the
> problem I'm facing.
>
> What I'm trying to do is visualize point data (stored in PostGIS,  
> but that
> can change) so that users can determine where the points are  
> concentrated,
> even while zoomed out.  One caveat is that the points can be  
> coincident
> (identical Lat/Long).
>
> For example, I'd use this with include recent real estate sales data -
> condos in the same building have the same shape, but both sales should
> count.  Similarly, in a customer counting scenario, two customers  
> with the
> same address (even only to the building level) will geocode to the  
> same
> lat/long.
>
> When Mapserver serves up Point layers directly, the results can be  
> quite
> disappointing (and misleading).  In Mapserver, the last Point to be  
> drawn
> on any spot will just hide the previous points, often hiding  
> multiple data
> points.
>
> Similarly, when you zoom out on a point diagram, there are two  
> options:
> either you set the symbol to have a max size (so that eventually, they
> become "less than clear"), or you keep the symbol size constant,
> eventually obliterating the background with huge blobs of overlapping
> points.
>
> When I tried to tackle this problem, I turned to a Real Estate  
> Geography
> book I have (written by professor Thrall at my alma mater)
> http://www.amazon.com/gp/product/0195076362/sr=1-2/qid=1138949940/ 
> ref=sr_1_2/104-4827941-6490312?%5Fencoding=UTF8
>
> There, he is discussing Site Selection and Customer Spotting methods,
> and he discusses the Kernel Density method of generating a surface map
> showing where the customers live.  The discussion is brief, but the  
> GDAL
> folks pointed me to two tools (parts of R and GRASS respectively)  
> that can
> take points and generate kernel surfaces.  With some magic, contour  
> maps,
> and other visualizations could be pushed through GDAL and into  
> Mapserver.
>
> However, with further inspection, these methods all work on distance
> between customers, which causes a problem with coincident points.
>
> I am thinking that this problem must have been solved by someone  
> out in
> this audience, so at this point, I'm very open to suggestions.
>
> I am very willing (and fairly able) to implement any custom  
> software the
> solution my require.  I have considered filters between GDAL and  
> OGR, or
> stand alone processing that generates the needed data.  I'm also very
> happy to feed it back to the community, if there's interest.
>
> (So, basically, I will trade working code for modeling/GIS/statistics
> knowledge if anyone's interested :)
>
> Thanks,
>
> Bill

Great synopsis, Bill. I'm looking forward to learning more about this.

One very simple-minded solution that MapServer *should* support is  
drawing points with a low (say 10%) opacity, and simply painting them  
over each other in an additive way. Currently, MapServer has  
transparency only at the layer (not feature) level, and so this will  
not work. I haven't had a real need for this yet, and so I haven't  
been able to justify the cost of developing it.

cheers,
Sean

---
Sean Gillies
sgillies at frii dot com
http://zcologia.com/news



More information about the mapserver-users mailing list