Re: Algorithms/Code Needed to Remove Overlap of Markers on a Map

Tomasz Wegrzanowski <[email protected]>
Newsgroups gmane.comp.gis.freegis
Message-ID <[email protected]>
On Tue, Aug 16, 2005 at 12:01:39AM -0500, Mike M wrote:
> I am looking for algorithms to reduce/remove overlap/stacking of geographic
> coordinate markers on a map. These markers are an overlay on a map (in my
> case the new Google Maps API). 
> 
> The algorithm would accept a set of points and dimensions of the marker used
> at each point, and would re-arrange the points so that marker overlap is
> either reduced by to zero or some tunable amount (for example, you might
> specify that every point should be at least 50% visible).
> 
> I've seen this type of algorithm described as geometric packing. So far I
> have come up empty on searches (I'm still looking though), and wanted to see
> if anyone knows of any free GIS APIs/systems that provide this, as perhaps I
> can re-use their algorithm(s). Or general algorithms I should seek out.

I think what the problem you're referring to is usually called
"label placement" problem, which is NP-hard, and the solution you're
looking for is the "simulated annealing" algorithm, which doesn't guarantee
anything, but is very fast and efficient in typical cases, but requires
a bit of problem-specifitc tuning.

There are plenty of papers on simulated annealing and its application in
GIS available online.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.