filter

Descripción

Espacio de nombres de funciones para la contrucción de filtros en capas Raster y Vector.

Clases


new <abstract> Filter()

Métodos


<static> and( ...condiciones ) → {SITNA.filter.Filter}

Descripción

Crea un operador entre 2 o más condiciones de filtrado.

Parámetros
Nombre Tipo Atributos Descripción
condiciones SITNA.filter.Filter <repeatable>

Lista de condiciones de filtrado.

Returns

Filtro <And>

Ejemplos

Ejemplo de contatenación de filtros mediante el operador lógico <And> Ver en vivo


<div id="mapa"></div>
<script>
   // Establecemos un layout simplificado apto para hacer demostraciones de controles.
   SITNA.Cfg.layout = "layout/ctl-container";
   // Añadimos el control de tabla de contenidos en la primera posición.
   SITNA.Cfg.controls.TOC = {
       div: "slot1"
   };
   var map = new SITNA.Map("mapa", {
       // Mapa centrado de Pamplona
       initialExtent: [606239, 4738249, 614387, 4744409],
       workLayers: [ 
           {
               id: "layer",
               title: "Tuberias de abastecimento",
               type: SITNA.Consts.layerType.WMS,
               url: "//idena.navarra.es/ogc/wms",
               layerNames: "REDABA_Lin_Tuberia",
               filter: SITNA.filter.and(SITNA.filter.between("DIAMETRO",150,200),SITNA.filter.like("FABRICANTE","*tubo*")) 
            }
       ]
   });
</script>

