CP-060-04 - FILTRADOS ALFANUMERICOS CON CQL

FILTRADOS ALFANUMERICOS CON CQL (AND, OR, GT, LT, GTE, LTE, EQUAL, LIKE, ETC) (antiguo test: https://codepen.io/sigc_gdtel/pen/LyqYzb)

by SIGC GUADALTEL

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/assets/css/mapea.ol.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/vendor/browser-polyfill.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/mapea.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/configuration.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.min.css">
<button type="button" onclick="filterMunicipiosKML()">Interseccion Municipios-Puntos KML</button>
    <button type="button" onclick="filterKMLMunicipios()">Interseccion Puntos KML-Municipios</button>
    <button type="button" onclick="filterInstersectAndAttribute()">Filtro AND por atributo</button>
    <button type="button" onclick="filterIntersectEqualOr()">Filtro Equal - OR</button>
    <button type="button" onclick="filterIntersectionLikeOr()">Filtro Like - OR</button>
    <button type="button" onclick="filterIntersectionLTOr()">Filtro LT - OR</button>
    <button type="button" onclick="filterIntersectionGTOr()">Filtro GT - OR</button>
    <button type="button" onclick="filterIntersectionLTEOr()">Filtro LTE - OR</button>
    <button type="button" onclick="filterIntersectionGTEOr()">Filtro GTE - OR</button>
    <button type="button" onclick="removeFilters()">Quitar filtros</button>
    <div id="map" class="container"></div>

CSS

<style rel="stylesheet">
      html,
      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: hidden;
      }

JavaScript

var m = M.map({
  "controls": ["layerswitcher", "panzoom", "navtoolbar","mouse"],
  "wmcfiles": ["callejero"],
  "container": "map",
  "layers": [
           "WFST*CapaWFS2*http://clientes.guadaltel.es/desarrollo/geossigc/callejero/wms?*callejero:prueba_pol_wfst*MPOLYGON",
           "WFST*CapaWFS2*http://clientes.guadaltel.es/desarrollo/geossigc/cfv/wms?*cfv:da02_term_munic*MPOLYGON",
           "KML*Arboleda*http://mapea-sigc.juntadeandalucia.es/Componente/kml/*arbda_sing_se.kml*true"
       ]
}).addPlugin(new M.plugin.AttributeTable());

m.addPlugin(new M.plugin.Printer({
  "params": {
    "pages": {
      "clientLogo": "http://www.juntadeandalucia.es/economiayhacienda/images/plantilla/logo_cabecera.gif",
      "creditos": "Impresión generada a través de Mapea"
    },
    "layout": {
      "outputFilename": "mapea_${yyyy-MM-dd_hhmmss}"
    }
  }
}, {
  "options": {
    "legend": "true"
  }
}));


var prueba_pol_wfst = m.getWFS()[0];
var municipios = m.getWFS()[1];
var layerKML = m.getKML()[0];


//INTERSECT LAYER-LAYER - Municipios en los que hay puntos KML
function filterMunicipiosKML() {
  let filtro = M.filter.spatial.INTERSECT(layerKML);
  municipios.setFilter(filtro);
}

//INTERSECT LAYER-LAYER - Puntos KML en los que hay polígonos de la capa de polígonos
function filterKMLMunicipios() {
  let filtro = M.filter.spatial.INTERSECT(prueba_pol_wfst);
  layerKML.setFilter(filtro);
}

// //INTERSECT CON FILTRO AND
// Filtra aquellos municipios que intersequen con la capa de puntos y esten
// en la provincia de Huelva
function filterInstersectAndAttribute() {
  let filtro = M.filter.spatial.INTERSECT(prueba_pol_wfst);
  let filtro2 = new M.filter.Function(
    function(feature) {
      return feature.getAttribute("provincia") === "Huelva";
    });
  let and = M.filter.AND([filtro, filtro2]);
  municipios.setFilter(and)
}


// //FILTRO EQUAL CON INTERSECT
// Filtra aquellos municipios que intersequen con la capa de polígonos ó
// cuyo codigo de municipio sea...