Visualizing Point Data

Stephen Woodbridge woodbri at SWOODBRIDGE.COM
Fri Feb 3 07:19:48 PST 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.

Bill,

I'm assuming this probably is a problem because the algorithm divides by 
the distance causing a divide by zero. If you can detect the coincident 
points you could randomly add some noise to their locations so they are 
not mathematically coincident and then the clustering would be reflected 
in the Kernel Density.

Another idea would be to remove the coincident points and replace them 
with a single point with an attribute of how many points were at that 
location. Then see if it is possible to modify the Kernel Density 
algorithm to use the attributed clustering to modify its output. Or do 
the kernel density and overlay it with symbols reflecting the multiple 
points. So your would get a kernel density raster with varying radius 
dots reflecting the coincident points where the radius reflect the 
number of points.

I think the former is a better way to go, and you can adjust the noise 
value to get results that reflect what you are trying to show.

Anyway some additional ideas to think about.

-Steve W.

> 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



More information about the MapServer-users mailing list