Creates filtering function for features

Downloads in past


211.2.013 days ago4 years agoMinified + gzip package size for @maptalks/feature-filter in KB



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


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.


| parameter | type | description | | --------- | ----- | ---------------- | | filter | Array | mapbox gl filter | Returns Function, filter-evaluating function


``` javascript var ff = require('feature-filter'); // will match a feature with class of streetlimited, // AND an adminlevel less than or equal to 3, // that's NOT a polygon. var filter =
["==", "class", "street_limited"],
["<=", "admin_level", 3],
["!=", "$type", "Polygon"]
// will match a feature that has a class of // wetland OR wetlandnoveg. // "in", "class", "wetland", "wetlandnoveg" // 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); ```