feature-filter-geojson-vt
v3.0.0
Published
Creates filtering function for geojson-vt vector tile features
Downloads
2
Readme
feature-filter-geojson-vt
This library is forked from mapbox/feature-filter, but adapted to work with vector tiles generated by geojson-vt, which uses tags
instead of properties
, pending https://github.com/mapbox/geojson-vt/issues/80. 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 .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 tags keys.
var feature = {
type: 2,
tags: {
class: "street_limited"
admin_level: 1
}
};
// will return a boolean based on whether the feature matched the filter
return testFilter(feature);