[OpenMap Users] Re: Declutter - Simulated Annealing

From: Don Dietrick <dietrick_at_bbn.com>
Date: Mon, 10 Oct 2005 11:36:01 -0400

Hi Carsten,

Pretty cool.

Is it possible to extend the com.bbn.openmap.layer.DeclutterMatrix to
create classes for the different algorithms? The LocationLayer lets
you set the class you want to use as the DeclutterMatrix, so you
could substitute different classes as needed. DeclutterMatrix should
be an interface, of course, but time and history get in the way).


- Don

On Oct 9, 2005, at 10:14 AM, Carsten Ø. Madsen wrote:

> I have been looking for a way to speed up decluttering in OM and
> yesterday I stumbled over (NLPF) http://www.ads.tuwien.ac.at/
> research/labeling/.
>
> There is java code there implementing the following declutter algo's:
>
> ForceDirectedLabeling
> SimulatedAnnealing
> LeftmostHeuristic
> HirschLabeling
> RandomPlacement
>
> including a GUI for testing the different algo's.
>
> I have made a patched version of LocationLayer that makes it
> possible to eval the speed of the algo's compared the OM thing
> (DeclutterMatrix) within OM. It looks like LeftmostHeuristic is
> rather fast 10x and in most cases produces an ok result and that
> SimulatedAnnealing does "nice looking" decluttering. You need to
> patch the code to try the different algo's and make
> openmap.properties load a CSVLocationLayerPatch layer.
>
> To see the diff in performance toggle the declutter property from
> the props editor and watch system.out. When declutter is on no NLPF
> code is used.
>
> I have use the following settings:
>
> openmap.layers=cities
> openmap.startUpLayers=cities
>
> # LocationLayer that holds cities. The palette for this layer lets
> # you turn on the names and declutter matrix, if you want. The
> # declutter matrix can get expensive at small scales.
> #cities.class=com.bbn.openmap.layer.location.LocationLayer
> cities.class=dk.navicon.openmap.declutter.CSVLocationLayerPatch
> cities.prettyName=World Cities
> cities.locationHandlers=csvcities
> cities.useDeclutter=false
> #cities.declutterMatrix=MyDeclutterMatrix
> cities.declutterMatrix=com.bbn.openmap.layer.DeclutterMatrix
> csvcities.class=com.bbn.openmap.layer.location.csv.CSVLocationHandler
> csvcities.prettyName=World Cities
> csvcities.locationFile=data/cities.csv
> csvcities.csvFileHasHeader=true
> csvcities.locationColor=FF0000
> csvcities.nameColor=aa0000
> csvcities.nameFont=SansSerif-Bold
> csvcities.showNames=true
> csvcities.showLocations=true
> csvcities.nameIndex=0
> csvcities.latIndex=5
> csvcities.lonIndex=4
> csvcities.csvFileHasHeader=true
>
> To try it out fetch the code from here http://navicon.dk/openmap/
> CSVLocationLayerPatch.java and here
> http://www.ads.tuwien.ac.at/research/labeling/download/PFLP.jar
>
> I'm sure there is a more approiate way of integrating this into OM
> than my current code?
>
> regards
> /carsten
>
>



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Don Dietrick, dietrick_at_bbn.com
BBN Technologies, Cambridge, MA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


--
[To unsubscribe to this list send an email to "majdart_at_bbn.com"
with the following text in the BODY of the message "unsubscribe openmap-users"]
Received on Mon Oct 10 2005 - 11:38:47 EDT

This archive was generated by hypermail 2.3.0 : Tue Mar 28 2017 - 23:25:07 EDT