JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1792
  • Score
    100M100P100Q13691F

Creates filtering function for vector tile features

Package Exports

  • feature-filter

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (feature-filter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Filter

Filter expressions are used to target specific data in a layer. This library implements the semantics specified by the Mapbox GL JS spec.

API

featureFilter(filter)

Given a filter expressed as nested arrays, return a new function that evaluates whether a given feature (with a .properties or .tags property) passes its test.

Parameters

parameter type description
filter Array mapbox gl filter

Returns Function, filter-evaluating function

Usage

var ff = require('feature-filter');

// will match a feature with class of street_limited,
// AND an admin_level less than or equal to 3,
// that's NOT a polygon.
var filter = [
    "all",
    ["==", "class", "street_limited"],
    ["<=", "admin_level", 3],
    ["!=", "$type", "Polygon"]
]

// will match a feature that has a class of
// wetland OR wetland_noveg.
// ["in", "class", "wetland", "wetland_noveg"]

// testFilter will be a function that returns a boolean
var testFilter = ff(filter);

// Layer feature that you're testing. Must have type
// and properties keys.
var feature = {
    type: 2,
    properties: {
       class: "street_limited"
       admin_level: 1
    }
};

// will return a boolean based on whether the feature matched the filter
return testFilter(feature);