Visualizing Point Data
Bill Binko
bill at BINKO.NET
Thu Feb 2 23:06:18 PST 2006
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
More information about the MapServer-users
mailing list