CP-050-01 - FILTROS ALFANUMERICOS

Mapea 5 FILTROS ALFANUMERICOS (OR, EQUAL, LIKE, LT, GT, LTE, GTE, ByID)

by SIGC

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/stylemanager/stylemanager.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/mapea.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/configuration.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/assets/css/mapea.ol.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/1.3.7/chroma.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/stylemanager/stylemanager.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/attributetable/attributetable.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/attributetable/attributetable.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/printer/printer.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/plugins/printer/printer.ol.min.js"></script>
<button type="button" onclick="filterById()">Filtro punto por ID</button>
<button type="button" onclick="filterAnd()">Filtro punto AND </button>
<button type="button" onclick="filterOr()">Filtro punto OR</button>
<button type="button" onclick="filterOrConcat()">Filtro punto OR-Concat</button>
<button type="button" onclick="filterEqual()">Filtro provincia EQUAL</button>
<button type="button" onclick="filterLike()">Filtro provincia LIKE</button>
<button type="button" onclick="filterLT()">Filtro provincia LT</button>
<button type="button" onclick="filterGT()">Filtro provincia GT</button>
<button type="button" onclick="filterLTE()">Filtro provincia LTE</button>
<button type="button" onclick="filterGTE()">Filtro provincia GTE</button>
<button type="button" onclick="removeFilter()">Quitar Filtros</button>
<div id="map" class="container"></div>

CSS

html,
 body {
   margin: 0;
   padding: 0;
   height: 100%;
   overflow: hidden;
 }

JavaScript

var mapajs = M.map({
  container: "map",
  wmcfile: "callejero"
}).addPlugin(new M.plugin.AttributeTable());

// Capa de puntos
var layer = new M.layer.WFS("WFST*capa wfs*http://clientes.guadaltel.es/desarrollo/geossigc/wfs?*mapea:prueba_pun_wfst*MPOINT");
// capa de provincias
var lyProvincias = new M.layer.WFS({
  url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?",
  namespace: "tematicos",
  name: "Provincias",
  legend: "Provincias",
  geometry: "MPOLYGON"
});

mapajs.addLayers(layer);
mapajs.addLayers(lyProvincias);

// Filtra el punto cuya is es prueba_pun_wfst.1619
function filterById() {
  let filtro = new M.filter.Function(
    function(feature) {
      return feature.getId() === "prueba_pun_wfst.1619";
    }
  );
  layer.setFilter(filtro);
}


//Ejemplo filtro and
// Filtra aquellos puntos que tienen id prueba_pun_wfst.1617
// y el atributo cod_gesta es 0

function filterAnd() {
  let filtroId = new M.filter.Function(
    function(feature) {
      return feature.getId() === "prueba_pun_wfst.1617";
    });
  let filtroGeometry = new M.filter.Function(
    function(feature) {
      return feature.getAttributes().cod_gesta === 0;
    });
  let filterAnd = M.filter.AND([filtroId, filtroGeometry])
  layer.setFilter(filterAnd);
}

//Ejemplo filtro or
// Filtra aquellos puntos que tienen id prueba_pun_wfst.1617
// o prueba_pun_wfst.1616

function filterOr() {
  let filtroIdA = new M.filter.Function(
    function(feature) {
      return feature.getId() === "prueba_pun_wfst.1616";
    }
  );
  let filtroIdB = new M.filter.Function(
    function(feature) {
      return feature.getId() === "prueba_pun_wfst.1617";
    }
  );
  let filterOr = M.filter.OR([filtroIdA, filtroIdB]);
  layer.setFilter(filterOr);
}

//Ejemplo concatenando filtros
// Filtra los puntos que tengan los id 1616, 1617 o 1622
function filterOrConcat() {
  let filtroA = new M.filter.Function(function(feature) {
    return feature.getId() === "prueba_pun_wfst.1616";
 ...