Changeset 1465 in josm


Ignore:
Timestamp:
2009-03-07T13:40:54+01:00 (16 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.