<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Date: Thu, 8 Mar 2007 15:30:13 -0500<br>From: "Abe Gillespie" <<a href="mailto:abe.gillespie@gmail.com">
abe.gillespie@gmail.com</a>><br>Subject: [postgis-users] OT: Algorithm Suggestion<br>To: "PostGIS Users Discussion" <<a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net
</a>><br>Message-ID:<br> <<a href="mailto:a6d397e30703081230g2c048551v6d148e3546dd8241@mail.gmail.com">a6d397e30703081230g2c048551v6d148e3546dd8241@mail.gmail.com</a>><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed
<br><br>Hey all,<br><br>This is definitely off topic so please ignore if you could care less.<br>I'm not really sure where to go for this advice so PostGIS gets my<br>abuse. Sorry.<br><br>I'm looking for a GIS algorithm (or an idea of an implementation) that
<br>clumps scattered, overlapping point data into simple clumps that do<br>not overlap.<br><br>For instance:<br>Say we have a point for every building and house in a city. Initially<br>we start zoomed such that the city boundary is entirely in view. At
<br>this view I'd like to have single non-overlapping points that<br>represent clumps of buildings. Now say a specific clump right<br>downtown gets my attention. I want to zoom in there and get a closer<br>look. As I zoom in the clumps break apart into new clumps.
<br>Eventually I'll zoom in enough to where the clump points are just each<br>single building.<br><br>At the most extreme zoomed-out level you'd see one single clump point<br>representing every single building (imagine you're zoomed way WAY
<br>out). At the most extreme zoomed-in level you'd have each individual<br>building point.<br><br>The biggest requirement here is having no points overlapping at any<br>zoom level. The exact placement of these clumps is not an issue
<br>though it should be roughly the average x,y of all the points the<br>clump represents.<br><br>Is there any algorithm in the GIS space that solves this problem? It<br>doesn't seem like a very unique problem, but I've never run across it.
<br> Perhaps even PostGIS can do this (though I'm really looking for a<br>general solution)?<br><br>Also, adding to the complexity is the fact that my point locations are<br>dynamic. So I couldn't just set up a set of layers for set zoom
<br>levels. I.e. the algorithm would have to run every time the map is<br>rendered.<br><br>Thanks for your help / ideas!<br>-Abe<br><br></blockquote></div><br><br>Gotta love Google Scholar; Search for Cartographic Generalization Algorithms.
<a href="http://scholar.google.com/scholar?hl=en&lr=&safe=off&q=Cartographic+generalization+algorithms&btnG=Search">http://scholar.google.com/scholar?hl=en&lr=&safe=off&q=Cartographic+generalization+algorithms&btnG=Search
</a><br><br>Hope this helps,<br><br>- Ragi Y. Burhum<br>