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";
...