Changeset 1465 in josm


Ignore:
Timestamp:
Mar 7, 2009 1:40:54 PM (4 years ago)
Author:
stoecker
Message:

fix #1967. patch by xeen. This will break plugins using ProgressDialog until recompiled

Location:
trunk
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r1403 r1465  
    1616import java.util.Map; 
    1717import java.util.StringTokenizer; 
    18 import java.util.concurrent.Executor; 
     18import java.util.concurrent.ExecutorService; 
    1919import java.util.concurrent.Executors; 
    2020import java.util.regex.Matcher; 
     
    2727import javax.swing.UIManager; 
    2828 
     29import org.openstreetmap.josm.actions.SaveAction; 
    2930import org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask; 
    3031import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask; 
    3132import org.openstreetmap.josm.actions.mapmode.MapMode; 
    32 import org.openstreetmap.josm.actions.SaveAction; 
    3333import org.openstreetmap.josm.actions.search.SearchAction; 
    3434import org.openstreetmap.josm.data.Bounds; 
     
    5555import org.openstreetmap.josm.tools.OsmUrlToBounds; 
    5656import org.openstreetmap.josm.tools.PlatformHook; 
     57import org.openstreetmap.josm.tools.PlatformHookOsx; 
    5758import org.openstreetmap.josm.tools.PlatformHookUnixoid; 
    5859import org.openstreetmap.josm.tools.PlatformHookWindows; 
    59 import org.openstreetmap.josm.tools.PlatformHookOsx; 
    6060import org.openstreetmap.josm.tools.Shortcut; 
    6161 
     
    7474     * and sequential. 
    7575     */ 
    76     public final static Executor worker = Executors.newSingleThreadExecutor(); 
     76    public final static ExecutorService worker = Executors.newSingleThreadExecutor(); 
    7777    /** 
    7878     * Global application preferences 
  • trunk/src/org/openstreetmap/josm/actions/UpdateDataAction.java

    r1464 r1465  
    77import java.awt.event.KeyEvent; 
    88import java.awt.geom.Area; 
    9 import java.awt.geom.Rectangle2D; 
    109import java.util.ArrayList; 
    1110import java.util.List; 
     
    1413 
    1514import org.openstreetmap.josm.Main; 
    16 import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask; 
     15import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTaskList; 
    1716import org.openstreetmap.josm.data.osm.DataSource; 
    1817import org.openstreetmap.josm.gui.ExtendedDialog; 
    19 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; 
    2018import org.openstreetmap.josm.tools.Shortcut; 
    2119 
     
    7472                return; 
    7573        } 
    76          
     74 
    7775        int result = new ExtendedDialog(Main.parent, 
    7876                tr("Update Data"), 
    7977                tr("This action will require {0} individual download requests. " 
    8078                        + "Do you wish to continue?", bboxCount), 
    81                 new String[] { "Update Data", "Cancel" }, 
     79                new String[] { tr("Update Data"), tr("Cancel") }, 
    8280                new String[] { "updatedata.png", "cancel.png" }).getValue(); 
    8381 
     
    8583            return; 
    8684 
    87         DownloadTask osmTask = new DownloadOsmTask(); 
    88         for(Area a : areas) { 
    89             Rectangle2D td = a.getBounds2D(); 
    90             osmTask.download(null, td.getMinY(), td.getMinX(), td.getMaxY(), td.getMaxX()); 
    91         } 
     85        new DownloadOsmTaskList().download(false, areas); 
    9286    } 
    9387 
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java

    r1415 r1465  
    55 
    66import java.io.IOException; 
     7import java.util.concurrent.Future; 
    78 
    89import javax.swing.JCheckBox; 
     
    1011import org.openstreetmap.josm.Main; 
    1112import org.openstreetmap.josm.actions.DownloadAction; 
     13import org.openstreetmap.josm.data.gpx.GpxData; 
    1214import org.openstreetmap.josm.gui.PleaseWaitRunnable; 
    1315import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; 
     16import org.openstreetmap.josm.gui.layer.GpxLayer; 
    1417import org.openstreetmap.josm.gui.layer.Layer; 
    15 import org.openstreetmap.josm.gui.layer.GpxLayer; 
    16 import org.openstreetmap.josm.data.gpx.GpxData; 
    1718import org.openstreetmap.josm.io.BoundingBoxDownloader; 
    1819import org.xml.sax.SAXException; 
    1920 
    2021public class DownloadGpsTask implements DownloadTask { 
     22    private Future<Task> task = null; 
    2123 
    2224    private static class Task extends PleaseWaitRunnable { 
     
    2426        private GpxData rawData; 
    2527        private final boolean newLayer; 
     28        private String msg = ""; 
    2629 
    27         public Task(boolean newLayer, BoundingBoxDownloader reader) { 
     30        public Task(boolean newLayer, BoundingBoxDownloader reader, boolean silent, String msg) { 
    2831            super(tr("Downloading GPS data")); 
     32            this.msg = msg; 
    2933            this.reader = reader; 
    3034            this.newLayer = newLayer; 
     35            this.silent = silent; 
    3136        } 
    3237 
    3338        @Override public void realRun() throws IOException, SAXException { 
     39            Main.pleaseWaitDlg.setCustomText(msg); 
    3440            rawData = reader.parseRawGps(); 
    3541        } 
     
    4652            else 
    4753                x.mergeFrom(layer); 
     54 
     55            Main.pleaseWaitDlg.setCustomText(""); 
    4856        } 
    4957 
     
    6472            if (reader != null) 
    6573                reader.cancel(); 
     74            Main.pleaseWaitDlg.cancel.setEnabled(false); 
    6675        } 
    6776    } 
     
    6978    private JCheckBox checkBox = new JCheckBox(tr("Raw GPS data")); 
    7079 
    71     public void download(DownloadAction action, double minlat, double minlon, double maxlat, double maxlon) { 
    72         Task task = new Task(action.dialog.newLayer.isSelected(), new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon)); 
    73         Main.worker.execute(task); 
     80    public void download(DownloadAction action, double minlat, double minlon, 
     81            double maxlat, double maxlon) { 
     82        download(action, minlat, minlon, maxlat, maxlon, false, ""); 
     83    } 
     84 
     85    public void download(DownloadAction action, double minlat, double minlon, 
     86            double maxlat, double maxlon, boolean silent, String message) { 
     87        Task t = new Task(action.dialog.newLayer.isSelected(), 
     88                new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon), 
     89                silent, 
     90                message); 
     91        // We need submit instead of execute so we can wait for it to finish and get the error 
     92        // message if necessary. If no one calls getErrorMessage() it just behaves like execute. 
     93        task = Main.worker.submit(t, t); 
    7494    } 
    7595 
     
    85105        // FIXME this is not currently used 
    86106    } 
     107 
     108    /* 
     109     * (non-Javadoc) 
     110     * @see org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask#getErrorMessage() 
     111     */ 
     112    public String getErrorMessage() { 
     113        if(task == null) 
     114            return ""; 
     115 
     116        try { 
     117            Task t = task.get(); 
     118            return t.errorMessage == null 
     119                ? "" 
     120                : t.errorMessage; 
     121        } catch (Exception e) { 
     122            return ""; 
     123        } 
     124    } 
    87125} 
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java

    r1169 r1465  
    55 
    66import java.io.IOException; 
     7import java.util.concurrent.Future; 
    78 
    89import javax.swing.JCheckBox; 
     
    1011import org.openstreetmap.josm.Main; 
    1112import org.openstreetmap.josm.actions.DownloadAction; 
     13import org.openstreetmap.josm.data.Bounds; 
     14import org.openstreetmap.josm.data.coor.LatLon; 
    1215import org.openstreetmap.josm.data.osm.DataSet; 
    1316import org.openstreetmap.josm.data.osm.DataSource; 
    1417import org.openstreetmap.josm.gui.PleaseWaitRunnable; 
    1518import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; 
     19import org.openstreetmap.josm.gui.layer.Layer; 
    1620import org.openstreetmap.josm.gui.layer.OsmDataLayer; 
    1721import org.openstreetmap.josm.io.BoundingBoxDownloader; 
    1822import org.openstreetmap.josm.io.OsmServerLocationReader; 
    1923import org.openstreetmap.josm.io.OsmServerReader; 
    20 import org.openstreetmap.josm.data.Bounds; 
    21 import org.openstreetmap.josm.data.coor.LatLon; 
    2224import org.xml.sax.SAXException; 
    2325 
     
    2830 */ 
    2931public class DownloadOsmTask implements DownloadTask { 
    30  
    3132    private static Bounds currentBounds; 
     33    private Future<Task> task = null; 
    3234 
    3335    private static class Task extends PleaseWaitRunnable { 
     
    3537        private DataSet dataSet; 
    3638        private boolean newLayer; 
    37  
    38         public Task(boolean newLayer, OsmServerReader reader) { 
     39        private int num = 1; 
     40        private String msg = ""; 
     41         
     42        public Task(boolean newLayer, OsmServerReader reader, boolean silent, 
     43                int numLayers, String msg) { 
    3944            super(tr("Downloading data")); 
     45            this.msg = msg; 
    4046            this.reader = reader; 
    4147            this.newLayer = newLayer; 
     48            this.silent = silent; 
    4249        } 
    4350 
    4451        @Override public void realRun() throws IOException, SAXException { 
     52            Main.pleaseWaitDlg.setCustomText(msg); 
    4553            dataSet = reader.parseOsm(); 
    4654        } 
     
    4856        @Override protected void finish() { 
    4957            if (dataSet == null) 
    50                 return; // user cancelled download or error occoured 
     58                return; // user canceled download or error occurred 
    5159            if (dataSet.allPrimitives().isEmpty()) { 
    52                 errorMessage = tr("No data imported."); 
     60                // If silent is set to true, we don't want to see information messages 
     61                if(!silent) 
     62                    errorMessage = tr("No data imported."); 
    5363                // need to synthesize a download bounds lest the visual indication of downloaded 
    5464                // area doesn't work 
    5565                dataSet.dataSources.add(new DataSource(currentBounds, "OpenStreetMap server")); 
    5666            } 
    57  
    58             OsmDataLayer layer = new OsmDataLayer(dataSet, tr("Data Layer"), null); 
     67             
     68            OsmDataLayer layer = new OsmDataLayer(dataSet, tr("Data Layer {0}", num), null); 
    5969            if (newLayer) 
    6070                Main.main.addLayer(layer); 
    6171            else 
    6272                Main.main.editLayer().mergeFrom(layer); 
     73             
     74            Main.pleaseWaitDlg.setCustomText(""); 
    6375        } 
    6476 
     
    6678            if (reader != null) 
    6779                reader.cancel(); 
     80            Main.pleaseWaitDlg.cancel.setEnabled(false); 
    6881        } 
    6982    } 
    7083    private JCheckBox checkBox = new JCheckBox(tr("OpenStreetMap data"), true); 
    7184 
    72     public void download(DownloadAction action, double minlat, double minlon, double maxlat, double maxlon) { 
     85    public void download(DownloadAction action, double minlat, double minlon, 
     86            double maxlat, double maxlon, boolean silent, String message) { 
    7387        // Swap min and max if user has specified them the wrong way round 
    7488        // (easy to do if you are crossing 0, for example) 
     
    8094            double t = minlon; minlon = maxlon; maxlon = t; 
    8195        } 
     96         
     97        boolean newLayer = action != null 
     98                                && (action.dialog == null || action.dialog.newLayer.isSelected()); 
    8299 
    83         Task task = new Task(action != null && (action.dialog == null || action.dialog.newLayer.isSelected()), new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon)); 
     100        Task t = new Task(newLayer, 
     101                new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon), 
     102                silent, 
     103                getDataLayersCount(), 
     104                message); 
    84105        currentBounds = new Bounds(new LatLon(minlat, minlon), new LatLon(maxlat, maxlon)); 
    85         Main.worker.execute(task); 
     106        // We need submit instead of execute so we can wait for it to finish and get the error  
     107        // message if necessary. If no one calls getErrorMessage() it just behaves like execute. 
     108        task = Main.worker.submit(t, t);        
     109    } 
     110     
     111    public void download(DownloadAction action, double minlat, double minlon, 
     112            double maxlat, double maxlon) { 
     113        download(action, minlat, minlon, maxlat, maxlon, false, ""); 
    86114    } 
    87115 
     116    /** 
     117     * Loads a given URL from the OSM Server 
     118     * @param True if the data should be saved to a new layer 
     119     * @param The URL as String 
     120     */ 
    88121    public void loadUrl(boolean new_layer, String url) { 
    89         Task task = new Task(new_layer, new OsmServerLocationReader(url)); 
    90         Main.worker.execute(task); 
     122        Task t = new Task(new_layer, 
     123                new OsmServerLocationReader(url), 
     124                false, 
     125                getDataLayersCount(), 
     126                ""); 
     127        task = Main.worker.submit(t, t); 
    91128    } 
    92  
    93  
    94  
    95129 
    96130    public JCheckBox getCheckBox() { 
     
    101135        return "osm"; 
    102136    } 
     137     
     138    /** 
     139     * Finds the number of data layers currently opened 
     140     * @return Number of data layers 
     141     */ 
     142    private int getDataLayersCount() { 
     143        if(Main.map == null || Main.map.mapView == null) 
     144            return 0; 
     145        int num = 0; 
     146        for(Layer l : Main.map.mapView.getAllLayers()) 
     147            if(l instanceof OsmDataLayer) 
     148                num++; 
     149        return num; 
     150    } 
     151     
     152   /* 
     153    * (non-Javadoc) 
     154    * @see org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask#getErrorMessage() 
     155    */ 
     156    public String getErrorMessage() { 
     157        if(task == null) 
     158            return "";         
     159 
     160        try { 
     161            Task t = task.get(); 
     162            return t.errorMessage == null 
     163                ? "" 
     164                : t.errorMessage; 
     165        } catch (Exception e) { 
     166            return ""; 
     167        } 
     168    } 
    103169} 
  • trunk/src/org/openstreetmap/josm/gui/PleaseWaitDialog.java

    r1415 r1465  
    2626 
    2727    public final JLabel currentAction = new JLabel(I18n.tr("Contacting the OSM server...")); 
     28    private final JLabel customText = new JLabel(""); 
    2829    public final BoundedRangeModel progress = progressBar.getModel(); 
    2930    public final JButton cancel = new JButton(I18n.tr("Cancel")); 
     
    3536        pane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); 
    3637        pane.add(currentAction, GBC.eol().fill(GBC.HORIZONTAL)); 
     38        pane.add(customText, GBC.eol().fill(GBC.HORIZONTAL)); 
    3739        pane.add(progressBar, GBC.eop().fill(GBC.HORIZONTAL)); 
    3840        pane.add(cancel, GBC.eol().anchor(GBC.CENTER)); 
    3941        setContentPane(pane); 
    40         setSize(Main.pref.getInteger("progressdialog.size",600),100); 
     42        //setSize(Main.pref.getInteger("progressdialog.size",600),100); 
     43        setCustomText(""); 
    4144        setLocationRelativeTo(Main.parent); 
    4245        addComponentListener(new ComponentListener() { 
     
    5659        progressBar.setIndeterminate(newValue); 
    5760    } 
     61     
     62    /** 
     63     * Sets a custom text line below currentAction. Can be used to display additional information 
     64     * @param text 
     65     */ 
     66    public void setCustomText(String text) { 
     67        if(text.length() == 0) { 
     68            customText.setVisible(false); 
     69            setSize(Main.pref.getInteger("progressdialog.size", 600), 100); 
     70            return; 
     71        } 
     72         
     73        customText.setVisible(true); 
     74        customText.setText(text); 
     75        setSize(Main.pref.getInteger("progressdialog.size", 600), 120); 
     76    } 
    5877} 
  • trunk/src/org/openstreetmap/josm/gui/PleaseWaitRunnable.java

    r1195 r1465  
    2525 */ 
    2626public abstract class PleaseWaitRunnable implements Runnable { 
    27  
     27    public boolean silent = false; 
    2828    public String errorMessage; 
    2929 
     
    6666            // reset dialog state 
    6767            Main.pleaseWaitDlg.setTitle(title); 
     68            Main.pleaseWaitDlg.cancel.setEnabled(true); 
     69            Main.pleaseWaitDlg.setCustomText(""); 
    6870            errorMessage = null; 
    6971            closeDialogCalled = false; 
     
    131133                        Main.pleaseWaitDlg.dispose(); 
    132134                    } 
    133                     if (errorMessage != null) 
     135                    if (errorMessage != null && !silent) 
    134136                        JOptionPane.showMessageDialog(Main.parent, errorMessage); 
    135137                } 
  • trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java

    r1392 r1465  
    5151    public interface DownloadTask { 
    5252        /** 
    53          * Execute the download. 
    54          */ 
    55         void download(DownloadAction action, double minlat, double minlon, double maxlat, double maxlon); 
     53         * Execute the download using the given bounding box 
     54         */ 
     55        void download(DownloadAction action, double minlat, double minlon, 
     56                double maxlat, double maxlon); 
     57 
     58        /** 
     59         * Execute the download using the given bounding box. Set silent to true if no error 
     60         * messages should be popped up. Message can be used to display an additional text below 
     61         * the default description. 
     62         */ 
     63        void download(DownloadAction action, double minlat, double minlon, 
     64                double maxlat, double maxlon, boolean silent, String message); 
     65 
     66        /** 
     67         * Execute the download using the given URL 
     68         * @param newLayer 
     69         * @param url 
     70         */ 
    5671        void loadUrl(boolean newLayer, String url); 
     72 
    5773        /** 
    5874         * @return The checkbox presented to the user 
    5975         */ 
    6076        JCheckBox getCheckBox(); 
     77 
    6178        /** 
    6279         * @return The name of the preferences suffix to use for storing the 
     
    6481         */ 
    6582        String getPreferencesSuffix(); 
     83 
     84        /** 
     85         * Gets the error message of the task once it executed. If there is no error message, an empty 
     86         * string is returned. 
     87         * 
     88         * WARNING: Never call this in the same thread you requested the download() or it will cause a 
     89         * dead lock. See actions/downloadTasks/DownloadOsmTaskList.java for a proper implementation. 
     90         * 
     91         * @return Error message or empty String 
     92         */ 
     93        String getErrorMessage(); 
    6694    } 
    6795 
  • trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java

    r1462 r1465  
    1616import java.awt.geom.Area; 
    1717import java.awt.geom.Rectangle2D; 
    18 import java.io.BufferedReader; 
    1918import java.io.File; 
    20 import java.io.FileInputStream; 
    21 import java.io.FileOutputStream; 
     19import java.text.DateFormat; 
     20import java.text.DecimalFormat; 
    2221import java.io.InputStreamReader; 
    2322import java.net.URL; 
     
    3029import java.util.Comparator; 
    3130import java.util.Iterator; 
     31import java.util.Date; 
    3232import java.util.LinkedList; 
    33 import java.util.Date; 
    3433import java.util.List; 
    35 import java.text.DateFormat; 
    36 import java.text.DecimalFormat; 
    3734 
    3835import javax.swing.AbstractAction; 
     
    4037import javax.swing.ButtonGroup; 
    4138import javax.swing.Icon; 
    42 import javax.swing.JCheckBox; 
    4339import javax.swing.JColorChooser; 
    4440import javax.swing.JFileChooser; 
     
    5046import javax.swing.JRadioButton; 
    5147import javax.swing.JSeparator; 
    52 import javax.swing.JTextField; 
    5348import javax.swing.filechooser.FileFilter; 
    5449 
     
    5752import org.openstreetmap.josm.actions.SaveAction; 
    5853import org.openstreetmap.josm.actions.SaveAsAction; 
    59 import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask; 
     54import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTaskList; 
    6055import org.openstreetmap.josm.data.coor.EastNorth; 
    6156import org.openstreetmap.josm.data.coor.LatLon; 
     
    7166import org.openstreetmap.josm.gui.dialogs.LayerListDialog; 
    7267import org.openstreetmap.josm.gui.dialogs.LayerListPopup; 
    73 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; 
    7468import org.openstreetmap.josm.gui.layer.markerlayer.AudioMarker; 
    7569import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; 
    76 import org.openstreetmap.josm.io.GpxWriter; 
    77 import org.openstreetmap.josm.io.MultiPartFormOutputStream; 
    7870import org.openstreetmap.josm.tools.DontShowAgainInfo; 
    7971import org.openstreetmap.josm.tools.GBC; 
     
    380372        {-ll0,-sl9,-ll0,+sl9} 
    381373    }; 
    382      
     374 
    383375    // the different color modes 
    384376    enum colorModes { none, velocity, dilution } 
    385      
     377 
    386378    @Override public void paint(Graphics g, MapView mv) { 
    387379 
     
    392384        Color neutralColor = getColor(name); 
    393385        // also draw lines between points belonging to different segments 
    394         boolean forceLines = Main.pref.getBoolean("draw.rawgps.lines.force");    
     386        boolean forceLines = Main.pref.getBoolean("draw.rawgps.lines.force"); 
    395387        // draw direction arrows on the lines 
    396         boolean direction = Main.pref.getBoolean("draw.rawgps.direction");    
     388        boolean direction = Main.pref.getBoolean("draw.rawgps.direction"); 
    397389        // don't draw lines if longer than x meters 
    398         int maxLineLength = Main.pref.getInteger("draw.rawgps.max-line-length", -1);         
     390        int maxLineLength = Main.pref.getInteger("draw.rawgps.max-line-length", -1); 
    399391        // draw line between points, global setting 
    400         boolean lines = Main.pref.getBoolean("draw.rawgps.lines");                                 
     392        boolean lines = Main.pref.getBoolean("draw.rawgps.lines"); 
    401393        String linesKey = "draw.rawgps.lines.layer "+name; 
    402394        // draw lines, per-layer setting 
    403395        if (Main.pref.hasKey(linesKey)) 
    404             lines = Main.pref.getBoolean(linesKey);     
     396            lines = Main.pref.getBoolean(linesKey); 
    405397        // paint large dots for points 
    406398        boolean large = Main.pref.getBoolean("draw.rawgps.large"); 
     
    408400        colorModes colored = colorModes.none; 
    409401        try { 
    410             colored = colorModes.values()[Main.pref.getInteger("draw.rawgps.colors", 0)];  
     402            colored = colorModes.values()[Main.pref.getInteger("draw.rawgps.colors", 0)]; 
    411403        } catch(Exception e) { } 
    412404        // paint direction arrow with alternate math. may be faster 
    413         boolean alternatedirection = Main.pref.getBoolean("draw.rawgps.alternatedirection");     
     405        boolean alternatedirection = Main.pref.getBoolean("draw.rawgps.alternatedirection"); 
    414406        // don't draw arrows nearer to each other than this 
    415         int delta = Main.pref.getInteger("draw.rawgps.min-arrow-distance", 0);         
     407        int delta = Main.pref.getInteger("draw.rawgps.min-arrow-distance", 0); 
    416408        // allows to tweak line coloring for different speed levels. 
    417         int colorTracksTune = Main.pref.getInteger("draw.rawgps.colorTracksTune", 45);  
     409        int colorTracksTune = Main.pref.getInteger("draw.rawgps.colorTracksTune", 45); 
    418410        /**************************************************************** 
    419411         ********** STEP 2a - CHECK CACHE VALIDITY ********************** 
     
    460452                                        trkPnt.customColoring = colors[(int) (velColor)]; 
    461453                                    break; 
    462                                  
     454 
    463455                                case dilution: 
    464456                                    if(trkPnt.attr.get("hdop") != null) { 
     
    470462                                        trkPnt.customColoring = colors[hdopcolor]; 
    471463                                    } 
    472                                     break;                                 
     464                                    break; 
    473465                            } 
    474466 
     
    806798            } 
    807799 
    808             // FIXME: DownloadTask's "please wait" dialog should display the number of 
    809             // downloads left, and "cancel" needs to be honoured. An error along the way 
    810             // should abort the whole process. 
    811             DownloadTask osmTask = new DownloadOsmTask(); 
    812             for (Rectangle2D td : toDownload) { 
    813                osmTask.download(null, td.getMinY(), td.getMinX(), td.getMaxY(), td.getMaxX()); 
    814             } 
     800            new DownloadOsmTaskList().download(false, toDownload); 
    815801        } 
    816802    } 
  • trunk/src/org/openstreetmap/josm/io/BoundingBoxDownloader.java

    r1281 r1465  
    9393            Main.pleaseWaitDlg.progress.setValue(0); 
    9494            Main.pleaseWaitDlg.currentAction.setText(tr("Contacting OSM Server...")); 
    95             Main.pleaseWaitDlg.setIndeterminate(true);  
     95            Main.pleaseWaitDlg.setIndeterminate(true); 
    9696            final InputStream in = getInputStream("map?bbox="+lon1+","+lat1+","+lon2+","+lat2, Main.pleaseWaitDlg); 
    97             Main.pleaseWaitDlg.setIndeterminate(false);  
     97            Main.pleaseWaitDlg.setIndeterminate(false); 
    9898            if (in == null) 
    9999                return null; 
  • trunk/styles/standard/elemstyles.xml

    r1461 r1465  
    5151        <rule> 
    5252                <condition k="restriction" v="no_left_turn"/> 
    53                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/no_left_turn.png"/> 
     53                <icon annotate="true" src="vehicle/restriction/turn_restrictions/no_left_turn.png"/> 
    5454                <scale_min>1</scale_min> 
    5555                <scale_max>40000</scale_max> 
     
    5757        <rule> 
    5858                <condition k="restriction" v="no_right_turn"/> 
    59                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/no_right_turn.png"/> 
     59                <icon annotate="true" src="vehicle/restriction/turn_restrictions/no_right_turn.png"/> 
    6060                <scale_min>1</scale_min> 
    6161                <scale_max>40000</scale_max> 
     
    6363        <rule> 
    6464                <condition k="restriction" v="no_straight_on"/> 
    65                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/no_straight_on.png"/> 
     65                <icon annotate="true" src="vehicle/restriction/turn_restrictions/no_straight_on.png"/> 
    6666                <scale_min>1</scale_min> 
    6767                <scale_max>40000</scale_max> 
     
    6969        <rule> 
    7070                <condition k="restriction" v="no_u_turn"/> 
    71                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/no_u_turn.png"/> 
     71                <icon annotate="true" src="vehicle/restriction/turn_restrictions/no_u_turn.png"/> 
    7272                <scale_min>1</scale_min> 
    7373                <scale_max>40000</scale_max> 
     
    7575        <rule> 
    7676                <condition k="restriction" v="only_left_turn"/> 
    77                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/only_left_turn.png"/> 
     77                <icon annotate="true" src="vehicle/restriction/turn_restrictions/only_left_turn.png"/> 
    7878                <scale_min>1</scale_min> 
    7979                <scale_max>40000</scale_max> 
     
    8181        <rule> 
    8282                <condition k="restriction" v="only_right_turn"/> 
    83                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/only_right_turn.png"/> 
     83                <icon annotate="true" src="vehicle/restriction/turn_restrictions/only_right_turn.png"/> 
    8484                <scale_min>1</scale_min> 
    8585                <scale_max>40000</scale_max> 
     
    8787        <rule> 
    8888                <condition k="restriction" v="only_straight_on"/> 
    89                 <icon annotate="true" src="vehicle/restrictions/turn_restrictions/only_straight_on.png"/> 
     89                <icon annotate="true" src="vehicle/restriction/turn_restrictions/only_straight_on.png"/> 
    9090                <scale_min>1</scale_min> 
    9191                <scale_max>40000</scale_max> 
     
    170170        <rule> 
    171171                <condition k="access" b="no"/> 
    172                 <icon src="vehicle/restrictions/access.png"/> 
     172                <icon src="vehicle/restriction/access.png"/> 
    173173                <scale_min>1</scale_min> 
    174174                <scale_max>50000</scale_max> 
     
    198198        <rule> 
    199199                <condition k="bicycle" b="no"/> 
    200                 <icon src="vehicle/restrictions/bicycle.png"/> 
     200                <icon src="vehicle/restriction/bicycle.png"/> 
    201201                <scale_min>1</scale_min> 
    202202                <scale_max>50000</scale_max> 
     
    205205                <condition k="bicycle" v="designated"/> 
    206206                <line width="1" realwidth="2" colour="bicycle#ff00ff"/> 
    207                 <icon annotate="true" src="vehicle/restrictions/bicycle-designated.png"/> 
     207                <icon annotate="true" src="vehicle/restriction/bicycle-designated.png"/> 
    208208                <scale_min>1</scale_min> 
    209209                <scale_max>50000</scale_max> 
     
    212212        <rule> 
    213213                <condition k="foot" b="no"/> 
    214                 <icon src="vehicle/restrictions/foot.png"/> 
     214                <icon src="vehicle/restriction/foot.png"/> 
    215215                <scale_min>1</scale_min> 
    216216                <scale_max>50000</scale_max> 
     
    219219                <condition k="foot" v="designated"/> 
    220220                <line width="1" realwidth="1" colour="foot#00ff00"/> 
    221                 <icon annotate="true" src="vehicle/restrictions/foot-designated.png"/> 
     221                <icon annotate="true" src="vehicle/restriction/foot-designated.png"/> 
    222222                <scale_min>1</scale_min> 
    223223                <scale_max>10000</scale_max> 
     
    226226        <rule> 
    227227                <condition k="goods" b="no"/> 
    228                 <icon src="vehicle/restrictions/goods.png"/> 
     228                <icon src="vehicle/restriction/goods.png"/> 
    229229                <scale_min>1</scale_min> 
    230230                <scale_max>50000</scale_max> 
     
    233233        <rule> 
    234234                <condition k="hgv" b="no"/> 
    235                 <icon src="vehicle/restrictions/goods.png"/> 
     235                <icon src="vehicle/restriction/goods.png"/> 
    236236                <scale_min>1</scale_min> 
    237237                <scale_max>50000</scale_max> 
     
    240240        <rule> 
    241241                <condition k="horse" b="no"/> 
    242                 <icon src="vehicle/restrictions/horse.png"/> 
     242                <icon src="vehicle/restriction/horse.png"/> 
    243243                <scale_min>1</scale_min> 
    244244                <scale_max>50000</scale_max> 
     
    247247                <condition k="horse" v="designated"/> 
    248248                <line width="1" realwidth="2" colour="horse#c08000"/> 
    249                 <icon src="vehicle/restrictions/horse-designated.png"/> 
     249                <icon src="vehicle/restriction/horse-designated.png"/> 
    250250                <scale_min>1</scale_min> 
    251251                <scale_max>30000</scale_max> 
     
    254254        <rule> 
    255255                <condition k="motorcycle" b="no"/> 
    256                 <icon src="vehicle/restrictions/motorbike.png"/> 
     256                <icon src="vehicle/restriction/motorbike.png"/> 
    257257                <scale_min>1</scale_min> 
    258258                <scale_max>50000</scale_max> 
     
    261261        <rule> 
    262262                <condition k="motorcar" b="no"/> 
    263                 <icon src="vehicle/restrictions/motorcar.png"/> 
     263                <icon src="vehicle/restriction/motorcar.png"/> 
    264264                <scale_min>1</scale_min> 
    265265                <scale_max>50000</scale_max> 
     
    268268        <rule> 
    269269                <condition k="psv" b="no"/> 
    270                 <icon src="vehicle/restrictions/psv.png"/> 
     270                <icon src="vehicle/restriction/psv.png"/> 
    271271                <scale_min>1</scale_min> 
    272272                <scale_max>50000</scale_max> 
     
    289289        <rule> 
    290290                <condition k="noexit" b="yes"/> 
    291                 <icon src="vehicle/restrictions/dead_end.png"/> 
     291                <icon src="vehicle/restriction/dead_end.png"/> 
    292292                <scale_min>1</scale_min> 
    293293                <scale_max>50000</scale_max> 
     
    296296        <rule> 
    297297                <condition k="maxweight"/> 
    298                 <icon src="vehicle/restrictions/maxweight.png"/> 
     298                <icon src="vehicle/restriction/maxweight.png"/> 
    299299                <scale_min>1</scale_min> 
    300300                <scale_max>50000</scale_max> 
     
    303303        <rule> 
    304304                <condition k="maxheight"/> 
    305                 <icon src="vehicle/restrictions/maxheight.png"/> 
     305                <icon src="vehicle/restriction/maxheight.png"/> 
    306306                <scale_min>1</scale_min> 
    307307                <scale_max>50000</scale_max> 
     
    310310        <rule> 
    311311                <condition k="maxwidth"/> 
    312                 <icon src="vehicle/restrictions/maxwidth.png"/> 
     312                <icon src="vehicle/restriction/maxwidth.png"/> 
    313313                <scale_min>1</scale_min> 
    314314                <scale_max>50000</scale_max> 
     
    317317        <rule> 
    318318                <condition k="maxlength"/> 
    319                 <icon src="vehicle/restrictions/maxlength.png"/> 
     319                <icon src="vehicle/restriction/maxlength.png"/> 
    320320                <scale_min>1</scale_min> 
    321321                <scale_max>50000</scale_max> 
     
    324324        <rule> 
    325325                <condition k="maxspeed"/> 
    326                 <icon src="vehicle/restrictions/speed.png"/> 
     326                <icon src="vehicle/restriction/speed.png"/> 
    327327                <scale_min>1</scale_min> 
    328328                <scale_max>50000</scale_max> 
     
    331331        <rule> 
    332332                <condition k="minspeed"/> 
    333                 <icon src="vehicle/restrictions/minspeed.png"/> 
     333                <icon src="vehicle/restriction/minspeed.png"/> 
    334334                <scale_min>1</scale_min> 
    335335                <scale_max>50000</scale_max> 
     
    352352        <rule> 
    353353                <condition k="barrier" v="bollard"/> 
    354                 <icon annotate="true" src="vehicle/restrictions/bollard.png"/> 
     354                <icon annotate="true" src="vehicle/restriction/bollard.png"/> 
    355355                <scale_min>1</scale_min> 
    356356                <scale_max>50000</scale_max> 
     
    599599        <rule> 
    600600                <condition k="highway" v="mini_roundabout"/> 
    601                 <icon annotate="true" src="vehicle/restrictions/roundabout_left.png"/> 
     601                <icon annotate="true" src="vehicle/restriction/roundabout_left.png"/> 
    602602                <scale_min>1</scale_min> 
    603603                <scale_max>50000</scale_max> 
     
    606606        <rule> 
    607607                <condition k="highway" v="stop"/> 
    608                 <icon annotate="true" src="vehicle/restrictions/stop.png"/> 
     608                <icon annotate="true" src="vehicle/restriction/stop.png"/> 
    609609                <scale_min>1</scale_min> 
    610610                <scale_max>50000</scale_max> 
     
    613613        <rule> 
    614614                <condition k="highway" v="traffic_signals"/> 
    615                 <icon annotate="true" src="vehicle/restrictions/traffic-light.png"/> 
     615                <icon annotate="true" src="vehicle/restriction/traffic-light.png"/> 
    616616                <scale_min>1</scale_min> 
    617617                <scale_max>50000</scale_max> 
     
    620620        <rule> 
    621621                <condition k="highway" v="speed_camera"/> 
    622                 <icon annotate="true" src="vehicle/restrictions/speed_trap.png"/> 
     622                <icon annotate="true" src="vehicle/restriction/speed_trap.png"/> 
    623623                <scale_min>1</scale_min> 
    624624                <scale_max>50000</scale_max> 
     
    627627        <rule> 
    628628                <condition k="traffic_sign" v="city_limit"/> 
    629                 <icon annotate="true" src="vehicle/restrictions/citylimit.png"/> 
     629                <icon annotate="true" src="vehicle/restriction/citylimit.png"/> 
    630630                <scale_min>1</scale_min> 
    631631                <scale_max>40000</scale_max> 
     
    655655        <rule> 
    656656                <condition k="highway" v="toll_booth"/> 
    657                 <icon annotate="true" src="vehicle/toll_station.png"/> 
     657                <icon annotate="true" src="vehicle/toll_booth.png"/> 
    658658                <scale_min>1</scale_min> 
    659659                <scale_max>50000</scale_max> 
     
    662662        <rule> 
    663663                <condition k="highway" v="incline"/> 
    664                 <icon annotate="true" src="vehicle/restrictions/incline.png"/> 
     664                <icon annotate="true" src="vehicle/restriction/incline.png"/> 
    665665                <scale_min>1</scale_min> 
    666666                <scale_max>50000</scale_max> 
     
    669669        <rule> 
    670670                <condition k="highway" v="incline_steep"/> 
    671                 <icon annotate="true" src="vehicle/restrictions/incline.png"/> 
     671                <icon annotate="true" src="vehicle/restriction/incline.png"/> 
    672672                <scale_min>1</scale_min> 
    673673                <scale_max>50000</scale_max> 
     
    12131213                <condition k="piste:difficulty" v="easy"/> 
    12141214                <line width="6" colour="piste_easy#0000ff"/> 
    1215                 <icon src="sports/skiing.png"/> 
     1215                <icon src="sport/skiing.png"/> 
    12161216                <scale_min>1</scale_min> 
    12171217                <scale_max>30000</scale_max> 
     
    12211221                <condition k="piste:difficulty" v="intermediate"/> 
    12221222                <line width="6" colour="piste_intermediate#ff0000"/> 
    1223                 <icon src="sports/skiing.png"/> 
     1223                <icon src="sport/skiing.png"/> 
    12241224                <scale_min>1</scale_min> 
    12251225                <scale_max>30000</scale_max> 
     
    12291229                <condition k="piste:difficulty" v="advanced"/> 
    12301230                <line width="6" colour="piste_advanced#606060"/> 
    1231                 <icon src="sports/skiing.png"/> 
     1231                <icon src="sport/skiing.png"/> 
    12321232                <scale_min>1</scale_min> 
    12331233                <scale_max>30000</scale_max> 
     
    12371237                <condition k="piste:difficulty" v="freeride"/> 
    12381238                <line width="6" colour="piste_freeride#ffff00"/> 
    1239                 <icon src="sports/skiing.png"/> 
     1239                <icon src="sport/skiing.png"/> 
    12401240                <scale_min>1</scale_min> 
    12411241                <scale_max>30000</scale_max> 
     
    12451245                <condition k="piste:difficulty" v="novice"/> 
    12461246                <line width="6" colour="piste_novice#00ff00"/> 
    1247                 <icon src="sports/skiing.png"/> 
     1247                <icon src="sport/skiing.png"/> 
    12481248                <scale_min>1</scale_min> 
    12491249                <scale_max>300000</scale_max> 
     
    13531353                <condition k="man_made" v="pier"/> 
    13541354                <line width="2" colour="pier#660000"/> 
    1355                 <icon annotate="true" src="misc/landmark/pier.png"/> 
     1355                <icon annotate="true" src="nautical/pier.png"/> 
    13561356                <scale_min>1</scale_min> 
    13571357                <scale_max>50000</scale_max> 
     
    14421442        <rule> 
    14431443                <condition k="leisure" v="sports_centre"/> 
    1444                 <icon annotate="true" src="sports/centre.png"/> 
     1444                <icon annotate="true" src="sport/centre.png"/> 
    14451445                <area colour="leisure#c7f1a3"/> 
    14461446                <scale_min>1</scale_min> 
     
    14501450        <rule> 
    14511451                <condition k="leisure" v="golf_course"/> 
    1452                 <icon annotate="true" src="sports/golf.png"/> 
     1452                <icon annotate="true" src="sport/golf.png"/> 
    14531453                <area colour="leisure#c7f1a3"/> 
    14541454                <scale_min>1</scale_min> 
     
    14581458        <rule> 
    14591459                <condition k="leisure" v="stadium"/> 
    1460                 <icon annotate="true" src="sports/stadium.png"/> 
     1460                <icon annotate="true" src="sport/stadium.png"/> 
    14611461                <area colour="leisure#c7f1a3"/> 
    14621462                <scale_min>1</scale_min> 
     
    14661466        <rule> 
    14671467                <condition k="leisure" v="track"/> 
    1468                 <icon annotate="true" src="sports/track.png"/> 
     1468                <icon annotate="true" src="sport/track.png"/> 
    14691469                <area colour="leisure#c7f1a3"/> 
    14701470                <scale_min>1</scale_min> 
     
    14741474        <rule> 
    14751475                <condition k="leisure" v="pitch"/> 
    1476                 <icon annotate="true" src="sports/pitch.png"/> 
     1476                <icon annotate="true" src="sport/pitch.png"/> 
    14771477                <area colour="leisure#c7f1a3"/> 
    14781478                <scale_min>1</scale_min> 
     
    14821482        <rule> 
    14831483                <condition k="leisure" v="water_park"/> 
    1484                 <icon annotate="true" src="recreation/water_park.png"/> 
     1484                <icon annotate="true" src="leisure/water_park.png"/> 
    14851485                <area colour="leisure#c7f1a3"/> 
    14861486                <scale_min>1</scale_min> 
     
    15061506        <rule> 
    15071507                <condition k="leisure" v="fishing"/> 
    1508                 <icon annotate="true" src="sports/fishing.png"/> 
     1508                <icon annotate="true" src="sport/fishing.png"/> 
    15091509                <area colour="leisure#c7f1a3"/> 
    15101510                <scale_min>1</scale_min> 
     
    15141514        <rule> 
    15151515                <condition k="leisure" v="nature_reserve"/> 
    1516                 <icon annotate="true" src="recreation/nature_reserve.png"/> 
     1516                <icon annotate="true" src="leisure/nature_reserve.png"/> 
    15171517                <area colour="leisure#c7f1a3"/> 
    15181518                <scale_min>1</scale_min> 
     
    15221522        <rule> 
    15231523                <condition k="leisure" v="park"/> 
    1524                 <icon annotate="true" src="recreation/park.png"/> 
     1524                <icon annotate="true" src="leisure/park.png"/> 
    15251525                <area colour="leisure#c7f1a3"/> 
    15261526                <scale_min>1</scale_min> 
     
    15301530        <rule> 
    15311531                <condition k="leisure" v="playground"/> 
    1532                 <icon annotate="true" src="recreation/playground.png"/> 
     1532                <icon annotate="true" src="leisure/playground.png"/> 
    15331533                <area colour="leisure#c7f1a3"/> 
    15341534                <scale_min>1</scale_min> 
     
    15381538        <rule> 
    15391539                <condition k="leisure" v="garden"/> 
    1540                 <icon annotate="true" src="recreation/garden.png"/> 
     1540                <icon annotate="true" src="leisure/garden.png"/> 
    15411541                <area colour="leisure#c7f1a3"/> 
    15421542                <scale_min>1</scale_min> 
     
    15461546        <rule> 
    15471547                <condition k="leisure" v="common"/> 
    1548                 <icon annotate="true" src="recreation/common.png"/> 
     1548                <icon annotate="true" src="leisure/common.png"/> 
    15491549                <area colour="leisure#c7f1a3"/> 
    15501550                <scale_min>1</scale_min> 
     
    15541554        <rule> 
    15551555                <condition k="leisure" v="swimming_pool"/> 
    1556                 <icon annotate="true" src="sports/pool.png"/> 
     1556                <icon annotate="true" src="sport/pool.png"/> 
    15571557                <area colour="leisure#c7f1a3"/> 
    15581558                <scale_min>1</scale_min> 
     
    15621562        <rule> 
    15631563                <condition k="leisure" v="miniature_golf"/> 
    1564                 <icon annotate="true" src="sports/golf.png"/> 
     1564                <icon annotate="true" src="sport/golf.png"/> 
    15651565                <area colour="leisure#c7f1a3"/> 
    15661566                <scale_min>1</scale_min> 
     
    15881588        <rule> 
    15891589                <condition k="amenity" v="nightclub"/> 
    1590                 <icon annotate="true" src="recreation/nightclub.png"/> 
     1590                <icon annotate="true" src="leisure/nightclub.png"/> 
    15911591                <area colour="amenity#ecba52"/> 
    15921592                <scale_min>1</scale_min> 
     
    16761676        <rule> 
    16771677                <condition k="amenity" v="bicycle_rental"/> 
    1678                 <icon annotate="true" src="vehicle/bicycle_rental.png"/> 
     1678                <icon annotate="true" src="vehicle/rental/bicycle.png"/> 
    16791679                <area colour="amenity_traffic#f7efb7"/> 
    16801680                <scale_min>1</scale_min> 
     
    16841684        <rule> 
    16851685                <condition k="amenity" v="car_rental"/> 
    1686                 <icon annotate="true" src="vehicle/car_rental.png"/> 
     1686                <icon annotate="true" src="vehicle/rental/car.png"/> 
    16871687                <area colour="amenity_traffic#f7efb7"/> 
    16881688                <scale_min>1</scale_min> 
     
    17161716        <rule> 
    17171717                <condition k="amenity" v="fuel"/> 
    1718                 <icon annotate="true" src="vehicle/fuel_station.png"/> 
     1718                <icon annotate="true" src="vehicle/fuel.png"/> 
    17191719                <area colour="amenity_traffic#f7efb7"/> 
    17201720                <scale_min>1</scale_min> 
     
    17241724        <rule> 
    17251725                <condition k="amenity" v="telephone"/> 
    1726                 <icon annotate="true" src="public/telephone.png"/> 
     1726                <icon annotate="true" src="service/telephone.png"/> 
    17271727                <area colour="amenity_light#f7efb7"/> 
    17281728                <scale_min>1</scale_min> 
     
    17401740        <rule> 
    17411741                <condition k="amenity" v="toilets"/> 
    1742                 <icon annotate="true" src="public/toilets.png"/> 
     1742                <icon annotate="true" src="service/toilets.png"/> 
    17431743                <area colour="amenity_light#f7efb7"/> 
    17441744                <scale_min>1</scale_min> 
     
    17481748        <rule> 
    17491749                <condition k="amenity" v="recycling"/> 
    1750                 <icon annotate="true" src="public/recycling.png"/> 
     1750                <icon annotate="true" src="service/recycling.png"/> 
    17511751                <area colour="amenity_light#f7efb7"/> 
    17521752                <scale_min>1</scale_min> 
     
    18981898        <rule> 
    18991899                <condition k="amenity" v="post_office"/> 
    1900                 <icon annotate="true" src="public/post_office.png"/> 
     1900                <icon annotate="true" src="service/post_office.png"/> 
    19011901                <area colour="amenity_light#f7efb7"/> 
    19021902                <scale_min>1</scale_min> 
     
    19061906        <rule> 
    19071907                <condition k="amenity" v="post_box"/> 
    1908                 <icon annotate="true" src="public/post_box.png"/> 
     1908                <icon annotate="true" src="service/post_box.png"/> 
    19091909                <area colour="amenity_light#f7efb7"/> 
    19101910                <scale_min>1</scale_min> 
     
    20032003                <condition k="amenity" v="library"/> 
    20042004                <area colour="amenity_light#f7efb7"/> 
    2005                 <icon annotate="true" src="shopping/rental/library.png"/> 
     2005                <icon annotate="true" src="shop/rental/library.png"/> 
    20062006                <scale_min>1</scale_min> 
    20072007                <scale_max>50000</scale_max> 
     
    20112011                <condition k="amenity" v="police"/> 
    20122012                <area colour="amenity_light#f7efb7"/> 
    2013                 <icon annotate="true" src="public/police.png"/> 
     2013                <icon annotate="true" src="service/police.png"/> 
    20142014                <scale_min>1</scale_min> 
    20152015                <scale_max>50000</scale_max> 
     
    20192019                <condition k="amenity" v="fire_station"/> 
    20202020                <area colour="amenity_light#f7efb7"/> 
    2021                 <icon annotate="true" src="public/firebrigade.png"/> 
     2021                <icon annotate="true" src="service/firebrigade.png"/> 
    20222022                <scale_min>1</scale_min> 
    20232023                <scale_max>50000</scale_max> 
     
    20432043                <condition k="amenity" v="theatre"/> 
    20442044                <area colour="amenity_light#f7efb7"/> 
    2045                 <icon annotate="true" src="recreation/theater.png"/> 
     2045                <icon annotate="true" src="leisure/theater.png"/> 
    20462046                <scale_min>1</scale_min> 
    20472047                <scale_max>50000</scale_max> 
     
    20512051                <condition k="amenity" v="cinema"/> 
    20522052                <area colour="amenity_light#f7efb7"/> 
    2053                 <icon annotate="true" src="recreation/cinema.png"/> 
     2053                <icon annotate="true" src="leisure/cinema.png"/> 
    20542054                <scale_min>1</scale_min> 
    20552055                <scale_max>50000</scale_max> 
     
    20592059                <condition k="amenity" v="arts_centre"/> 
    20602060                <area colour="amenity_light#f7efb7"/> 
    2061                 <icon annotate="true" src="public/arts_centre.png"/> 
     2061                <icon annotate="true" src="service/arts_centre.png"/> 
    20622062                <scale_min>1</scale_min> 
    20632063                <scale_max>50000</scale_max> 
     
    20672067                <condition k="amenity" v="courthouse"/> 
    20682068                <area colour="amenity_light#f7efb7"/> 
    2069                 <icon annotate="true" src="public/administration/court_of_law.png"/> 
     2069                <icon annotate="true" src="service/administration/court_of_law.png"/> 
    20702070                <scale_min>1</scale_min> 
    20712071                <scale_max>50000</scale_max> 
     
    20752075                <condition k="amenity" v="prison"/> 
    20762076                <area colour="amenity_light#f7efb7"/> 
    2077                 <icon annotate="true" src="public/administration/prison.png"/> 
     2077                <icon annotate="true" src="service/administration/prison.png"/> 
    20782078                <scale_min>1</scale_min> 
    20792079                <scale_max>50000</scale_max> 
     
    21072107                <condition k="amenity" v="bench"/> 
    21082108                <area colour="amenity_light#f7efb7"/> 
    2109                 <icon annotate="true" src="recreation/bench.png"/> 
     2109                <icon annotate="true" src="leisure/bench.png"/> 
    21102110                <scale_min>1</scale_min> 
    21112111                <scale_max>50000</scale_max> 
     
    21462146        <rule> 
    21472147                <condition k="amenity" v="signpost"/> 
    2148                 <icon annotate="true" src="places/locality.png"/> 
     2148                <icon annotate="true" src="place/locality.png"/> 
    21492149                <line width="2" realwidth="5" dashed="true" colour="deprecated#ff0000"/> 
    21502150                <scale_min>1</scale_min> 
     
    21562156        <rule> 
    21572157                <condition k="shop" v="supermarket"/> 
    2158                 <icon annotate="true" src="shopping/supermarket.png"/> 
     2158                <icon annotate="true" src="shop/supermarket.png"/> 
    21592159                <area colour="shop#00005f"/> 
    21602160                <scale_min>1</scale_min> 
     
    21642164        <rule> 
    21652165                <condition k="shop" v="convenience"/> 
    2166                 <icon annotate="true" src="shopping/supermarket.png"/> 
     2166                <icon annotate="true" src="shop/supermarket.png"/> 
    21672167                <area colour="shop#00005f"/> 
    21682168                <scale_min>1</scale_min> 
     
    21722172        <rule> 
    21732173                <condition k="shop" v="bakery"/> 
    2174                 <icon annotate="true" src="shopping/groceries/bakery.png"/> 
     2174                <icon annotate="true" src="shop/groceries/bakery.png"/> 
    21752175                <area colour="shop#00005f"/> 
    21762176                <scale_min>1</scale_min> 
     
    21802180        <rule> 
    21812181                <condition k="shop" v="butcher"/> 
    2182                 <icon annotate="true" src="shopping/groceries/butcher.png"/> 
     2182                <icon annotate="true" src="shop/groceries/butcher.png"/> 
    21832183                <area colour="shop#00005f"/> 
    21842184                <scale_min>1</scale_min> 
     
    21882188        <rule> 
    21892189                <condition k="shop" v="bicycle"/> 
    2190                 <icon annotate="true" src="sports/bicycle.png"/> 
     2190                <icon annotate="true" src="sport/bicycle.png"/> 
    21912191                <area colour="shop#00005f"/> 
    21922192                <scale_min>1</scale_min> 
     
    21962196        <rule> 
    21972197                <condition k="shop" v="doityourself"/> 
    2198                 <icon annotate="true" src="shopping/diy_store.png"/> 
     2198                <icon annotate="true" src="shop/diy_store.png"/> 
    21992199                <area colour="shop#00005f"/> 
    22002200                <scale_min>1</scale_min> 
     
    22042204        <rule> 
    22052205                <condition k="shop" v="dry_cleaning"/> 
    2206                 <icon annotate="true" src="shopping/laundry.png"/> 
     2206                <icon annotate="true" src="shop/laundry.png"/> 
    22072207                <area colour="shop#00005f"/> 
    22082208                <scale_min>1</scale_min> 
     
    22122212        <rule> 
    22132213                <condition k="shop" v="laundry"/> 
    2214                 <icon annotate="true" src="shopping/laundry.png"/> 
     2214                <icon annotate="true" src="shop/laundry.png"/> 
    22152215                <area colour="shop#00005f"/> 
    22162216                <scale_min>1</scale_min> 
     
    22202220        <rule> 
    22212221                <condition k="shop" v="outdoor"/> 
    2222                 <icon annotate="true" src="shopping/sports/outdoor.png"/> 
     2222                <icon annotate="true" src="shop/sports/outdoor.png"/> 
    22232223                <area colour="shop#00005f"/> 
    22242224                <scale_min>1</scale_min> 
     
    22282228        <rule> 
    22292229                <condition k="shop" v="kiosk"/> 
    2230                 <icon annotate="true" src="shopping/kiosk.png"/> 
     2230                <icon annotate="true" src="shop/kiosk.png"/> 
    22312231                <area colour="shop#00005f"/> 
    22322232                <scale_min>1</scale_min> 
     
    22362236        <rule> 
    22372237                <condition k="shop" v="beverages"/> 
    2238                 <icon annotate="true" src="shopping/beverages.png"/> 
     2238                <icon annotate="true" src="shop/beverages.png"/> 
    22392239                <area colour="shop#00005f"/> 
    22402240                <scale_min>1</scale_min> 
     
    22442244        <rule> 
    22452245                <condition k="shop" v="books"/> 
    2246                 <icon annotate="true" src="shopping/rental/library.png"/> 
     2246                <icon annotate="true" src="shop/rental/library.png"/> 
    22472247                <area colour="shop#00005f"/> 
    22482248                <scale_min>1</scale_min> 
     
    22762276        <rule> 
    22772277                <condition k="shop" v="chemist"/> 
    2278                 <icon annotate="true" src="shopping/chemist.png"/> 
     2278                <icon annotate="true" src="shop/chemist.png"/> 
    22792279                <area colour="shop#00005f"/> 
    22802280                <scale_min>1</scale_min> 
     
    22842284        <rule> 
    22852285                <condition k="shop" v="clothes"/> 
    2286                 <icon annotate="true" src="shopping/clothes.png"/> 
     2286                <icon annotate="true" src="shop/clothes.png"/> 
    22872287                <area colour="shop#00005f"/> 
    22882288                <scale_min>1</scale_min> 
     
    22922292        <rule> 
    22932293                <condition k="shop" v="computer"/> 
    2294                 <icon annotate="true" src="shopping/computer.png"/> 
     2294                <icon annotate="true" src="shop/computer.png"/> 
    22952295                <area colour="shop#00005f"/> 
    22962296                <scale_min>1</scale_min> 
     
    23002300        <rule> 
    23012301                <condition k="shop" v="cycle_repair"/> 
    2302                 <icon annotate="true" src="sports/bicycle.png"/> 
     2302                <icon annotate="true" src="sport/bicycle.png"/> 
    23032303                <area colour="shop#00005f"/> 
    23042304                <scale_min>1</scale_min> 
     
    23082308        <rule> 
    23092309                <condition k="shop" v="department_store"/> 
    2310                 <icon annotate="true" src="shopping/mall.png"/> 
     2310                <icon annotate="true" src="shop/mall.png"/> 
    23112311                <area colour="shop#00005f"/> 
    23122312                <scale_min>1</scale_min> 
     
    23162316        <rule> 
    23172317                <condition k="shop" v="electronics"/> 
    2318                 <icon annotate="true" src="shopping/electronics.png"/> 
     2318                <icon annotate="true" src="shop/electronics.png"/> 
    23192319                <area colour="shop#00005f"/> 
    23202320                <scale_min>1</scale_min> 
     
    23242324        <rule> 
    23252325                <condition k="shop" v="furniture"/> 
    2326                 <icon annotate="true" src="shopping/furniture.png"/> 
     2326                <icon annotate="true" src="shop/furniture.png"/> 
    23272327                <area colour="shop#00005f"/> 
    23282328                <scale_min>1</scale_min> 
     
    23322332        <rule> 
    23332333                <condition k="shop" v="florist"/> 
    2334                 <icon annotate="true" src="shopping/florist.png"/> 
     2334                <icon annotate="true" src="shop/florist.png"/> 
    23352335                <area colour="shop#00005f"/> 
    23362336                <scale_min>1</scale_min> 
     
    23402340        <rule> 
    23412341                <condition k="shop" v="groceries"/> 
    2342                 <icon annotate="true" src="shopping/groceries/fruits.png"/> 
     2342                <icon annotate="true" src="shop/groceries/fruits.png"/> 
    23432343                <area colour="shop#00005f"/> 
    23442344                <scale_min>1</scale_min> 
     
    23482348        <rule> 
    23492349                <condition k="shop" v="garden_centre"/> 
    2350                 <icon annotate="true" src="shopping/garden_centre.png"/> 
     2350                <icon annotate="true" src="shop/garden_centre.png"/> 
    23512351                <area colour="shop#00005f"/> 
    23522352                <scale_min>1</scale_min> 
     
    23562356        <rule> 
    23572357                <condition k="shop" v="hairdresser"/> 
    2358                 <icon annotate="true" src="shopping/hairdresser.png"/> 
     2358                <icon annotate="true" src="shop/hairdresser.png"/> 
    23592359                <area colour="shop#00005f"/> 
    23602360                <scale_min>1</scale_min> 
     
    23642364        <rule> 
    23652365                <condition k="shop" v="hardware"/> 
    2366                 <icon annotate="true" src="shopping/diy_store.png"/> 
     2366                <icon annotate="true" src="shop/diy_store.png"/> 
    23672367                <area colour="shop#00005f"/> 
    23682368                <scale_min>1</scale_min> 
     
    23722372        <rule> 
    23732373                <condition k="shop" v="hifi"/> 
    2374                 <icon annotate="true" src="shopping/hifi.png"/> 
     2374                <icon annotate="true" src="shop/hifi.png"/> 
    23752375                <area colour="shop#00005f"/> 
    23762376                <scale_min>1</scale_min> 
     
    23802380        <rule> 
    23812381                <condition k="shop" v="jewelry"/> 
    2382                 <icon annotate="true" src="shopping/jewelry.png"/> 
     2382                <icon annotate="true" src="shop/jewelry.png"/> 
    23832383                <area colour="shop#00005f"/> 
    23842384                <scale_min>1</scale_min> 
     
    23882388        <rule> 
    23892389                <condition k="shop" v="mall"/> 
    2390                 <icon annotate="true" src="shopping/mall.png"/> 
     2390                <icon annotate="true" src="shop/mall.png"/> 
    23912391                <area colour="shop#00005f"/> 
    23922392                <scale_min>1</scale_min> 
     
    24042404        <rule> 
    24052405                <condition k="shop" v="newsagent"/> 
    2406                 <icon annotate="true" src="shopping/kiosk.png"/> 
     2406                <icon annotate="true" src="shop/kiosk.png"/> 
    24072407                <area colour="shop#00005f"/> 
    24082408                <scale_min>1</scale_min> 
     
    24122412        <rule> 
    24132413                <condition k="shop" v="organic"/> 
    2414                 <icon annotate="true" src="shopping/groceries/fruits.png"/> 
     2414                <icon annotate="true" src="shop/groceries/fruits.png"/> 
    24152415                <area colour="shop#00005f"/> 
    24162416                <scale_min>1</scale_min> 
     
    24202420        <rule> 
    24212421                <condition k="shop" v="optician"/> 
    2422                 <icon annotate="true" src="shopping/optician.png"/> 
     2422                <icon annotate="true" src="shop/optician.png"/> 
    24232423                <area colour="shop#00005f"/> 
    24242424                <scale_min>1</scale_min> 
     
    24282428        <rule> 
    24292429                <condition k="shop" v="shoes"/> 
    2430                 <icon annotate="true" src="shopping/shoes.png"/> 
     2430                <icon annotate="true" src="shop/shoes.png"/> 
    24312431                <area colour="shop#00005f"/> 
    24322432                <scale_min>1</scale_min> 
     
    24362436        <rule> 
    24372437                <condition k="shop" v="tailor"/> 
    2438                 <icon annotate="true" src="shopping/tailor.png"/> 
     2438                <icon annotate="true" src="shop/tailor.png"/> 
    24392439                <area colour="shop#00005f"/> 
    24402440                <scale_min>1</scale_min> 
     
    24442444        <rule> 
    24452445                <condition k="shop" v="travel_agency"/> 
    2446                 <icon annotate="true" src="places/island.png"/> 
     2446                <icon annotate="true" src="place/island.png"/> 
    24472447                <area colour="shop#00005f"/> 
    24482448                <scale_min>1</scale_min> 
     
    24522452        <rule> 
    24532453                <condition k="shop" v="toys"/> 
    2454                 <icon annotate="true" src="shopping/toys.png"/> 
     2454                <icon annotate="true" src="shop/toys.png"/> 
    24552455                <area colour="shop#00005f"/> 
    24562456                <scale_min>1</scale_min> 
     
    24602460        <rule> 
    24612461                <condition k="shop" v="video"/> 
    2462                 <icon annotate="true" src="shopping/video.png"/> 
    2463                 <area colour="shop#00005f"/> 
    2464                 <scale_min>1</scale_min> 
    2465                 <scale_max>50000</scale_max> 
    2466         </rule> 
    2467  
    2468         <!-- duplicate of shopping_centre? --> 
    2469         <rule> 
    2470                 <condition k="shop" v="shopping_center"/> 
    2471                 <icon annotate="true" src="shopping/mall.png"/> 
     2462                <icon annotate="true" src="shop/video.png"/> 
     2463                <area colour="shop#00005f"/> 
     2464                <scale_min>1</scale_min> 
     2465                <scale_max>50000</scale_max> 
     2466        </rule> 
     2467 
     2468        <!-- duplicate of shop_centre? --> 
     2469        <rule> 
     2470                <condition k="shop" v="shop_center"/> 
     2471                <icon annotate="true" src="shop/mall.png"/> 
    24722472                <area colour="shop#00005f"/> 
    24732473                <scale_min>1</scale_min> 
     
    25432543        <rule> 
    25442544                <condition k="tourism" v="picnic_site"/> 
    2545                 <icon annotate="true" src="recreation/picnic.png"/> 
     2545                <icon annotate="true" src="leisure/picnic.png"/> 
    25462546                <area colour="tourism#e180a2"/> 
    25472547                <scale_min>1</scale_min> 
     
    25592559        <rule> 
    25602560                <condition k="tourism" v="theme_park"/> 
    2561                 <icon annotate="true" src="recreation/theme_park.png"/> 
     2561                <icon annotate="true" src="leisure/theme_park.png"/> 
    25622562                <area colour="tourism#e180a2"/> 
    25632563                <scale_min>1</scale_min> 
     
    25752575        <rule> 
    25762576                <condition k="tourism" v="zoo"/> 
    2577                 <icon annotate="true" src="recreation/zoo.png"/> 
     2577                <icon annotate="true" src="leisure/zoo.png"/> 
    25782578                <area colour="tourism#e180a2"/> 
    25792579                <scale_min>1</scale_min> 
     
    25832583        <rule> 
    25842584                <condition k="tourism" v="artwork"/> 
    2585                 <icon annotate="true" src="public/arts_centre.png"/> 
     2585                <icon annotate="true" src="service/arts_centre.png"/> 
    25862586                <area colour="tourism#e180a2"/> 
    25872587                <scale_min>1</scale_min> 
     
    27732773                <condition k="landuse" v="retail"/> 
    27742774                <area colour="retail#dbdbdb"/> 
    2775                 <icon src="shopping/mall.png"/> 
     2775                <icon src="shop/mall.png"/> 
    27762776                <scale_min>1</scale_min> 
    27772777                <scale_max>50000</scale_max> 
     
    28462846                <condition k="landuse" v="village_green"/> 
    28472847                <area colour="green#b1e0c2"/> 
    2848                 <icon src="recreation/common.png"/> 
    2849                 <scale_min>1</scale_min> 
    2850                 <scale_max>50000</scale_max> 
    2851         </rule> 
    2852  
    2853         <rule> 
    2854                 <condition k="landuse" v="recreation_ground"/> 
     2848                <icon src="leisure/common.png"/> 
     2849                <scale_min>1</scale_min> 
     2850                <scale_max>50000</scale_max> 
     2851        </rule> 
     2852 
     2853        <rule> 
     2854                <condition k="landuse" v="leisure_ground"/> 
    28552855                <area colour="green#b1e0c2"/> 
    2856                 <icon src="recreation/common.png"/> 
     2856                <icon src="leisure/common.png"/> 
    28572857                <scale_min>1</scale_min> 
    28582858                <scale_max>50000</scale_max> 
     
    31673167                <condition k="sport" v="10pin"/> 
    31683168                <area colour="sport#bde3cb"/> 
    3169                 <icon src="sports/10pin.png"/> 
     3169                <icon src="sport/10pin.png"/> 
    31703170                <scale_min>1</scale_min> 
    31713171                <scale_max>50000</scale_max> 
     
    31833183                <condition k="sport" v="australian_football"/> 
    31843184                <area colour="sport#bde3cb"/> 
    3185                 <icon src="sports/football.png"/> 
     3185                <icon src="sport/football.png"/> 
    31863186                <scale_min>1</scale_min> 
    31873187                <scale_max>50000</scale_max> 
     
    31913191                <condition k="sport" v="baseball"/> 
    31923192                <area colour="sport#bde3cb"/> 
    3193                 <icon src="sports/baseball.png"/> 
     3193                <icon src="sport/baseball.png"/> 
    31943194                <scale_min>1</scale_min> 
    31953195                <scale_max>50000</scale_max> 
     
    31993199                <condition k="sport" v="basketball"/> 
    32003200                <area colour="sport#bde3cb"/> 
    3201                 <icon src="sports/basketball.png"/> 
     3201                <icon src="sport/basketball.png"/> 
    32023202                <scale_min>1</scale_min> 
    32033203                <scale_max>50000</scale_max> 
     
    32073207                <condition k="sport" v="boules"/> 
    32083208                <area colour="sport#bde3cb"/> 
    3209                 <icon src="sports/boule.png"/> 
     3209                <icon src="sport/boule.png"/> 
    32103210                <scale_min>1</scale_min> 
    32113211                <scale_max>50000</scale_max> 
     
    32153215                <condition k="sport" v="bowls"/> 
    32163216                <area colour="sport#bde3cb"/> 
    3217                 <icon src="sports/boule.png"/> 
     3217                <icon src="sport/boule.png"/> 
    32183218                <scale_min>1</scale_min> 
    32193219                <scale_max>50000</scale_max> 
     
    32313231                <condition k="sport" v="cricket"/> 
    32323232                <area colour="sport#bde3cb"/> 
    3233                 <icon src="sports/cricket.png"/> 
     3233                <icon src="sport/cricket.png"/> 
    32343234                <scale_min>1</scale_min> 
    32353235                <scale_max>50000</scale_max> 
     
    32473247                <condition k="sport" v="croquet"/> 
    32483248                <area colour="sport#bde3cb"/> 
    3249                 <icon src="sports/croquet.png"/> 
     3249                <icon src="sport/croquet.png"/> 
    32503250                <scale_min>1</scale_min> 
    32513251                <scale_max>50000</scale_max> 
     
    32553255                <condition k="sport" v="cycling"/> 
    32563256                <area colour="sport#bde3cb"/> 
    3257                 <icon src="sports/cycling.png"/> 
     3257                <icon src="sport/cycling.png"/> 
    32583258                <scale_min>1</scale_min> 
    32593259                <scale_max>50000</scale_max> 
     
    32713271                <condition k="sport" v="equestrian"/> 
    32723272                <area colour="sport#bde3cb"/> 
    3273                 <icon src="sports/riding.png"/> 
     3273                <icon src="sport/riding.png"/> 
    32743274                <scale_min>1</scale_min> 
    32753275                <scale_max>50000</scale_max> 
     
    32793279                <condition k="sport" v="football"/> 
    32803280                <area colour="sport#bde3cb"/> 
    3281                 <icon src="sports/football.png"/> 
     3281                <icon src="sport/football.png"/> 
    32823282                <scale_min>1</scale_min> 
    32833283                <scale_max>50000</scale_max> 
     
    32873287                <condition k="sport" v="golf"/> 
    32883288                <area colour="sport#bde3cb"/> 
    3289                 <icon src="sports/golf.png"/> 
     3289                <icon src="sport/golf.png"/> 
    32903290                <scale_min>1</scale_min> 
    32913291                <scale_max>50000</scale_max> 
     
    33033303                <condition k="sport" v="hockey"/> 
    33043304                <area colour="sport#bde3cb"/> 
    3305                 <icon src="sports/hockey.png"/> 
     3305                <icon src="sport/hockey.png"/> 
    33063306                <scale_min>1</scale_min> 
    33073307                <scale_max>50000</scale_max> 
     
    33113311                <condition k="sport" v="horse_racing"/> 
    33123312                <area colour="sport#bde3cb"/> 
    3313                 <icon src="sports/riding.png"/> 
     3313                <icon src="sport/riding.png"/> 
    33143314                <scale_min>1</scale_min> 
    33153315                <scale_max>50000</scale_max> 
     
    33273327                <condition k="sport" v="multi"/> 
    33283328                <area colour="sport#bde3cb"/> 
    3329                 <icon src="sports/multi.png"/> 
     3329                <icon src="sport/multi.png"/> 
    33303330                <scale_min>1</scale_min> 
    33313331                <scale_max>50000</scale_max> 
     
    33433343                <condition k="sport" v="racquet"/> 
    33443344                <area colour="sport#bde3cb"/> 
    3345                 <icon src="sports/racquetball.png"/> 
     3345                <icon src="sport/racquetball.png"/> 
    33463346                <scale_min>1</scale_min> 
    33473347                <scale_max>50000</scale_max> 
     
    33513351                <condition k="sport" v="rugby"/> 
    33523352                <area colour="sport#bde3cb"/> 
    3353                 <icon src="sports/football.png"/> 
     3353                <icon src="sport/football.png"/> 
    33543354                <scale_min>1</scale_min> 
    33553355                <scale_max>50000</scale_max> 
     
    33753375                <condition k="sport" v="soccer"/> 
    33763376                <area colour="sport#bde3cb"/> 
    3377                 <icon src="sports/soccer.png"/> 
     3377                <icon src="sport/soccer.png"/> 
    33783378                <scale_min>1</scale_min> 
    33793379                <scale_max>50000</scale_max> 
     
    33833383                <condition k="sport" v="swimming"/> 
    33843384                <area colour="sport#bde3cb"/> 
    3385                 <icon src="sports/pool.png"/> 
     3385                <icon src="sport/pool.png"/> 
    33863386                <scale_min>1</scale_min> 
    33873387                <scale_max>50000</scale_max> 
     
    33913391                <condition k="sport" v="skiing"/> 
    33923392                <area colour="sport#bde3cb"/> 
    3393                 <icon src="sports/skiing.png"/> 
     3393                <icon src="sport/skiing.png"/> 
    33943394                <scale_min>1</scale_min> 
    33953395                <scale_max>50000</scale_max> 
     
    33993399                <condition k="sport" v="table_tennis"/> 
    34003400                <area colour="sport#bde3cb"/> 
    3401                 <icon src="sports/table_tennis.png"/> 
     3401                <icon src="sport/table_tennis.png"/> 
    34023402                <scale_min>1</scale_min> 
    34033403                <scale_max>50000</scale_max> 
     
    34073407                <condition k="sport" v="tennis"/> 
    34083408                <area colour="sport#bde3cb"/> 
    3409                 <icon src="sports/tennis.png"/> 
     3409                <icon src="sport/tennis.png"/> 
    34103410                <scale_min>1</scale_min> 
    34113411                <scale_max>50000</scale_max> 
     
    34393439                <condition k="sport" v="volleyball"/> 
    34403440                <area colour="sport#bde3cb"/> 
    3441                 <icon annotate="true" src="sports/volleyball.png"/> 
     3441                <icon annotate="true" src="sport/volleyball.png"/> 
    34423442                <scale_min>1</scale_min> 
    34433443                <scale_max>50000</scale_max> 
     
    34473447                <condition k="sport" v="beachvolleyball"/> 
    34483448                <area colour="sport#bde3cb"/> 
    3449                 <icon annotate="true" src="sports/volleyball.png"/> 
     3449                <icon annotate="true" src="sport/volleyball.png"/> 
    34503450                <scale_min>1</scale_min> 
    34513451                <scale_max>50000</scale_max> 
     
    34553455                <condition k="sport" v="bowling"/> 
    34563456                <area colour="sport#bde3cb"/> 
    3457                 <icon annotate="true" src="sports/10pin.png"/> 
     3457                <icon annotate="true" src="sport/10pin.png"/> 
    34583458                <scale_min>1</scale_min> 
    34593459                <scale_max>50000</scale_max> 
     
    34633463                <condition k="sport" v="handball"/> 
    34643464                <area colour="sport#bde3cb"/> 
    3465                 <icon annotate="true" src="sports/handball.png"/> 
     3465                <icon annotate="true" src="sport/handball.png"/> 
    34663466                <scale_min>1</scale_min> 
    34673467                <scale_max>50000</scale_max> 
     
    34873487                <condition k="sport" v="diving"/> 
    34883488                <area colour="sport#bde3cb"/> 
    3489                 <icon annotate="true" src="sports/diving.png"/> 
     3489                <icon annotate="true" src="sport/diving.png"/> 
    34903490                <scale_min>1</scale_min> 
    34913491                <scale_max>50000</scale_max> 
     
    35033503                <condition k="sport" v="archery"/> 
    35043504                <area colour="sport#bde3cb"/> 
    3505                 <icon annotate="true" src="sports/archery.png"/> 
     3505                <icon annotate="true" src="sport/archery.png"/> 
    35063506                <scale_min>1</scale_min> 
    35073507                <scale_max>50000</scale_max> 
     
    35113511                <condition k="sport" v="fishing"/> 
    35123512                <area colour="sport#bde3cb"/> 
    3513                 <icon annotate="true" src="sports/fishing.png"/> 
     3513                <icon annotate="true" src="sport/fishing.png"/> 
    35143514                <scale_min>1</scale_min> 
    35153515                <scale_max>50000</scale_max> 
     
    35703570        <rule> 
    35713571                <condition k="place" v="continent"/> 
    3572                 <icon annotate="true" src="places/settlement/capital.png"/> 
     3572                <icon annotate="true" src="place/settlement/capital.png"/> 
    35733573                <area colour="place#8de3cb"/> 
    35743574                <scale_min>1</scale_min> 
     
    35783578        <rule> 
    35793579                <condition k="place" v="country"/> 
    3580                 <icon annotate="true" src="places/settlement/capital.png"/> 
     3580                <icon annotate="true" src="place/settlement/capital.png"/> 
    35813581                <area colour="place#8de3cb"/> 
    35823582                <scale_min>1</scale_min> 
     
    35863586        <rule> 
    35873587                <condition k="place" v="state"/> 
    3588                 <icon annotate="true" src="places/settlement/capital.png"/> 
     3588                <icon annotate="true" src="place/settlement/capital.png"/> 
    35893589                <area colour="place#8de3cb"/> 
    35903590                <scale_min>1</scale_min> 
     
    35943594        <rule> 
    35953595                <condition k="place" v="region"/> 
    3596                 <icon annotate="true" src="places/settlement/capital.png"/> 
     3596                <icon annotate="true" src="place/settlement/capital.png"/> 
    35973597                <area colour="place#8de3cb"/> 
    35983598                <scale_min>1</scale_min> 
     
    36023602        <rule> 
    36033603                <condition k="place" v="county"/> 
    3604                 <icon annotate="true" src="places/settlement/capital.png"/> 
     3604                <icon annotate="true" src="place/settlement/capital.png"/> 
    36053605                <area colour="place#8de3cb"/> 
    36063606                <scale_min>1</scale_min> 
     
    36103610        <rule> 
    36113611                <condition k="place" v="city"/> 
    3612                 <icon annotate="true" src="places/settlement/city.png"/> 
     3612                <icon annotate="true" src="place/settlement/city.png"/> 
    36133613                <area colour="place#8de3cb"/> 
    36143614                <scale_min>1</scale_min> 
     
    36183618        <rule> 
    36193619                <condition k="place" v="town"/> 
    3620                 <icon annotate="true" src="places/settlement/town.png"/> 
     3620                <icon annotate="true" src="place/settlement/town.png"/> 
    36213621                <area colour="place#8de3cb"/> 
    36223622                <scale_min>1</scale_min> 
     
    36263626        <rule> 
    36273627                <condition k="place" v="village"/> 
    3628                 <icon annotate="true" src="places/settlement/town.png"/> 
     3628                <icon annotate="true" src="place/settlement/town.png"/> 
    36293629                <area colour="place#8de3cb"/> 
    36303630                <scale_min>1</scale_min> 
     
    36343634        <rule> 
    36353635                <condition k="place" v="hamlet"/> 
    3636                 <icon annotate="true" src="places/settlement/town.png"/> 
     3636                <icon annotate="true" src="place/settlement/town.png"/> 
    36373637                <area colour="place#8de3cb"/> 
    36383638                <scale_min>1</scale_min> 
     
    36423642        <rule> 
    36433643                <condition k="place" v="suburb"/> 
    3644                 <icon annotate="true" src="places/settlement/town.png"/> 
     3644                <icon annotate="true" src="place/settlement/town.png"/> 
    36453645                <area colour="place#8de3cb"/> 
    36463646                <scale_min>1</scale_min> 
     
    36503650        <rule> 
    36513651                <condition k="place" v="locality"/> 
    3652                 <icon annotate="true" src="places/locality.png"/> 
     3652                <icon annotate="true" src="place/locality.png"/> 
    36533653                <area colour="place#8de3cb"/> 
    36543654                <scale_min>1</scale_min> 
     
    36583658        <rule> 
    36593659                <condition k="place" v="island"/> 
    3660                 <icon annotate="true" src="places/island.png"/> 
     3660                <icon annotate="true" src="place/island.png"/> 
    36613661                <area colour="place#8de3cb"/> 
    36623662                <scale_min>1</scale_min> 
     
    36673667        <rule> 
    36683668                <condition k="openGeoDB:type" v="Stadt"/> 
    3669                 <icon annotate="true" src="places/settlement/town.png"/> 
     3669                <icon annotate="true" src="place/settlement/town.png"/> 
    36703670                <scale_min>1</scale_min> 
    36713671                <scale_max>50000</scale_max> 
     
    36743674        <rule> 
    36753675                <condition k="openGeoDB:type" v="Kreis"/> 
    3676                 <icon annotate="true" src="places/settlement/town.png"/> 
     3676                <icon annotate="true" src="place/settlement/town.png"/> 
    36773677                <scale_min>1</scale_min> 
    36783678                <scale_max>50000</scale_max> 
     
    36813681        <rule> 
    36823682                <condition k="openGeoDB:type" v="Gemeinde"/> 
    3683                 <icon annotate="true" src="places/settlement/town.png"/> 
     3683                <icon annotate="true" src="place/settlement/town.png"/> 
    36843684                <scale_min>1</scale_min> 
    36853685                <scale_max>50000</scale_max> 
     
    36883688        <rule> 
    36893689                <condition k="openGeoDB:type" v="Ort"/> 
    3690                 <icon annotate="true" src="places/settlement/town.png"/> 
     3690                <icon annotate="true" src="place/settlement/town.png"/> 
    36913691                <scale_min>1</scale_min> 
    36923692                <scale_max>50000</scale_max> 
     
    36953695        <rule> 
    36963696                <condition k="openGeoDB:type" v="District"/> 
    3697                 <icon annotate="true" src="places/settlement/town.png"/> 
     3697                <icon annotate="true" src="place/settlement/town.png"/> 
    36983698                <scale_min>1</scale_min> 
    36993699                <scale_max>50000</scale_max> 
     
    37023702        <rule> 
    37033703                <condition k="openGeoDB:location" v="locality"/> 
    3704                 <icon annotate="true" src="places/settlement/town.png"/> 
     3704                <icon annotate="true" src="place/settlement/town.png"/> 
    37053705                <scale_min>1</scale_min> 
    37063706                <scale_max>50000</scale_max> 
Note: See TracChangeset for help on using the changeset viewer.