<static> bbox( geometryName, extent [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico interseca un cuadro delimitador fijo.

Parámetros
Nombre Tipo Atributos Descripción
geometryName string

Nombre de la propiedad con valor geométrico a filtrar.

extent Array.<number>

Extensión por la cual filtrar.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la extensión.

Returns

Filtro <BBOX>


<static> between( propertyName, lowerBoundary, upperBoundary ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación para probar si un valor de expresión se encuentra dentro de un rango dado por un límite inferior y superior (inclusive).

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

lowerBoundary number

Valor inferior.

upperBoundary number

Valor superior.

Returns

Filtro <PropertyIsBetween>


<static> contains( propertyName, geometry [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico contiene una geometría determinada.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de geometría a utilizar.

geometry SITNA.feature

Geometría usada como filtro.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la geometría.

Returns

Filtro <Contains>

Ejemplos

Ejemplo del uso de los filtros de comparación espacial <Contains>, <Disjoint>, <Dwithin>, <Insersects>Ver en vivo


<div id="mapa"></div>
<script>
       // Establecemos un layout simplificado apto para hacer demostraciones de controles.
       SITNA.Cfg.layout = "layout/ctl-container";
       // Añadimos el control de tabla de contenidos en la primera posición.
       SITNA.Cfg.controls.TOC = {
           div: "slot1"
       };
       var map = new SITNA.Map("mapa", {
           // Mapa centrado de Pamplona
           initialExtent: [606239, 4738249, 614387, 4744409],            
           workLayers: [
               {
                   //Capa vectorial con los códigos postales que no contengan una coordenada en particular
                   id: "layer1",
                   title: "Códigos postales",
                   type: SITNA.Consts.layerType.WFS,
                   url: "//idena.navarra.es/ogc/wfs",
                   featureType: "DIRECC_Pol_CodPostal",
                   filter: SITNA.filter.disjoint("the_geom", new SITNA.feature.Point([609934, 4740855]))
               },
               {
                   //Capa raster con los códigos postales que contengan una coordenada en particular
                   id: "layer2",
                   title: "Códigos postales 2",
                   type: SITNA.Consts.layerType.WMS,
                   url: "//idena.navarra.es/ogc/wms",
                   layerNames: "DIRECC_Pol_CodPostal",
                   filter: SITNA.filter.contains("the_geom", new SITNA.feature.Point([609934, 4740855]))
               },
              {
                   //Capa vectorial con los edificios religiosos dentro de un polígono dado y incluyendo un buffer de 100 metros
                   id: "layer3",
                   title: "Edificios religiosos",
                   type: SITNA.Consts.layerType.WFS,
                   url: "//idena.navarra.es/ogc/wfs",
                   featureType: "DOTACI_Sym_EdifReligi",
                   filter: SITNA.filter.dwithin("the_geom", new SITNA.feature.Polygon([
                       [610290, 4741582],
                       [611092, 4741841],
                       [611359, 4741451],
                       [610623, 4741152],
                       [610290, 4741582]
                   ]), 100)
               },
               {
                   //Capa raster con los tramos de carril bici que intersecan una línea dada.
                   id: "layer4",
                   title: "Red movilidad ciclista",
                   type: SITNA.Consts.layerType.WMS,
                   url: "//idena.navarra.es/ogc/wms",
                   layerNames: "INFRAE_Lin_TrazadoSIGMC",
                   filter: SITNA.filter.intersects("the_geom", new SITNA.feature.Polyline([[608947, 4740938], [610807, 4740202]]))
               }
           ]
       });
   </script>

<static> disjoint( propertyName, geometry [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico es disjunta con una geometría dada.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de geometría a utilizar.

geometry SITNA.feature

Geometría usada como filtro.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la geometría.

Returns

Filtro <Disjoint>


<static> dwithin( propertyName, geometry, distance [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico está dentro de una distancia con respecto a una geometría determinada.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de geometría a utilizar.

geometry SITNA.feature

Geometría usada como filtro.

distance number

Distancia.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la geometría.

Returns

Filtro <Dwithin>


<static> equalTo( propertyName, expression [, matchCase ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de la propiedad a comparar.

expression string | number

El valor a comparar.

matchCase boolen <optional>

Coincidencia de mayúsculas/minúsculas.

Returns

Filtro <PropertyIsEqualTo>


<static> greaterThan( propertyName, expression ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

expression number

El valor a comparar.

Returns

Filtro <PropertyIsGreaterThan>

Ejemplos

Ejemplo del uso de los filtros de comparacion binaria <greaterThan> y <LessThan> Ver en vivo


<div id="mapa"></div>
<script>
   // Establecemos un layout simplificado apto para hacer demostraciones de controles.
   SITNA.Cfg.layout = "layout/ctl-container";
   // Añadimos el control de tabla de contenidos en la primera posición.
   SITNA.Cfg.controls.TOC = {
       div: "slot1"
   };
   var map = new SITNA.Map("mapa", {
          workLayers: [
              {
                  //Estaciones meteorológicas automáticas cuya altitud sea mayor de 1000 metros
                  id: "layer1",
                  title: "Estaciones Meteorológicas Automáticas",
                  type: SITNA.Consts.layerType.WMS,
                  url: "//idena.navarra.es/ogc/wms",
                  layerNames: "METEOR_Sym_EstMetAuto",
                  filter: SITNA.filter.greaterThan("ALTITUD", 1000)
              },
              {
                  //Estaciones meteorológicas manuales cuya altitud sea sea menor de 700 metros
                  id: "layer2",
                  title: "Estaciones Meteorológicas Manuales",
                  type: SITNA.Consts.layerType.WMS,
                  url: "//idena.navarra.es/ogc/wms",
                  layerNames: "METEOR_Sym_EstMetManu",
                  filter: SITNA.filter.lessThan("ALTITUD", 700)
              }
          ]
      });
</script>

<static> greaterThanOrEqualTo( propertyName, expression ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

expression number

El valor a comparar.

Returns

Filtro <PropertyIsGreaterThanOrEqualTo>


<static> intersects( propertyName, geometry [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico intersecta una geometría determinada.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de geometría a utilizar.

geometry SITNA.feature

Geometría usada como filtro.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la geometría.

Returns

Filtro <Intersects>


<static> isNull( propertyName ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación para probar si un valor de propiedad es nulo.

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

Returns

Filtro <PropertyIsNull>

Ejemplos

Ejemplo de uso de los filtros <IsNull> y <Not> Ver en vivo


<div id="mapa"></div>
<script>
      // Establecemos un layout simplificado apto para hacer demostraciones de controles.
      SITNA.Cfg.layout = "layout/ctl-container";
      // Añadimos el control de tabla de contenidos en la primera posición.
      SITNA.Cfg.controls.TOC = {
          div: "slot1"
      };
      var map = new SITNA.Map("mapa", {
          // Mapa centrado de Pamplona
          initialExtent: [606239, 4738249, 614387, 4744409],
          workLayers: [
              {
                  id: "layer1",
                  title: "Entidades de voluntariado",
                  type: SITNA.Consts.layerType.WMS,
                  url: "//idena.navarra.es/ogc/wms",
                  layerNames: "SOCIAL_Sym_EntVoluntariado",
                  filter: SITNA.filter.not(SITNA.filter.isNull("URLPDF"))
              }
          ]
      });
  </script>

<static> lessThan( propertyName, expression ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

expression number

El valor a comparar.

Returns

Filtro <PropertyIsLessThan>


<static> lessThanOrEqualTo( propertyName, expression ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Descripción
propertyName string

Nombre de la propiedad a comparar.

expression number

El valor a comparar.

Returns

Filtro <PropertyIsLessThanOrEqualTo>


<static> like( propertyName, pattern [, wildCard [, singleChar [, escapeChar [, matchCase ] ] ] ] ) → {SITNA.filter.Filter}

Descripción

Representa un operador de comparación que hace coincidir un valor de propiedad de cadena con un patrón de texto.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de la propiedad a comparar.

pattern string

Patrón de texto.

wildCard string <optional>

Carácter de patrón que coincide con cualquier secuencia de cero o más caracteres de cadena. El valor predeterminado es '*'.

singleChar string <optional>

Carácter de patrón que coincide con cualquier carácter de cadena simple. El valor predeterminado es '.'.

escapeChar string <optional>

Carácter de escape que se puede utilizar para escapar los caracteres del patrón. El valor predeterminado es '!'.

matchCase boolen <optional>

Coincidencia de mayúsculas/minúsculas.

Returns

Filtro <PropertyIsLike>


<static> not( condicion ) → {SITNA.filter.Filter}

Descripción

Representa un operador lógico para una condición de filtro.

Parámetros
Nombre Tipo Descripción
condicion SITNA.filter.Filter

Condición a negar.

Returns

Filtro <Not>


<static> notEqualTo( propertyName, expression [, matchCase ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador de comparación .

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de la propiedad a comparar.

expression string | number

El valor a comparar.

matchCase boolen <optional>

Coincidencia de mayúsculas/minúsculas.

Returns

Filtro <PropertyIsNotEqualTo>


<static> or( ...condiciones ) → {SITNA.filter.Filter}

Descripción

Crea un operador entre 2 o más condiciones de filtrado.

Parámetros
Nombre Tipo Atributos Descripción
condiciones SITNA.filter.Filter <repeatable>

Lista de condiciones de filtrado.

Returns

Filtro <Or>

Ejemplos

Ejemplo de contatenación de filtros mediante el operador lógico <Or> Ver en vivo


<div id="mapa"></div>
<script>
   // Establecemos un layout simplificado apto para hacer demostraciones de controles.
   SITNA.Cfg.layout = "layout/ctl-container";
   // Añadimos el control de tabla de contenidos en la primera posición.
   SITNA.Cfg.controls.TOC = {
       div: "slot1"
   };
   var map = new SITNA.Map("mapa", {
       // Mapa centrado de Pamplona
       initialExtent: [606239, 4738249, 614387, 4744409],
       workLayers: [ 
           {
               id: "layer1",
               title: "Edificios religiosos",
               type: SITNA.Consts.layerType.WFS,
               url: "//idena.navarra.es/ogc/wfs",
               featureType: "DOTACI_Sym_EdifReligi",
               outputFormat: SITNA.Consts.format.JSON,
               filter: SITNA.filter.or(
                 SITNA.filter.bbox("the_geom", [610327, 4741864, 611287, 4741088]),
                 SITNA.filter.equalTo("MUNICIPIO", "Barañáin / Barañain")
               )
            }
       ]
   });
</script>

<static> within( propertyName, geometry [, srsName ] ) → {SITNA.filter.Filter}

Descripción

Crea un operador para probar si una propiedad con valor geométrico está dentro de una geometría determinada.

Parámetros
Nombre Tipo Atributos Descripción
propertyName string

Nombre de geometría a utilizar.

geometry SITNA.feature

Geometría usada como filtro.

srsName string <optional>

Nombre del sistema de referencia de las coordenadas de la geometría.

Returns

Filtro <Within>