diff --git a/src/main/webapp/js/3rdparty/ol3-layerswitcher.js b/src/main/webapp/js/3rdparty/ol3-layerswitcher.js
deleted file mode 100755
index 75e1520181f1b4ce76a02190710363ace59ade1e..0000000000000000000000000000000000000000
--- a/src/main/webapp/js/3rdparty/ol3-layerswitcher.js
+++ /dev/null
@@ -1,232 +0,0 @@
-/**
- * OpenLayers 3 Layer Switcher Control.
- * See [the examples](./examples) for usage.
- * @constructor
- * @extends {ol.control.Control}
- * @param {Object} opt_options Control options, extends olx.control.ControlOptions adding:
- *                              **`tipLabel`** `String` - the button tooltip.
- */
-ol.control.LayerSwitcher = function(opt_options) {
-
-    var options = opt_options || {};
-
-    var tipLabel = options.tipLabel ?
-      options.tipLabel : 'Legend';
-
-    this.mapListeners = [];
-
-    this.hiddenClassName = 'ol-unselectable ol-control layer-switcher';
-    this.shownClassName = this.hiddenClassName + ' shown';
-
-    var element = document.createElement('div');
-    element.className = this.hiddenClassName;
-
-    var button = document.createElement('button');
-    button.setAttribute('title', tipLabel);
-    element.appendChild(button);
-
-    this.panel = document.createElement('div');
-    this.panel.className = 'panel';
-    element.appendChild(this.panel);
-
-    var this_ = this;
-
-    element.onmouseover = function(e) {
-        this_.showPanel();
-    };
-
-    button.onclick = function(e) {
-        this_.showPanel();
-    };
-
-    element.onmouseout = function(e) {
-        e = e || window.event;
-        if (!element.contains(e.toElement)) {
-            this_.hidePanel();
-        }
-    };
-
-    ol.control.Control.call(this, {
-        element: element,
-        target: options.target
-    });
-
-};
-
-ol.inherits(ol.control.LayerSwitcher, ol.control.Control);
-
-/**
- * Show the layer panel.
- */
-ol.control.LayerSwitcher.prototype.showPanel = function() {
-    if (this.element.className != this.shownClassName) {
-        this.element.className = this.shownClassName;
-        this.renderPanel();
-    }
-};
-
-/**
- * Hide the layer panel.
- */
-ol.control.LayerSwitcher.prototype.hidePanel = function() {
-    if (this.element.className != this.hiddenClassName) {
-        this.element.className = this.hiddenClassName;
-    }
-};
-
-/**
- * Re-draw the layer panel to represent the current state of the layers.
- */
-ol.control.LayerSwitcher.prototype.renderPanel = function() {
-
-    this.ensureTopVisibleBaseLayerShown_();
-
-    while(this.panel.firstChild) {
-        this.panel.removeChild(this.panel.firstChild);
-    }
-
-    var ul = document.createElement('ul');
-    this.panel.appendChild(ul);
-    this.renderLayers_(this.getMap(), ul);
-
-};
-
-/**
- * Set the map instance the control is associated with.
- * @param {ol.Map} map The map instance.
- */
-ol.control.LayerSwitcher.prototype.setMap = function(map) {
-    // Clean up listeners associated with the previous map
-    for (var i = 0, key; i < this.mapListeners.length; i++) {
-        this.getMap().unByKey(this.mapListeners[i]);
-    }
-    this.mapListeners.length = 0;
-    // Wire up listeners etc. and store reference to new map
-    ol.control.Control.prototype.setMap.call(this, map);
-    if (map) {
-        var this_ = this;
-        this.mapListeners.push(map.on('pointerdown', (event) => {
-            this_.hidePanel();
-        }));
-        this.renderPanel();
-    }
-};
-
-/**
- * Ensure only the top-most base layer is visible if more than one is visible.
- * @private
- */
-ol.control.LayerSwitcher.prototype.ensureTopVisibleBaseLayerShown_ = function() {
-    var lastVisibleBaseLyr;
-    ol.control.LayerSwitcher.forEachRecursive(this.getMap(), function(l, idx, a) {
-        if (l.get('type') === 'base' && l.getVisible()) {
-            lastVisibleBaseLyr = l;
-        }
-    });
-    if (lastVisibleBaseLyr) this.setVisible_(lastVisibleBaseLyr, true);
-};
-
-/**
- * Toggle the visible state of a layer.
- * Takes care of hiding other layers in the same exclusive group if the layer
- * is toggle to visible.
- * @private
- * @param {ol.layer.Base} The layer whos visibility will be toggled.
- */
-ol.control.LayerSwitcher.prototype.setVisible_ = function(lyr, visible) {
-    var map = this.getMap();
-    lyr.setVisible(visible);
-    if (visible && lyr.get('type') === 'base') {
-        // Hide all other base layers regardless of grouping
-        ol.control.LayerSwitcher.forEachRecursive(map, function(l, idx, a) {
-            if (l != lyr && l.get('type') === 'base') {
-                l.setVisible(false);
-            }
-        });
-    }
-};
-
-/**
- * Render all layers that are children of a group.
- * @private
- * @param {ol.layer.Base} lyr Layer to be rendered (should have a title property).
- * @param {Number} idx Position in parent group list.
- */
-ol.control.LayerSwitcher.prototype.renderLayer_ = function(lyr, idx) {
-
-    var this_ = this;
-
-    var li = document.createElement('li');
-
-    var lyrTitle = lyr.get('title');
-    var lyrId = lyr.get('title').replace(/\s+/g, '-') + '_' + idx;
-
-    var label = document.createElement('label');
-
-    if (lyr.getLayers) {
-
-        li.className = 'group';
-        label.innerHTML = lyrTitle;
-        li.appendChild(label);
-        var ul = document.createElement('ul');
-        li.appendChild(ul);
-
-        this.renderLayers_(lyr, ul);
-
-    } else {
-
-        var input = document.createElement('input');
-        if (lyr.get('type') === 'base') {
-            input.type = 'radio';
-            input.name = 'base';
-        } else {
-            input.type = 'checkbox';
-        }
-        input.id = lyrId;
-        input.checked = lyr.get('visible');
-        input.onchange = function(e) {
-            this_.setVisible_(lyr, e.target.checked);
-        };
-        li.appendChild(input);
-
-        label.htmlFor = lyrId;
-        label.innerHTML = lyrTitle;
-        li.appendChild(label);
-
-    }
-
-    return li;
-
-};
-
-/**
- * Render all layers that are children of a group.
- * @private
- * @param {ol.layer.Group} lyr Group layer whos children will be rendered.
- * @param {Element} elm DOM element that children will be appended to.
- */
-ol.control.LayerSwitcher.prototype.renderLayers_ = function(lyr, elm) {
-    var lyrs = lyr.getLayers().getArray().slice().reverse();
-    for (var i = 0, l; i < lyrs.length; i++) {
-        l = lyrs[i];
-        if (l.get('title')) {
-            elm.appendChild(this.renderLayer_(l, i));
-        }
-    }
-};
-
-/**
- * **Static** Call the supplied function for each layer in the passed layer group
- * recursing nested groups.
- * @param {ol.layer.Group} lyr The layer group to start iterating from.
- * @param {Function} fn Callback which will be called for each `ol.layer.Base`
- * found under `lyr`. The signature for `fn` is the same as `ol.Collection#forEach`
- */
-ol.control.LayerSwitcher.forEachRecursive = function(lyr, fn) {
-    lyr.getLayers().forEach(function(lyr, idx, a) {
-        fn(lyr, idx, a);
-        if (lyr.getLayers) {
-            ol.control.LayerSwitcher.forEachRecursive(lyr, fn);
-        }
-    });
-};