3- Ejercicio Filter (AlfaNumerico)
by solcursomapea
HTML
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/assets/css/mapea.ol.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>
<div id="map"></div>
CSS
<style rel="stylesheet">html,
body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
JavaScript
// Mapea - Documentación clases
// http://mapea4-sigc.juntadeandalucia.es/doc/index.html
// Mapea - Primeros Pasos
// https://github.com/sigcorporativo-ja/Mapea4/wiki/Primeros-pasos
let map = M.map({
"container": "map",
"layers": ["OSM"],
"projection": "EPSG:4326*d",
"zoom": 5,
center: [-6, 36]
});
// WFS
let ayuntamientos = new M.layer.WFS({
url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
namespace: "mapea",
name: "assda_sv10_ayuntamiento_point_indicadores",
legend: "Ayuntamientos",
geometry: 'POINT',
});
map.addLayers(ayuntamientos)
/** Clase Filter **/
/** Filtrado lógico y alfanumerico
- M.filter.OR(FILTROS)
- M.filter.AND(FILTROS)
- M.filter.EQUAL(ATTR, VALUE)
- M.filter.NOT(FILTRO)
- M.filter.LIKE(ATTR, VALUE)
- M.filter.LT(ATTR, VALUE)
- M.filter.LTE(ATTR, VALUE)
- M.filter.GT(ATTR, VALUE)
- M.filter.GTE(ATTR, VALUE)
**/
/**
datos string: municipio, nom_prov
datos numericos: ogc_fid, s100, poblacion
**/
let equal = M.filter.EQUAL("nom_prov", "Sevilla");
let like = M.filter.LIKE("nom_prov", "C");
let not = M.filter.NOT(equal);
let lt = M.filter.LT("ogc_fid", 40);
let gt = M.filter.GT("poblacion", 600);
let or = M.filter.OR([equal, like]);
let and = M.filter.AND([not, gt])
/**Ejercicio
Filtra aquellos puntos que no pertenecen ni a huelva ni a Almeria y cuya población supere 2000 habitantes.
**/
let equalHuelva = M.filter.EQUAL("nom_prov", "Huelva");
let equalAlmeria = M.filter.EQUAL("nom_prov", "Almería");
let notHuelva = M.filter.NOT(equalHuelva);
let notAlmeria = M.filter.NOT(equalAlmeria);
let gte = M.filter.GT("poblacion", 2000);
let filter = M.filter.AND([notHuelva, notAlmeria, gte]);
ayuntamientos.setFilter(filter);